Book Image

Practical Site Reliability Engineering

By : Pethuru Raj Chelliah, Shreyash Naithani, Shailender Singh
Book Image

Practical Site Reliability Engineering

By: Pethuru Raj Chelliah, Shreyash Naithani, Shailender Singh

Overview of this book

Site reliability engineering (SRE) is being touted as the most competent paradigm in establishing and ensuring next-generation high-quality software solutions. This book starts by introducing you to the SRE paradigm and covers the need for highly reliable IT platforms and infrastructures. As you make your way through the next set of chapters, you will learn to develop microservices using Spring Boot and make use of RESTful frameworks. You will also learn about GitHub for deployment, containerization, and Docker containers. Practical Site Reliability Engineering teaches you to set up and sustain containerized cloud environments, and also covers architectural and design patterns and reliability implementation techniques such as reactive programming, and languages such as Ballerina and Rust. In the concluding chapters, you will get well-versed with service mesh solutions such as Istio and Linkerd, and understand service resilience test practices, API gateways, and edge/fog computing. By the end of this book, you will have gained experience on working with SRE concepts and be able to deliver highly reliable apps and services.
Table of Contents (19 chapters)
Title Page
Dedication
About Packt
Contributors
Preface
10
Containers, Kubernetes, and Istio Monitoring
Index

Preface

Increasingly, enterprise-scale applications are being hosted and managed in software-defined cloud environments. As cloud technologies and tools are quickly maturing and stabilizing, cloud adoption as the one-stop IT solution for producing and running all kinds of business workloads is rapidly growing across the globe. However, there are a few crucial challenges in successfully running cloud centers (public, private, hybrid, and edge). The aspects of automation and orchestration are being lauded as the way forward to surmount the challenges that are brewing in operating clouds and for realizing the originally envisioned benefits of the cloud idea. The widely expressed concern associated with the cloud is reliability (resiliency and elasticity). The other noteworthy trend is the emergence of web-scale and mobile-enabled operational, transactional, and analytical applications. It is therefore essential to ensure the stability, fault tolerance, and high availability of data and process-intensive applications as far as possible. The reliability concern is being overwhelmingly tackled through the smart leveraging of pioneering technologies.

This book is articulating and accentuating how a suite of breakthrough technologies and tools blend well to ensure the highest degree of reliability, not only for professional and personal applications, but also for cloud infrastructures. Let's envisage and embrace reliable systems.

Who this book is for

Practical Site Reliability Engineering helps software developers, IT professionals, DevOps engineers, performance specialists, and system engineers understand how the emerging domain of Site Reliability Engineering (SRE) comes in handy in automating and accelerating the process of designing, developing, debugging, and deploying highly reliable applications and services.

What this book covers

Chapter 1, Demystifying the Site Reliability Engineering Paradigm, includes the new SRE domain and the need for SRE patterns, platforms, practices, programming models and processes, enabling frameworks, appropriate technologies, techniques, tools, and tips.

Chapter 2, Microservices Architecture and Containers, introduces concepts such as containerization, microservice architecture (MSA), and container management and clustering, which contribute to the realization of reliable applications and environments.

Chapter 3, Microservice Resiliency Patterns, covers DevOps under SRE since automation and DevOps play a big role in the SRE journey.

Chapter 4, DevOps as a Service, focuses on various microservice resiliency patterns that intrinsically and insightfully enable the design, development, debugging, delivery, and deployment of reliable systems. 

Chapter 5, Container Cluster and Orchestration Platforms, provides a detailed explanation of the preceding technologies for ensuring the goals of SRE. 

Chapter 6, Architectural and Design Patterns, explains how architecture and design are the ultimate building blocks during service or microservice development, giving you clarity and direction to implement any logic in the cloud era.

Chapter 7, Reliability Implementation Techniques, gives a guarantee that the future is bright and makes us optimistic that things are going to change in the cloud era.

