A microservices architecture is an architectural approach that breaks applications into individual independent (micro)services, with each service focused on a specific functionality. These services work together closely, appearing to the end user as a single entity. Applications are made up of different parts, each responsible for a specific capability. Demand for a particular functionality will not necessarily increase or decrease with demand for other app parts.
Benefits of a microservices architecture
Separating functionality into different microservices makes them easier to deploy, update, and scale independently. While a microservices architecture solves many problems, it also creates operational overhead because the things you need to deploy and keep track of increase by order of magnitude. Other cloud native technologies like an Observability framework is designed to address this challenge.
Ribbon’s cloud native session border controller and cloud native policy & routing server have both been re-architected as microservices to fully embrace the advantages of a cloud native architecture and cloud native operational processes.