Micro Services
We are in the era of cloud computing and many companies are already moving their processing workloads from bare metal deployments in to private or public cloud deployments. This transition is not only about taking existing deployments and move them into containerized one, but it's also a transition in solution architecture and in how things are operated. In particular, the paradigm of "micro services" fits particularly well into cloud deployments and operations.Â
To set the scene, what is a micro service? https://microservices.io/ summarizes the micro service architecture as follows:Â
...an architectural style that structures an application as a collection of services that are:
- Highly maintainable and testable
- Loosely coupled
- Independently deployable
- Organized around business capabilities
- Owned by a small teamÂ
These properties show what kind of values this architecture principle can bring to an organization in terms of processes, ways of working and structure.Â
If we look more into the technical side of a micro service architecture, we can identify other kinds of benefits. By deploying your solution in a micro service manner on a capable cloud native application platform, you can achieve benefits such as:Â
- Fully automated lifecycle controlÂ
- Controlled zero downtime upgradesÂ
- Adaptive and dynamic scaling (which gives you cost control and availability)Â
- Abstraction from underlying infrastructure (which gives you cloud environment agnostic systems)Â
- Clearly defined APIs and separation of concernsÂ
- An alignment with a rich ecosystem of cloud native operations toolsÂ