Performance Modeling of Microservice Platforms Considering the Dynamics of the underlying Cloud Infrastructure
Microservice architecture has transformed the way developers are building and deploying applications in nowadays cloud computing centers. This new approach provides increased scalability, flexibility, manageability and performance while reduces the complexity of the whole software development life cycle; The increased cloud resource utilization also benefits microservice providers. Various microservice platforms have emerged to facilitate the DevOps of containerized services by providing the ability of continuous integration and delivery. Microservice platforms deploy application containers on virtual or physical machines provided by public/private cloud infrastructures in a seamless manner. In this paper, we study and evaluate the provisioning performance of microservice platforms by incorporating the details of all layers (ie, both micro and macro layers) in the modeling process. To this end, we first build a microservice platform on top of Amazon EC2 cloud and then leverage it to develop a comprehensive performance model to perform what-if analysis and capacity planning for microservice platforms at scale. In other words, the proposed performance model provides a systematic approach to measure the elasticity of the microservice platform by analyzing the provisioning performance at both microservice platform and the back-end macroservice infrastructure.