Search⌘ K
AI Features

A Look at Microservices

Discover how breaking applications into microservices improves focus, encapsulation, and scalability while introducing complexity in development, testing, deployment, and fault tolerance. Learn about communication methods, the importance of service interfaces, and strategies to manage service failures using circuit breakers.

We'll cover the following...

Microservices

Applications naturally grow and become too complex to manage easily. The impulse to break large applications into smaller, independent ones has been around a long time. Microservices are currently the most popular approach for this. However, long before microservices, there was SOA (service-oriented architecture).

Oftentimes, we need to break up larger functions into smaller ones with intention-revealing names, and then compose those functions back together to re-create the original behavior. We get the bigger picture from the recomposition, and we can dig into the details by looking at the individual functions. The same goes for breaking up large applications into services.

The key to this recomposition for services is communication. Since services are separate, they need an external mechanism to talk to each other. Most often, this is an HTTP request from one ...