Each software system relies on infrastructure elements to be operated correctly. Caused by the growing complexity and distributed manner of modern software systems the management of infrastructure get more and more important. In parallel the delivery and operation of software gain more attention. The agile manifest proposes the continuously delivery of valuable software to the customer. A tight integration of methods from software engineering and software operation the software development process can achieve this goal.
Faced with these challenges new approaches und methods are proposed. Continuous Integration and Continuous Delivery focus on the automation of software building and testing in a deployment pipeline.
Fueled by this approaches infrastructure automation is integrated in the software development process. Infrastructure is described and handled in a declarative manner like normal source code. Common known software engineering methods where transferred to the infrastructure and operation domain. In similar principles like virtualization from the operation domain extends the daily work of developers. This all leads to the holistic approach of DevOps or Continuous Software Engineering.
These project aims to identify and evaluate a systematic approach of introducing methods from DevOps or CSE into the software development processes of two mid-sized software companies. Starting the establishment of an organization wide deployment pipeline for all produced software components and infrastructure elements. At the end of this pipeline an executable system is delivered in terms of software, infrastructure, configuration and data.
Based on the experiences in working with this pipeline the relationship and interaction between software architecture, infrastructure, build pipeline and organization will be analyzed and evaluated.