Small loosely coupled software components allow fast system evolution. It means the code is not hard-wired to any of the infrastructure components, so that any component can be easily scaled up and down, disabled and enabled on demand. New functionality is deployed to production without downtime and it doesn’t affect the performance of the entire system.
Built according to Reactive manifesto with emphasis on developing responsive, resilient and scalable systems.
Containers allow to package and isolate applications with their entire runtime environment. This ensures easy and fast transfer of the contained application between different environments (dev, test, production, etc.). So that, time to market is significantly improved.