- This event has passed.
Thesis Colloquium(17 December, 2019): Resource Cost and Workflow Aware Sizing and Scaling of Microservices
Tue, 17 Dec 19 @ 11:00 AM -- 12:00 PM
Department of Computational and Data Sciences
M.Tech (Research) Colloquium
Speaker : Preyashi Agarwal
S.R. Number : 06-02-02-10-22-17-1-14746
Title : Resource Cost and Workflow Aware Sizing and Scaling of Microservices
Date & Time : 17 December 2019 (Tuesday), 11:00 AM
Venue : CADLAB Conference Room
Application development evolution has changed from moving through a single monolithic fragment of code within a file to encapsulated modular pieces using data and function abstractions to various techniques, different software architectures and design patterns. Generally majority of the software deployment strategies revolve around monolithic code executions. With the advent of service oriented architecture (SOA) and Cloud computing paradigm, the deployment aspect being factored in the design of software has recently emerged by way of micro-service based applications. This requirement is associated with the scalability aspect of an application and its readiness to exploit pay-by-use model in the cloud setups. In monolithic architecture, the application is a big, rigid combination of various business functionalities. Different use-cases of the application triggers execution flow through different functionalities. The problem in scaling such applications is evident when load dynamics for certain functions change where entire monolithic application has to be scaled to handle such demand variations. Further, workload characterization of such applications can be complex and intractable. To overcome the drawbacks, a recent trend towards microservice architecture is seen where they are small, independent, and loosely coupled services implementing business functionalities of the application. This architecture provides ease of deployment, agile independent scaling, and fault-tolerance. Scalability along with the agility in deployment using containers, allows microservices for faster instantiation. One of the key attributes in managing microservice based applications is the size of each micro-service and how it can be scaled. Any scaling strategy implemented under such scenarios needs to be quick for allowing scheduling decision making commensurate with container instantiations. In this architecture, sizing in both homogeneous and heterogeneous resources plays a key role to balance application performance and resource requirement, as workload demand varies.
The first part of this work provides insights into the importance of considering workload characterization in deciding the appropriate scaling strategy for a microservice in an application. The correlation of workload characterization, predicted workload demand and selection of right-sized microservice to minimize resource costs, is explored. Further, considering workload demand prediction beyond the current scheduling interval, allows making scaling decision in the current cycle keeping in view the workload pattern of near future. Details on how to use the insights of application characterization and workload trend for choosing an appropriate scaling strategy is also discussed.In this exploration, it is observed that workload characterization plays a key role for selecting the right size and scaling strategy in micro-service deployments.
The second part of the work is motivated by the fact that though microservices are independent of each other, they are still part of a single application. Microservice applications are architected such that the business functionalities are implemented by one or multiple microservices. Each such functionality is realized by a workflow chaining execution through different set of microservices, serving a particular request. This introduces dependencies among microservices of a set where any change in the demand rate of a microservice leads to a direct impact on the other microservices within a set. Any change in requests of one of the microservice, could lead to scaling of that microservice in the workflow which can in turn result in the scaling of other microservices in the set. This dependency could be charted by analyzing the workflow of a request. Such requests can have indirect dependencies among them based on the behaviour of the application usage patterns. Such patterns can then be used to find indirect dependencies among various sets of microservices, fulfilling different requests. This part of the work focuses on exploring such direct and indirect dependencies in order to find the resources required for scaling purposes.
The results obtained using the proposed heuristics for co-ordinated scaling of microservices in an application compared with commonly prevalent scaling strategies indicate sufficient improvement in provisioning cost minimization with improved SLA preservation.