Reader small image

You're reading from  Practical Site Reliability Engineering

Product typeBook
Published inNov 2018
PublisherPackt
ISBN-139781788839563
Edition1st Edition
Right arrow
Authors (3):
Pethuru Raj Chelliah
Pethuru Raj Chelliah
author image
Pethuru Raj Chelliah

 Pethuru Raj Chelliah (PhD) works as the chief architect at the Site Reliability Engineering Center of Excellence, Reliance Jio Infocomm Ltd. (RJIL), Bangalore. Previously, he worked as a cloud infrastructure architect at the IBM Global Cloud Center of Excellence, IBM India, Bangalore, for four years. He also had an extended stint as a TOGAF-certified enterprise architecture consultant in Wipro Consulting services division and as a lead architect in the corporate research division of Robert Bosch, Bangalore. He has more than 17 years of IT industry experience.
Read more about Pethuru Raj Chelliah

Shreyash Naithani
Shreyash Naithani
author image
Shreyash Naithani

Shreyash Naithani is currently a site reliability engineer at Microsoft R&D. Prior to Microsoft, he worked with both start-ups and mid-level companies. He completed his PG Diploma from the Centre for Development of Advanced Computing, Bengaluru, India, and is a computer science graduate from Punjab Technical University, India. In a short span of time, he has had the opportunity to work as a DevOps engineer with Python/C#, and as a tools developer, site/service reliability engineer, and Unix system administrator. During his leisure time, he loves to travel and binge watch series.
Read more about Shreyash Naithani

Shailender Singh
Shailender Singh
author image
Shailender Singh

Shailender Singh is a principal site reliability engineer and a solution architect with around 11 year's IT experience who holds two master's degrees in IT and computer application. He has worked as a C developer on the Linux platform. He had exposure to almost all infrastructure technologies from hybrid to cloud-hosted environments. In the past, he has worked with companies including Mckinsey, HP, HCL, Revionics and Avalara and these days he tends to use AWS, K8s, Terraform, Packer, Jenkins, Ansible, and OpenShift.
Read more about Shailender Singh

View More author details
Right arrow

Chapter 3. Microservice Resiliency Patterns

It is an overwhelmingly recognized fact that businesses across the globe can easily attain the elusive goal of reliability by putting highly reliable IT systems in place, as IT is the most direct and greatest business-enabler. However, producing reliable IT systems is beset with a number of challenges and concerns, since IT complexity is consistently on the rise due to the heightened heterogeneity and the growing multiplicity of various information technologies and tools. There have been various approaches, best practices, optimization techniques, patterns, and algorithms recommended by subject matter experts (SMEs) and accomplished architects for consistently moderating IT complexity and for producing reliable IT systems in plenty. Resiliency and elasticity are the top two ingredients for having reliable systems. In other words, business workloads and IT services have to be elegantly resilient and elastic to be reliable in their operations, offerings...

Briefing microservices and containers


Microservices are API-enabled, self-contained, loosely coupled, and fine-grained services. MSA represents a high-level architectural style for composing microservices-centric enterprise-grade applications. MSA is a direct and distinct off-shoot of the service oriented architecture (SOA) paradigm to surmount the various SOA drawbacks. Luminaries and pundits, based on their vast experiences with service-oriented enterprise, embedded, and cloud applications, have brought in this new paradigm, which is rapidly sweeping the whole IT industry. MSA brings forth a number of unique business technologies and user benefits. Business systems are greatly empowered to be flexible and extensible through the incorporation of the various MSA characteristics. MSA are typically business-centric to realize next-generation business applications in a configurable, customizable, and composable manner. MSA ultimately provides the relevant capability for the swift and risk-free...

IT reliability challenges and solution approaches


A resilient application keeps processing data and doing transactions, even when one or more components of the application fail due to an internal or external reason. That is, when a software system is under attack, the system has to find a way out to survive or to come back to the original state quickly. Therefore, it is imperative that every complicated and mission-critical system has to be designed, developed, and deployed using the most applicable resiliency properties. In other words, a system that is not designed with resiliency as the core feature is bound to fail at some point. For the forthcoming IoT, blockchain, and AI-enabled digital transformation and intelligence era, resilient IT infrastructures, platforms, and software applications are the most important ingredients to attain the intended and envisaged success. Let's digress a bit and discuss why this is so.

Highly distributed environments pose new challenges—centralized computing...

The promising and potential approaches for resiliency and reliability


Resiliency patterns are good to a certain extent in providing the required resiliency. In this section, we will be focusing on the various aspects of establishing and enforcing the mandated resiliency.

MSA is the prominent way forward

With the faster proliferation of mobile, wearable, portable, nomadic, wireless, and various other I/O devices, the users are demanding ubiquitous access to various applications, services, data sources, and content. For realizing sophisticated applications, not only the pervasive access but also the easy and quick leverage of data and services is essential. That means software applications and services ought to be made available all the time. Even if there is an attack on one or more services, the system has to continuously function by tolerating all kinds of faults, failures, and mishaps. If the application is under a heavy load, then the system has to scale up or out accordingly to respond...

Summary


IT reliability contributes immensely to business reliability. IT reliability is being achieved through resilient and elastic IT systems (both software and hardware). With the quicker adoption of microservices architecture, the realization of resilient and elastic software systems is being made easy. Microservices are being touted as the best-in-class application building block, and hence there are enabling patterns for microservices development, deployment, integration, and operations.

In the next chapter, we will focus on DevOps under Site Reliability Engineering (SRE), since as automation and DevOps play a big role in the SRE journey.

lock icon
The rest of the chapter is locked
You have been reading a chapter from
Practical Site Reliability Engineering
Published in: Nov 2018Publisher: PacktISBN-13: 9781788839563
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
undefined
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at €14.99/month. Cancel anytime

Authors (3)

author image
Pethuru Raj Chelliah

 Pethuru Raj Chelliah (PhD) works as the chief architect at the Site Reliability Engineering Center of Excellence, Reliance Jio Infocomm Ltd. (RJIL), Bangalore. Previously, he worked as a cloud infrastructure architect at the IBM Global Cloud Center of Excellence, IBM India, Bangalore, for four years. He also had an extended stint as a TOGAF-certified enterprise architecture consultant in Wipro Consulting services division and as a lead architect in the corporate research division of Robert Bosch, Bangalore. He has more than 17 years of IT industry experience.
Read more about Pethuru Raj Chelliah

author image
Shreyash Naithani

Shreyash Naithani is currently a site reliability engineer at Microsoft R&D. Prior to Microsoft, he worked with both start-ups and mid-level companies. He completed his PG Diploma from the Centre for Development of Advanced Computing, Bengaluru, India, and is a computer science graduate from Punjab Technical University, India. In a short span of time, he has had the opportunity to work as a DevOps engineer with Python/C#, and as a tools developer, site/service reliability engineer, and Unix system administrator. During his leisure time, he loves to travel and binge watch series.
Read more about Shreyash Naithani

author image
Shailender Singh

Shailender Singh is a principal site reliability engineer and a solution architect with around 11 year's IT experience who holds two master's degrees in IT and computer application. He has worked as a C developer on the Linux platform. He had exposure to almost all infrastructure technologies from hybrid to cloud-hosted environments. In the past, he has worked with companies including Mckinsey, HP, HCL, Revionics and Avalara and these days he tends to use AWS, K8s, Terraform, Packer, Jenkins, Ansible, and OpenShift.
Read more about Shailender Singh