CloudCAMP: A Model-driven Generative Approach for Automating Cloud Application Deployment and Management

TitleCloudCAMP: A Model-driven Generative Approach for Automating Cloud Application Deployment and Management
Publication TypeReport
Year of Publication2017
AuthorsBhattacharjee, A., Y. D. Barve, T. Kuroda, and A. Gokhale
InstitutionInstitute for Software Integrated Systems, Vanderbilt University
CityNashville
TypeReport
Report Number ISIS-17-105
Abstract

Businesses today are moving their infrastructure to the cloud environment to reduce their IT budgets and improve compliance to regulatory control. By using the cloud, industries also aim to deploy and deliver new applications and services rapidly with the ability to scale their applications horizontally and vertically to meet customer demands. Despite these trends, reliance on old school IT management and administration has left a legacy of poor manageability and inflexible infrastructure. In this realm, the DevOps community has made available various tools for deployment, management, and orchestration of complex, distributed cloud applications. Despite these modern trends, the continued reliance on old school IT management and administration methods have left a majority of developers lacking with the domain expertise to create, provision and manage complex IT environments using abstracted, script-centric approaches provided by DevOps tools. To address these challenges while emphasizing vendor-agnostic approaches for broader applicability, we present a model-driven generative approach that is compliant with the TOSCA specification where the users can model their business-relevant models, requiring only little domain expertise. In this context, the paper describes the metamodel of the domain-specific language that abstracts the business-relevant application requirements to generate the corresponding fully deployable infrastructure-as-code solutions, which can deploy, run, and manage the applications in the cloud environment. Our work is focused on realizing a high-performance deployment and management platform for cloud applications with an emphasis on extensibility, (re)usability, and scalability. We validate our approach by a prototypical application model and present a user study to evaluate its relevance.

Short TitleCloudCAMP
AttachmentSize
CloudCAMP.pdf1.06 MB