Self-managing cloud-native applications: Design, implementation, and experience

被引:54
作者
Toffetti, Giovanni [1 ]
Brunner, Sandro [1 ]
Blochlinger, Martin [1 ]
Spillner, Josef [1 ]
Bohnert, Thomas Michael [1 ]
机构
[1] Zurich Univ Appl Sci, Sch Engn, Serv Prototyping Lab Blog Zhaw Ch Icclab, CH-8401 Winterthur, Switzerland
来源
FUTURE GENERATION COMPUTER SYSTEMS-THE INTERNATIONAL JOURNAL OF ESCIENCE | 2017年 / 72卷
关键词
Micro services; Cloud-native applications; Container-based applications; Distributed systems; Auto-scaling; Health-management;
D O I
10.1016/j.future.2016.09.002
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Running applications in the cloud efficiently requires much more than deploying software in virtual machines. Cloud applications have to be continuously managed: (1) to adjust their resources to the incoming load and (2) to face transient failures replicating and restarting components to provide resiliency on unreliable infrastructure. Continuous management monitors application and infrastructural metrics to provide automated and responsive reactions to failures (health management) and changing environmental conditions (auto-scaling) minimizing human intervention. In the current practice, management functionalities are provided as infrastructural or third party services. In both cases they are external to the application deployment. We claim that this approach has intrinsic limits, namely that separating management functionalities from the application prevents them from naturally scaling with the application and requires additional management code and human intervention. Moreover, using infrastructure provider services for management functionalities results in vendor lock-in effectively preventing cloud applications to adapt and run on the most effective cloud for the job. In this paper we discuss the main characteristics of cloud native applications, propose a novel architecture that enables scalable and resilient self-managing applications in the cloud, and relate on our experience in porting a legacy application to the cloud applying cloud-native principles. (C) 2016 Elsevier B.V. All rights reserved.
引用
收藏
页码:165 / 179
页数:15
相关论文
共 24 条
[1]   Cloud monitoring: A survey [J].
Aceto, Giuseppe ;
Botta, Alessio ;
de Donato, Walter ;
Pescape, Antonio .
COMPUTER NETWORKS, 2013, 57 (09) :2093-2115
[2]  
[Anonymous], LARGE SCALE CLUSTER
[3]  
[Anonymous], IEEE T SERV COMPUT
[4]  
[Anonymous], 12 FACTOR APP
[5]  
[Anonymous], 2007, RELEASE IT DESIGN DE
[6]  
[Anonymous], 6 USENIX WORKSH HOT
[7]  
[Anonymous], 4 INT WORKSH CLOUDS
[8]   Quality-of-service in cloud computing: modeling techniques and their applications [J].
Ardagna, Danilo ;
Casale, Giuliano ;
Ciavotta, Michele ;
Perez, Juan F. ;
Wang, Weikun .
JOURNAL OF INTERNET SERVICES AND APPLICATIONS, 2014, 5 (01)
[9]   Containers and Cloud: From LXC to Docker to Kubernetes [J].
Bernstein, David .
IEEE CLOUD COMPUTING, 2014, 1 (03) :81-84
[10]   Borg, Omega, and Kubernetes [J].
Burns, Brendan ;
Grant, Brian ;
Oppenheimer, David ;
Brewer, Eric ;
Wilkes, John .
COMMUNICATIONS OF THE ACM, 2016, 59 (05) :50-57