ENHANCING CLOUD APPLICATION DEVOPS USING DYNAMICALLY TAILORED DEPLOYMENT ENGINES
Shortening software release cycles increasingly becomes a critical competitive advantage as today's users, customers, and other stakeholders expect quick responses to occurring issues and feature requests. DevOps practices and Cloud computing are two key paradigms to tackle these issues by enabling rapid and continuous delivery of applications, utilizing automated software delivery pipelines. However, it is a complex and sophisticated challenge to implement such pipelines by installing, configuring, orchestrating, and integrating the required deployment automation solutions. Therefore, we present a method in conjunction with a framework and implementation to dynamically generate tailored deployment automation engines for specific application stacks, which are packaged in a portable manner to run them on various platforms and infrastructures. The core of our work is based on generating APIs for arbitrary deployment executables such as scripts and plans that perform different tasks in the automated deployment process. As a result, deployment tasks can be triggered through generated API endpoints, abstracting from lower level, technical details of diverse deployment automation tooling. Beside a quantitative evaluation, we discuss two case studies in this context, one focusing on microservice architectures, the other one considering application functionality and its relation to deployment functionality.
CloudCom 2016