Cloud applications are more and more featuring microservices as a design pattern, using related technologies (containerization, orchestration, continuous deployment, integration, and more) to speed up design, development, and operation. However, microservices are not bullet-proof: they increase design and management issues in the cloud adding to the mix all the intrinsic complexities of highly distributed systems. This addition can render ineffective all centralized management technologies like Docker or clustering systems like Swarm and Kubernetes. Conversely, autonomic and decentralized microservices management is still largely unexplored. We address this problem with Gru, an approach based on multiagent systems that adds an autonomic adaptation layer for microservice applications focusing on Docker, the de facto market leader in container technology. Gru is designed to support fully decentralized microservices management, and can be integrated with ease in dockerized applications, managing them with autonomic actions to satisfy application quality requirements. We evaluate Gru with a concrete case study showing autoscaling dockerized microservices matching variating and bursty workloads. Evaluation shows encouraging results for Gru autonomic management.
|Title of host publication||Microservices|
|Subtitle of host publication||Science and Engineering|
|Number of pages||40|
|Publication status||Published - 2020|