Typical monolithic applications are built using different layers—a user interface (UI) layer, a business layer, and a persistence layer. A central idea of a microservices architecture is to split functionalities into cohesive “verticals”—not by technological layers, but by implementing a specific domain. Figure 1 depicts a reference architecture for a typical microservices application on AWS.
![Typical microservices application on AWS](https://docs.aws.amazon.com/zh_cn/whitepapers/latest/microservices-on-aws/images/image2.png)