Mastering Chaos

A Netflix Guide to Microservices

Call To Technology — Feb 2022

Josh Evans talks about the chaotic and vibrant world of microservices at Netflix.

What are microservices? 

Microservice architecture, aka microservices, are a specific method of designing software systems to structure a single application as a collection of loosely coupled services. Applications tend to begin as a monolithic architecture (more on that below), and over time grow into a set of interconnected microservices.
The main idea behind microservices is that some types of applications are easier to build and maintain when they are broken down into many small pieces that work together. Though the architecture has increased complexity, microservices still offer many advantages over the monolithic structure.
The concept of micro stems from the existing monolithic infrastructure most companies came up using, especially if the company has been around for a decade or longer. Instead of a monolithic architecture, each component of a microservice architecture has its own CPU, its own runtime environment, often, a dedicated team working on it, ensuring each service is distinct from one another

This architecture means each service can:
•    Run its own unique process
•    Communicate autonomously without having to rely on the other microservices or the application as a whole.

This ability to be separated and recombined protects the entire system against decay and better facilitates agile processes, making it appealing to organizations—especially those still utilizing monolithic infrastructures.

In the video below, Josh Evans from Netflix starts with the basics - the anatomy of a microservice, the challenges around distributed systems, and the benefits. Then, he builds on that foundation exploring the cultural, architectural, and operational methods that lead to microservice mastery.