Improving microservice-based applications with runtime placement adaptation
Microservices are a popular method to design scalable cloud-based applications. Microservice-based applications ( μ Apps) rely on message passing for communication and to decouple each microservice, allowing the logic in each service to scale independently. Complex μ Apps can contain hundreds of mic...
Saved in:
Published in | Journal of internet services and applications Vol. 10; no. 1; pp. 1 - 30 |
---|---|
Main Authors | , , , |
Format | Journal Article |
Language | English |
Published |
London
Springer London
01.12.2019
Sociedade Brasileira de Computação Brazilian Computing Society (SBC) |
Subjects | |
Online Access | Get full text |
Cover
Loading…
Summary: | Microservices are a popular method to design scalable cloud-based applications. Microservice-based applications (
μ
Apps) rely on message passing for communication and to decouple each microservice, allowing the logic in each service to scale independently.
Complex
μ
Apps can contain hundreds of microservices, complicating the ability of DevOps engineers to reason about and automatically optimize the deployment. In particular, the performance and resource utilization of a
μ
App depends on the placement of the microservices that compose it. However, existing tools for
μ
Apps, like Kubernetes, provide minimal ability to influence the placement and utilization of a
μ
App deployment.
In this paper, we first identify the runtime aspects of microservice execution that impact the placement of microservices in a
μ
App. We then review the challenges of reconfiguring a
μ
App based on these aspects. Our main contribution is an adaptation mechanism, named REMaP, to manage the placement of microservices in an
μ
App automatically. To achieve this, REMaP uses microservice affinities and resource usage history. We evaluate our REMaP prototype and demonstrate that our solution is autonomic, lowers resource utilization, and can substantially improve
μ
App performance. |
---|---|
Bibliography: | ObjectType-Article-1 SourceType-Scholarly Journals-1 ObjectType-Feature-2 content type line 14 |
ISSN: | 1867-4828 1869-0238 |
DOI: | 10.1186/s13174-019-0104-0 |