An Empirical Study of Architecting for Continuous Delivery and Deployment

08/27/2018
by   Mojtaba Shahin, et al.
0

Recently, many software organizations have been adopting Continuous Delivery and Continuous Deployment (CD) practices to develop and deliver quality software more frequently and reliably. Whilst an increasing amount of the literature covers different aspects of CD, little is known about the role of software architecture in CD and how an application should be (re-) architected to enable and support CD. We have conducted a mixed-methods empirical study that collected data through in-depth, semi-structured interviews with 21 industrial practitioners from 19 organizations, and a survey of 91 professional software practitioners. Based on a systematic and rigorous analysis of the gathered qualitative and quantitative data, we present a conceptual framework to support the process of (re-) architecting for CD. We provide evidence-based insights about practicing CD within monolithic systems and characterize the principle of "small and independent deployment units" as an alternative to the monoliths. Our framework supplements the architecting process in a CD context through introducing the quality attributes (e.g., resilience) that require more attention and demonstrating the strategies (e.g., prioritizing operations concerns) to design operations-friendly architectures. We discuss the key insights (e.g., monoliths and CD are not intrinsically oxymoronic) gained from our study and draw implications for research and practice.

READ FULL TEXT

page 2

page 11

page 18

page 28

research
08/21/2021

Towards a Theory on Architecting for Continuous Deployment

Context: As the adoption of continuous delivery practices increases in s...
research
02/03/2023

Understanding the Issues, Their Causes and Solutions in Microservices Systems: An Empirical Study

Many small to large organizations have adopted the Microservices Archite...
research
10/28/2022

Let's Go to the Whiteboard (Again):Perceptions from Software Architects on Whiteboard Architecture Meetings

The whiteboard plays a crucial role in the day-to-day lives of software ...
research
01/07/2021

DevOps Team Structures: Characterization and Implications

Context: DevOps can be defined as a cultural movement to improve and acc...
research
08/19/2020

The Organization of Software Teams in the Quest for Continuous Delivery: A Grounded Theory Approach

Context: Continuous delivery practices accelerate time to market and imp...
research
12/21/2018

Problems and Solutions of Continuous Deployment: A Systematic Review

Context: The software industry needs to adapt itself to a rapidly changi...
research
12/31/2020

Consolidating a Model for Describing Situated Software Practices

Many prescriptive approaches to developing software intensive systems ha...

Please sign up or login with your details

Forgot password? Click here to reset