# Enabling Role-Based Orchestration for Cloud Applications
###### Abstract  
With the rapidly growing popularity of cloud services, the cloud computing faces critical challenges to orchestrate the deployment and operation of cloud applications on heterogenous cloud platforms. Cloud applications are built on a platform model that abstracts away underlying platform-specific details, so that their orchestration can benefit from the abstract view and flexibility of the underlying platform configuration. However, considerable efforts are still required to properly manage complicated cloud applications. This paper proposes a model-driven approach to cloud application orchestration which promotes the concerns of distinct roles for cloud system provisioning and operation. By establishing a set of capabilities as modeling constructs, our approach allows TOSCA-based application topology itself and its orchestration needs to be specified in a way to provide a more targeted support for different needs and concerns of application developers and operators. With novel orchestration features like application topology description, platform capability modeling, and role-awareness for cloud application orchestration, it can significantly reduce the complexity of application orchestration in diverse cloud environments. To show the feasibility and effectiveness of our proposal for cloud application orchestration, we present a proof-of-concept orchestration system implementation and evaluate its deployment and orchestration results in a Kubernetes cluster.  
orchestration; TOSCA; model translation; role-based; capability-centric; Kubernetes +
Footnote †: journal: Medicalapplications built upon various capabilities, it becomes even worse because the task must deal with all the details of resources and capabilities' configurations [6].  
In general, DevOps practice involves two different roles of application developers and operators. Application developers are in charge of implementing their application logic, while application operators are responsible for keeping the implementation up and running properly. In this article, application builders are considered to play either of the two roles. Both groups make use of platform resources directly or capabilities built upon underlying resources to provide cloud applications. However, it is likely for them to find it challenging to identify what specific configuration points are relevant for their job. If they are left to perform their orchestration tasks solely on their own without any coordination, they may end up making conflicting decisions. Therefore, it is crucial to make a clear distinction among orchestration configurations from the perspective of roles, so that different roles can exist in a harmonious way to achieve the ultimate, shared goal of cloud-native applications' orchestration.  
This article proposes a model-driven cloud application orchestration approach which distinguishes the concerns of distinct roles for cloud system provisioning and operation. Each role's concerns are encapsulated into modeling constructs of our orchestration model which is built upon prominent standards for cloud application deployment and management. Irrelevant configurations are shielded from the role and taken care of automatically, which results in a significant reduction of the orchestration burden.  
The remainder of this paper is organized as follows. Section 2 summarizes key standard models for cloud application orchestration before presenting a sample orchestration scenario that motivates our work. Section 3 introduces our proposed approach and the architectural design of role-based, capability-centric orchestration system along with prototype implementation effort. Our evaluation study and its results are reported in Section 4. After discussing related work in Section 5, the paper concludes in Section 6.