Now that the cloud application concepts and its challenges are defined, let's get straight to the point and talk about the design patterns used for the implementation of a cloud architecture:
- Composite application (microservices)
- Abstraction
- Twelve-factor
- API Gateway
- Service registry
- Config server
- Circuit breaker
In Chapter 7, Microservice Patterns, we demonstrated the advantages (and disadvantages) of decomposing an application into functions and taking several benefits from this pattern, always aiming at the application business. In that chapter, it was established that a microservice-based architecture is characterized by decomposing the application into small, functional, independent components with a well-defined communication interface that is loosely-coupled.