The microservice architectural style is an approach to developing a single application as a suite of small services focused on performing a certain business function. Each service functions in its own process and communicates with others using simple methods of integration interaction. These services may be written in different languages and apply different data storage technologies.
Application development based on the microservice architecture helps:
- To shorten the time to market due to the high speed and continuous implementation of the function. Independent (weakly dependent) components and the DevOps approach help to continuously implement the new functionality in small iterations.
- To ensure high reliability of the system. Physically independent components decrease the probability of a failure of the entire application due to a failure of a certain service.
- To reduce the cost of solution ownership. Flexible management of small components (microservices) ensures a high level of use of computing resources.
- To ensure resilient scalability. Scaling of individual components helps to work only with required services, if necessary.
Microservice applications need a Platform to host, scale, monitor and manage them:
- Docker is a platform for light container launching. It supports application registers and container assembly.
- Kubernetes controls the life cycle of containers. It describes the application and containers included in it. It controls container launching and scaling.
- OpenShift Origin is a PaaS platform based on Docker and Kubernetes. It provides a convenient infrastructure for DevOps organization: a user interface, collection of applications from the Git repository, an internal register for image storage.