What is a Microservice Architecture?
A microservice architecture is an architectural approach to designing large applications as modular microservices. That means that the business functionality is decomposed into a set of individual, self-contained services that communicate with each other via an API. This type of architecture deviates from central and coordinated deployment in that each microservice is deployed in its own runtime such as a Virtual Machine on a Cloud or a Container within a Virtual Machine. As a result, companies are able to scale individual services independent of other components given that these containers can be configured to automatically replicate and increase the computing capacity. By splitting an application into smaller services and decoupling interdependencies, companies discover greater agility and flexibility. This architectural style also works well with automating the build-deploy-release cycles for continuous deployment and DevOps model.