One of the most useful features of a microservices architecture is its versatility to scale horizontally. However, not all services scale in or out uniformly. The performance of an application composed of microservices depends largely on a suitable combination of replica count and resource capacity. In practice, this implies limitations to the efficiency of autoscalers which often overscale based on an isolated consideration of single service metrics. Consequently, application providers pay more than necessary despite zero gain in overall performance. Solving this issue requires an application-specific determination of scaling limits due to the general infeasibility of an application-agnostic solution. In this paper, we study microservices scalability, the auto-scaling of containers as microservice implementations and the relation between the number of replicas and the resulting application task performance. We contribute a replica count determination solution with a mathematical approach. Furthermore, we offer a calibration software tool which places scalability boundaries into declarative composition descriptions of applications ready to be consumed by cloud platforms.
For various motives such as routing around scheduled downtimes or escaping price surges, operations engineers of cloud applications are occasionally conducting zero-downtime live migrations. For monolithic virtual machine-based applications, this process has been studied extensively. In contrast, for composite microservice applications new challenges arise due to the need for a transactional migration of all constituent microservice implementations such as platform-specific lightweight containers and volumes. This paper outlines the challenges in the general heterogeneous case and solves them partially for a specialised inhomogeneous case based on the OpenShift and Kubernetes application models. Specifically, the paper describes our contributions in terms of tangible application models, tool designs, and migration evaluation. From the results, we reason about possible solutions for the general heterogeneous case.
As cloud computing technologies evolve to better support hosted software applications, software development businesses are faced with a multitude of options to migrate to the cloud. A key concern is the management of data. Research on cloud-native applications has guided the construction of highly elastically scalable and resilient stateless applications, while there is no corresponding concept for cloudnative databases yet. In particular, it is not clear what the trade-offs between using self-managed database services as part of the application and provider-managed database services are. We contribute an overview about the available options, a testbed to compare the options in a systematic way, and an analysis of selected benchmark results produced during the cloud migration of a commercial document management application.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.