{"title":"Self-adaptation in Microservice Architectures: A Case Study","authors":"Sree Ram Boyapati, Claudia Szabo","doi":"10.1109/ICECCS54210.2022.00014","DOIUrl":null,"url":null,"abstract":"Most software companies deploy microservices be-hind API Gateways or load balancers to separate their business logic while at the same time serving their customers according to their SLAs. Today, internet companies serve an average of 150–200 million users efficiently in rapidly changing conditions, where autonomic self-adaptation solutions are critical. At such a large scale, self-adaptation has to address challenges related to high availability and reliability, in a variety of scenarios. In this industry experience report, we present the implementation of a self-adaptation approach for microservice architectures that can operate at a large scale and address availability and reliability concerns. Our prototype builds on current industry standards of observability tools used to track the system's internal state. We implement a lightweight MAPE-K loop that reduces the time taken to add self-adaptability and the total cost of ownership. Our case study focuses on dynamic rate limiting, where the implementation of our architecture was able to trigger and execute self-adaptation in under 1 second. We present our architecture, an overview of our prototype implementation and suite of tools used, and discuss our empirical observations.","PeriodicalId":344493,"journal":{"name":"2022 26th International Conference on Engineering of Complex Computer Systems (ICECCS)","volume":"143 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"4","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2022 26th International Conference on Engineering of Complex Computer Systems (ICECCS)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICECCS54210.2022.00014","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 4
Abstract
Most software companies deploy microservices be-hind API Gateways or load balancers to separate their business logic while at the same time serving their customers according to their SLAs. Today, internet companies serve an average of 150–200 million users efficiently in rapidly changing conditions, where autonomic self-adaptation solutions are critical. At such a large scale, self-adaptation has to address challenges related to high availability and reliability, in a variety of scenarios. In this industry experience report, we present the implementation of a self-adaptation approach for microservice architectures that can operate at a large scale and address availability and reliability concerns. Our prototype builds on current industry standards of observability tools used to track the system's internal state. We implement a lightweight MAPE-K loop that reduces the time taken to add self-adaptability and the total cost of ownership. Our case study focuses on dynamic rate limiting, where the implementation of our architecture was able to trigger and execute self-adaptation in under 1 second. We present our architecture, an overview of our prototype implementation and suite of tools used, and discuss our empirical observations.