4 research outputs found
Report from GI-Dagstuhl Seminar 16394: Software Performance Engineering in the DevOps World
This report documents the program and the outcomes of GI-Dagstuhl Seminar
16394 "Software Performance Engineering in the DevOps World".
The seminar addressed the problem of performance-aware DevOps. Both, DevOps
and performance engineering have been growing trends over the past one to two
years, in no small part due to the rise in importance of identifying
performance anomalies in the operations (Ops) of cloud and big data systems and
feeding these back to the development (Dev). However, so far, the research
community has treated software engineering, performance engineering, and cloud
computing mostly as individual research areas. We aimed to identify
cross-community collaboration, and to set the path for long-lasting
collaborations towards performance-aware DevOps.
The main goal of the seminar was to bring together young researchers (PhD
students in a later stage of their PhD, as well as PostDocs or Junior
Professors) in the areas of (i) software engineering, (ii) performance
engineering, and (iii) cloud computing and big data to present their current
research projects, to exchange experience and expertise, to discuss research
challenges, and to develop ideas for future collaborations
Researching Cooperation and Communication in Continuous Software Engineering
Continuous Software Engineering (CSE) - -continuous development and deployment of software - -and DevOps - -the close cooperation or integration of operations and software development - -is about to change how software is developed. Together with the tighter integration of development and operations also with usage this will change coordination and collaboration both between IT professionals and between developers and users. In this short paper, we discuss the CHASE dimension of three core research themes that begin to crystallize in literature. This position paper is intended as a 'call to arms' for the CHASE community to study CSE
An empirical study of architecting for continuous delivery and deployment
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.Comment: To appear in Empirical Software Engineerin