Skip to content

Files

Latest commit

 

History

History
130 lines (45 loc) · 8.38 KB

mastering-service-mesh.md

File metadata and controls

130 lines (45 loc) · 8.38 KB

Mastering Service Mesh

> Home

Service mesh architecture

The control and data plane, when used together, form the service mesh: (link)

Service mesh overview

Smart endpoints: Service-to-service communication is done through the intelligent endpoints, which is a DNS record that resolves to a microservice. The use of DNS records facilitates one service to communicate with others, and this eliminates the load balancer between microservices (link)

Dumb pipes: Service-to-service communication uses basic network traffic protocols such as HTTP, REST, gRPC, and so on. This type of connection is opposed to a centralized smart pipe using the ESB/MQ of monolithic applications (link)

The service mesh concept is a significant shift from earlier versions of DevOps, where operations were limited to software release management. (link)

We can view a service mesh as a decoupling agent between Dev (provider) and Ops (consumer) (link)

Who owns the service mesh?

In a cloud-native environment, the service mesh has moved from Dev to Ops (link)

In the legacy world, service mesh models used to belong to developers during the times of monolithic applications and SOA/ESB applications. (link)

Service mesh rules

A perfect service mesh should establish the ORASTAR rules without having to code anything at the microservice level (link)

Useful terms

The circuit breaker breaks the connection between microservices following the detection of latency/faults (link)

Canary release is about a new version of a microservice available to a small subset of users in a production environment along with the old version (link)

Cloud-native infrastructure

Red Hat OpenShift, Cloud Foundry, Apache Mesos, and others fill the hybrid cloud model (link)

Service Mesh Architecture

Service mesh has gained popularity since 2017, and it is still a relatively young concept (link)

Who this book is for

This book covers the operation part of DevOps, and so is most suited for operational professionals who are responsible for managing microservices-based applications. (link)

Early pioneers

One nugget of wisdom from Jeff Bezos was two-pizza teams – individual teams shouldn't be larger than what two pizzas can feed (link)

Container orchestration platforms

Decoupling is the central theme of a container orchestration platform (link)

Red Hat integrated CoreOS with OpenShift starting with version 4.1 to provide a container orchestration platform for enterprises that has zero downtime. It's a self-updating operating system with Kubernetes++ (link)

Preface

A service mesh is a framework on top of a cloud-native microservices application. Istio, Linkerd, and Consul are all service mesh implementations. (link)

William Morgan, the creator of Linkerd, which is an incubating project at CNCF, coined the term service mesh. (link)

It assumes that you have prior knowledge of Docker and Kubernetes. As a developer, knowing Service-Oriented Architecture (SOA) and Enterprise Service Bus (ESB) patterns will be beneficial, but not mandatory. (link)

What is a microservice?

self-service model for the consumption of services (link)

The business logic, including inter-service communication, is done through smart endpoints and dumb pipes. This means that the centralized business logic of ESBs is now distributed among the microservices through smart endpoints, and a primitive messaging system or a dumb pipe is used for service-to-service communication using a lightweight protocol such as REST or gRPC. (link)

The microservices architecture eliminated the need for a centralized ESB (link)

The natural transition of SOA/ESB is toward microservices, in which services are decoupled from a monolithic ESB (link)

API Gateway

In the preceding diagram, the API gateway is used to expose the three-tier and SOA/ESB-based services in which the business logic contained in the ESB still hinders the development of the independent services (link)

An introduction to CNAs

One of the most popular cloud-native application development platforms is known as Red Hat OpenShift, a platform where we can focus on writing the business logic for the application. Containerization happens automatically, without having to write any code, while deployment (production or canary) occurs automatically through a CI/CD pipeline. (link)

Shifting Dev responsibilities to Ops

It is important to note that a proper service mesh implementation frees up developers, but it adds more responsibilities to operations (link)

The role of a developer ends with a commit process as they continue to focus on the implementation of business logic in the microservices. (link)

> Home