[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/2961111.2962587acmconferencesArticle/Chapter ViewAbstractPublication PagesesemConference Proceedingsconference-collections
research-article

The Intersection of Continuous Deployment and Architecting Process: Practitioners' Perspectives

Published: 08 September 2016 Publication History

Abstract

Context: Development and Operations (DevOps) is an emerging software industry movement to bridge the gap between software development and operations teams. DevOps supports frequently and reliably releasing new features and products-- thus subsuming Continuous Deployment (CD) practice. Goal: This research aims at empirically exploring the potential impact of CD practice on architecting process. Method: We carried out a case study involving interviews with 16 software practitioners. Results: We have identified (1) a range of recurring architectural challenges (i.e., highly coupled monolithic architecture, team dependencies, and ever-changing operational environments and tools) and (2) five main architectural principles (i.e., small and independent deployment units, not too much focus on reusability, aggregating logs, isolating changes, and testability inside the architecture) that should be considered when an application is (re-) architected for CD practice. This study also supports that software architecture can better support operations if an operations team is engaged at an early stage of software development for taking operational aspects into considerations. Conclusion: These findings provide evidence that software architecture plays a significant role in successfully and efficiently adopting continuous deployment. The findings contribute to establish an evidential body of knowledge about the state of the art of architecting for CD practice

References

[1]
Puppet Labs. 2015. 2015 State of DevOps Report. Available at: https://puppetlabs.com/2015-devops-report {Last accessed: 5 October 2015}.
[2]
Bass, L., Clements, P., and Kazman, R. 2012. Software architecture in practice. Addison Wesley.
[3]
Bass, L., Weber, I., and Zhu, L., 2015. DevOps: A Software Architect's Perspective. Addison-Wesley Professional.
[4]
Bellomo, S., Ernst, N., Nord, R., and Kazman, R. 2014. Toward Design Decisions to Enable Deployability: Empirical Study of Three Projects Reaching for the Continuous Delivery Holy Grail. In Dependable Systems and Networks (DSN), 2014 44th Annual IEEE/IFIP International Conference on, 702--707.
[5]
Brandtner, M., Giger, E., and Gall, H. 2015. SQA-Mashup: A mashup framework for continuous integration. Information and Software Technology 65(9//), 97--113. DOI= http://dx.doi.org/http://dx.doi.org/10.1016/j.infsof.2014.10.004.
[6]
Chen, L. 2015. Towards Architecting for Continuous Delivery. In Software Architecture (WICSA), 2015 12th Working IEEE/IFIP Conference on, 131--134.
[7]
Claps, G.G., Berntsson Svensson, R., and Aurum, A. 2015. On the journey to continuous deployment: Technical and social challenges along the way. Information and Software Technology 57, 0 (1//), 21--31. DOI= http://dx.doi.org/http://dx.doi.org/10.1016/j.infsof.2014.07.009.
[8]
Conway, M.E. 1968. How do committees invent? Datamation 14, 5.
[9]
Cruzes, D.S. and Dyba, T. 2011. Recommended Steps for Thematic Synthesis in Software Engineering. In Empirical Software Engineering and Measurement (ESEM), 2011 International Symposium on, 275--284.
[10]
Easterbrook, S., Singer, J., Storey, M.-A., and Damian, D. 2008. Selecting Empirical Methods for Software Engineering Research. In Guide to Advanced Empirical Software Engineering, F. SHULL, J. SINGER and D.I.K. SJØberg Eds. Springer London, London, 285--311.
[11]
Elbaum, S., Rothermel, G., and Penix, J. 2014. Techniques for improving regression testing in continuous integration development environments. In Proceedings of the Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering (Hong Kong, China2014), ACM, 2635910, 235--245.
[12]
Fitzgerald, B. and Stol, K.-J. 2015. Continuous Software Engineering: A Roadmap and Agenda. Journal of Systems and Software. DOI= http://dx.doi.org/http://dx.doi.org/10.1016/j.jss.2015.06.063.
[13]
Ford, N. 2015. Architecture is abstract until operationalized, http://nealford.com/memeagora/2015/03/30/architecture_is_abstract_until_operationalized.html.
[14]
Ford, N. and Parsons, R. 2016. Microservices as an Evolutionary Architecture, Available at: https://www.thoughtworks.com/insights/blog/microservices-evolutionary-architecture {Last accessed: 20 March 2016}.
[15]
Fowler, M. 2013. Continuous Delivery. Available at: http://martinfowler.com/bliki/ContinuousDelivery.html {Last accessed: 21 October 2015}.
[16]
Gibson, S. 2015. Monoliths are Bad Design... and You Know It, Available at: https://www.thoughtworks.com/insights/blog/monoliths-are-bad-design-and-you-know-it {Last accessed: 4 March 2016}.
[17]
Goodman, L.A. 1961. Snowball Sampling. Annals of Mathematical Statistics 32, 1, 148--170.
[18]
Humble, J. 2010. Continuous Delivery vs Continuous Deployment, Available at: https://continuousdelivery.com/2010/08/continuous-delivery-vs-continuous-deployment/ {Last accessed: 1 March 2016}.
[19]
Jansen, A. and BOSCH, J. 2005. Software Architecture as a Set of Architectural Design Decisions. In Software Architecture, 2005. WICSA 2005. 5th Working IEEE/IFIP Conference on, 109--120.
[20]
Kitchenham, B., Pickard, L., and Pfleeger, S.L. 1995. Case studies for method and tool evaluation. IEEE Software 12, 4, 52--62.
[21]
Leppanen, M., Makinen, S., Pagels, M., Eloranta, V.-P., Itkonen, J., Mantyla, M.V., and Mannisto, T. 2015. The Highways and Country Roads to Continuous Deployment. IEEE Software 32, 2, 64--72. DOI= http://dx.doi.org/10.1109/MS.2015.50.
[22]
Lewis, J. and Fowler, M., 2014. Microservices: a definition of this new architectural term. Available at: http://martinfowler.com/articles/microservices.html {Last accessed: 05 January 2016}.
[23]
Lianping, C. 2015. Continuous Delivery: Huge Benefits, but Challenges Too. IEEE Software 32, 2, 50--54.
[24]
Newman, S. 2015. Building Microservices. O'Reilly Media, Inc.
[25]
Northrop, L. 2015. Trends and New Directions in Software Architecture. Available at: http://resources.sei.cmu.edu/asset_files/webinar/2015_018_100_438676.pdf. Software Engineering Institute, Carnegie Mellon University Pittsburgh.
[26]
Poort, E.R. and van Vliet, H. 2012. RCDA: Architecting as a risk-and cost management discipline. Journal of Systems and Software 85, 9 (9//), 1995--2013. DOI= http://dx.doi.org/http://dx.doi.org/10.1016/j.jss.2012.03.071.
[27]
Sokhan, B. 2015. Domain Driven Design for Services Architecture, Available at https://www.thoughtworks.com/insights/blog/domain-driven-design-services-architecture {Last accessed: 10 January 2016}.
[28]
Soliman, M., Riebisch, M., and Zdun, U. 2015. Enriching Architecture Knowledge with Technology Design Decisions. In Software Architecture (WICSA), 2015 12th Working IEEE/IFIP Conference on, 135--144.
[29]
Weber, I., Nepal, S., and Zhu, L. 2016. Developing Dependable and Secure Cloud Applications. IEEE Internet Computing 20, 3, 74--79. DOI= http://dx.doi.org/10.1109/MIC.2016.67.
[30]
Waterman, M.G. 2014. Reconciling agility and architecture: a theory of agile architecture. Doctoral Thesis, Victoria University of Wellington.

Cited By

View all
  • (2024)Harmonizing DevOps taxonomies — A grounded theory studyJournal of Systems and Software10.1016/j.jss.2023.111908208(111908)Online publication date: Feb-2024
  • (2024)Adopting Continuous Deployment in a Public Administration Project: An Industrial Case StudyProduct-Focused Software Process Improvement. Industry-, Workshop-, and Doctoral Symposium Papers10.1007/978-3-031-78392-0_6(84-99)Online publication date: 27-Nov-2024
  • (2024)Inspecting Software Architecture Design Styles to Infer Threat Models and Inform Likely AttacksContributions Presented at The International Conference on Computing, Communication, Cybersecurity and AI, July 3–4, 2024, London, UK10.1007/978-3-031-74443-3_4(67-81)Online publication date: 20-Dec-2024
  • Show More Cited By
  1. The Intersection of Continuous Deployment and Architecting Process: Practitioners' Perspectives

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ESEM '16: Proceedings of the 10th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement
    September 2016
    457 pages
    ISBN:9781450344272
    DOI:10.1145/2961111
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 08 September 2016

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. DevOps
    2. Software architecture
    3. continuous deployment
    4. empirical study

    Qualifiers

    • Research-article
    • Research
    • Refereed limited

    Conference

    ESEM '16
    Sponsor:

    Acceptance Rates

    ESEM '16 Paper Acceptance Rate 27 of 122 submissions, 22%;
    Overall Acceptance Rate 130 of 594 submissions, 22%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)16
    • Downloads (Last 6 weeks)4
    Reflects downloads up to 20 Dec 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Harmonizing DevOps taxonomies — A grounded theory studyJournal of Systems and Software10.1016/j.jss.2023.111908208(111908)Online publication date: Feb-2024
    • (2024)Adopting Continuous Deployment in a Public Administration Project: An Industrial Case StudyProduct-Focused Software Process Improvement. Industry-, Workshop-, and Doctoral Symposium Papers10.1007/978-3-031-78392-0_6(84-99)Online publication date: 27-Nov-2024
    • (2024)Inspecting Software Architecture Design Styles to Infer Threat Models and Inform Likely AttacksContributions Presented at The International Conference on Computing, Communication, Cybersecurity and AI, July 3–4, 2024, London, UK10.1007/978-3-031-74443-3_4(67-81)Online publication date: 20-Dec-2024
    • (2023)Open Source Solutions for Vulnerability Assessment: A Comparative AnalysisIEEE Access10.1109/ACCESS.2023.331559511(100234-100255)Online publication date: 2023
    • (2023)DevOps critical success factors — A systematic literature reviewInformation and Software Technology10.1016/j.infsof.2023.107150157:COnline publication date: 1-May-2023
    • (2023)Continuous Alignment Between Software Architecture Design and Development in CI/CD PipelinesSoftware Architecture10.1007/978-3-031-36847-9_4(69-86)Online publication date: 3-Jun-2023
    • (2022)DevOps Model Appproach for Monitoring Smart Energy SystemsEnergies10.3390/en1515551615:15(5516)Online publication date: 29-Jul-2022
    • (2022)ACIA: A Methodology for identification of Architectural Design Patterns that support Continuous Integration based on Continuous Assessment2022 IEEE 19th International Conference on Software Architecture Companion (ICSA-C)10.1109/ICSA-C54293.2022.00046(198-205)Online publication date: Mar-2022
    • (2022) DevOps benefits: A systematic literature review Software: Practice and Experience10.1002/spe.309652:9(1905-1926)Online publication date: 11-May-2022
    • (2021)Research Findings in the Domain of CI/CD and DevOps on Security ComplianceStrategic Approaches to Digital Platform Security Assurance10.4018/978-1-7998-7367-9.ch008(286-307)Online publication date: 2021
    • Show More Cited By

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media