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 9. Service Resiliency

There is a seamless and spontaneous convergence between containers and microservices. This distinctive linkage brings forth a number of strategic advantages for worldwide businesses in accomplishing more with less. Containers are being positioned as the most appropriate packaging and runtime mechanism for microservices and their redundant instances. Subsequently, microservices are meticulously containerized, tested, curated, and stocked in publicly available container image repositories. Now, with the widespread acceptance of Kubernetes as the leading container cluster and orchestration platform, cloud environments comprising millions of containers (hosting microservices) are being speedily set up and sustained. That is, containers are being insightfully managed by Kubernetes to be hugely constructive and contributive for business automation and acceleration. Kubernetes has laid down a stimulating foundation for creating multi-container composite applications...

Delineating the containerization paradigm


Containers have emerged as the efficient runtime and resource for cloud applications (both cloud-enabled and native). Containers are comparatively lightweight, and hence hundreds of containers can be made to run on a physical or a virtual machine. There are other technical benefits such as horizontal scalability and portability. Containers almost guarantee the performance of physical machines. Near-time scalability is seeing the reality with the faster maturity and stability of the enigmatic containerization paradigm.

The ecosystem of containerization movement is growing rapidly, and hence containers are being positioned as the perfect way forward to attain the originally envisaged benefits of cloudification.

Containers are being positioned as the most appropriate resource and runtime to host and execute scores of microservices and their instances. The container monitoring, measurement, and management requirements are being sped up with the availability...

Demystifying microservices architecture 


Lately, microservices architecture (MSA) is gaining a lot of mind and market shares. Monolithic and massive applications are being continuously dismantled to be a pool of easily manageable and composable microservices. Application development and maintenance (ADM) service providers know the perpetual difficulties of building and sustaining legacy applications, which are closed, inflexible, and expensive. The low utilization and reuse are other drawbacks. Enabling them to be web, mobile, and cloud ready is beset with a number of practical challenges. Modernizing and migrating legacy applications to embrace newer technologies and to run them in optimized IT environments consumes a lot of time, talent, and treasure. Software development takes the agile route to bring forth business value in the shortest possible time. Software delivery and deployment are getting equally sped up through the DevOps concept, which is being facilitated through a host of...

Decoding the growing role of Kubernetes for the container era


Kubernetes is a portable and extensible open source platform for managing containerized workloads. Kubernetes automates the end-to-end container life cycle management activities. Configuration requirements are aptly declared, and a host of automation modules of the Kubernetes platform are working together in realizing the desired state. Having understood the strategic importance of Kubernetes, like cluster and orchestration platforms in effectively and efficiently running containers in cloud environments, we can see that tool ecosystem is growing fast. Containers, being the favorite runtime to host and execute microservices, are turning out to be the most tuned resource for the cloud era. For automating the container creation, running, dismantling, stopping, replacing, and replicating the contributions of container cluster and orchestration platform are growing well.

Kubernetes (k8s) eliminates many of the manual activities for...

Describing the service mesh concept


Services ought to be meshed to be versatile, robust, and resilient in their interactions. For an ever-growing microservices world, service mesh-enablement through automated toolkits is being widely recommended. Thus, we come across a number of service mesh solutions that are becoming extremely critical for producing and sustaining both cloud-native and enabled applications. Microservices are turning out to be the most competent building blocks and the units of deployment for enterprise-grade business applications. Because of the seamless convergence of containers and microservices, the activities of continuous integration, delivery, and deployment gets simplified and sped up. As described previously, the Kubernetes platform comes in handy when automating the container life cycle management tasks. Thereby, it is clear that the combination of microservices, containers, and Kubernetes, the market-leading container clustering, orchestration, and management...

Why is service mesh paramount?


There are a few compelling reasons and causes for the successful introduction and the runaway success of service mesh solutions. Microservices has emerged and evolved as the most appropriate building block for enterprise-grade applications and the optimal unit of application deployment. Furthermore, deploying a number of microservices rather than big monolith applications gives developers the much-needed flexibility to work in different programming languages, application development frameworks, rapid application development (RAD) tools, and release cadence across the system. This transition is resulting in higher productivity and agility, especially for larger teams.

There are challenges as well. The problems that had to be solved once for a monolith, such as security, load balancing, monitoring, and rate limiting, need to be tackled for each microservice. Many companies run internal load balancers that take care of routing traffic between microservices. The...

Service mesh architectures


There are a couple of choices for leveraging the service mesh solutions. A service mesh solution can be presented as a library so that any microservices-centric application can import and use it on demand. We are used to import programming language packages, libraries, and classes in a typical application building and execution. Libraries such as Hystrix and Ribbon are well-known examples of this approach. This works well for applications that are exclusively written in one language.

There is a limited adoption of this library approach as microservicecs-centric applications are being coded using different languages. There are other approaches too, which are explained as follows:

Node agent: In this architecture, there is a separate agent running on every node. This setup can service a heterogeneous mix of workloads. It is just the opposite of the library model. Linkerd's recommended deployment in Kubernetes works like this. F5's Application Service Proxy (ASP) and...

Summary


Containers have definitely simplified how we build, deploy, and manage software applications by abstracting the underlying infrastructure. That is, developers just focus and develop software applications. Then, the developed applications get packaged in a standardized fashion, and shipped and deployed on any system without any hitches and hurdles. They can run on local systems as well as remote systems. With clouds emerging as the one-stop IT infrastructure solution for running and managing all kinds of enterprise, web, cloud, mobile, and IoT applications, applications are being containerized and deployed in cloud environments, through a host of automated tools. However, there is a need for a number of automated tools to automate the end-to-end activities of application development, integration, delivery, and deployment. Furthermore, an application's availability, scalability, adaptivity, stability, maneuverability, and security have to be ensured through technologically inspired...

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