Chapter 8Realizing Reliable Systems – the Best Practices, includes the best practices arising from the expertise, experience, and education of site reliability engineers, DevOps people, and cloud engineers.

Chapter 9, Service Resiliency, explains all about the platforms for container enablement and orchestration purposes.

Chapter 10Containers, Kubernetes, and Istio Monitoring, covers how we can monitor applications or services running on clusters, pods, and Kubernetes using Prometheus and Grafana.

Chapter 11Post-Production Activities for Ensuring and Enhancing IT Reliability, look at the various activities to be performed in order to prevent any kind of disaster, so as to fully guarantee the SLAs agreed with customers, clients, and consumers.

Chapter 12, Service Meshes and Container Orchestration Platforms, conveys what and why the multi-cloud approach is gaining unprecedented market and mind shares. 

To get the most out of this book

Readers have to have a basic knowledge of cloud infrastructure, Docker containers, MSA, and DevOps.

Download the example code files

You can download the example code files for this book from your account at www.packt.com. If you purchased this book elsewhere, you can visit www.packt.com/support and register to have the files emailed directly to you.

You can download the code files by following these steps:

  1. Log in or register at www.packt.com.
  2. Select the SUPPORT tab.
  3. Click on Code Downloads & Errata.
  4. Enter the name of the book in the Search box and follow the onscreen instructions.

Once the file is downloaded, please make sure that you unzip or extract the folder using the latest version of:

  • WinRAR/7-Zip for Windows
  • Zipeg/iZip/UnRarX for Mac
  • 7-Zip/PeaZip for Linux

The code bundle for the book is also hosted on GitHub at https://github.com/PacktPublishing/Practical-Site-Reliability-Engineering. In case there's an update to the code, it will be updated on the existing GitHub repository.

We also have other code bundles from our rich catalog of books and videos available at https://github.com/PacktPublishing/. Check them out!

Download the color images

We also provide a PDF file that has color images of the screenshots/diagrams used in this book. You can download it here: https://www.packtpub.com/sites/default/files/downloads/9781788839563_ColorImages.pdf.

Conventions used

There are a number of text conventions used throughout this book.

CodeInText: Indicates code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles. Here is an example: "Create a file using vim and run the hello.bal command:"

A block of code is set as follows:

fn main()
{
panic!("Something is wrong... Check for Errors");
}

When we wish to draw your attention to a particular part of a code block, the relevant lines or items are set in bold:

import ballerina/config;
import ballerina/io;
import wso2/twitter;
endpoint http:Listener listener {
port:9090
}

Any command-line input or output is written as follows:

$ apex deploy auth
$ apex deploy auth api

Bold: Indicates a new term, an important word, or words that you see on screen. For example, words in menus or dialog boxes appear in the text like this. Here is an example: "We can click on Istio Mesh Dashboard to see the global request volume and look at our success and failure rate."

Note

Warnings or important notes appear like this.

Note

Tips and tricks appear like this.

Get in touch

Feedback from our readers is always welcome.

General feedback: If you have questions about any aspect of this book, mention the book title in the subject of your message and email us at [email protected].

Errata: Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you have found a mistake in this book, we would be grateful if you would report this to us. Please visit www.packt.com/submit-errata, selecting your book, clicking on the Errata Submission Form link, and entering the details.

Piracy: If you come across any illegal copies of our works in any form on the internet, we would be grateful if you would provide us with the location address or website name. Please contact us at [email protected] with a link to the material.

If you are interested in becoming an author: If there is a topic that you have expertise in, and you are interested in either writing or contributing to a book, please visit authors.packtpub.com.

Reviews

Please leave a review. Once you have read and used this book, why not leave a review on the site that you purchased it from? Potential readers can then see and use your unbiased opinion to make purchase decisions, we at Packt can understand what you think about our products, and our authors can see your feedback on their book. Thank you!

For more information about Packt, please visit packt.com.