Publication | Open Access
Improving microservice-based applications with runtime placement adaptation
95
Citations
34
References
2019
Year
Cluster ComputingDeployment StrategyResource OrchestrationResource UtilizationEngineeringMicroservices DesignRuntime AspectsCloud ComputingComputer ArchitectureComputer EngineeringSystems EngineeringμApp DeploymentComputer ScienceCloud Service AdaptationDeployment TechnologySystem SoftwareService-oriented ComputingRuntime Placement Adaptation
Microservices are widely used for scalable cloud applications, but complex microservice-based apps with many services make placement decisions critical, and current tools like Kubernetes offer limited placement control. This study identifies runtime factors affecting microservice placement and examines the challenges of reconfiguring microservice-based applications accordingly. The authors propose REMaP, an automatic placement adaptation mechanism that leverages microservice affinities and historical resource usage to manage deployment placement. Evaluation of the REMaP prototype shows it operates autonomically, reduces resource consumption, and significantly enhances application performance.
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.
| Year | Citations | |
|---|---|---|
1999 | 35.7K | |
1987 | 1K | |
2009 | 639 | |
2001 | 603 | |
2014 | 422 | |
2010 | 376 | |
2016 | 296 | |
2017 | 216 | |
2017 | 212 | |
2004 | 207 |
Page 1
Page 1