Skip to main content

Empowering Continuous Delivery in Software Development: The DevOps Strategy

  • Conference paper
  • First Online:
Software Technologies (ICSOFT 2018)

Abstract

Continuous Delivery refers to a software development practice where members of a team frequently integrate their work, so that the process of delivery can be easily conducted. However, this continuous integration and delivery requires a reliable collaboration between development and IT operation teams. The DevOps practices support this collaboration since they enable that the operation staff making use of the same infrastructure as developers for their systems work. Our study aims at presenting a practical DevOps implementation and analyzing how the process of software delivery and infrastructure changes was automated. Our approach follows the principles of infrastructure as code, where a configuration platform – PowerShell DSC – was used to automatically define reliable environments for continuous software delivery. In this context, we defined the concept of “stage for dev”, also using the Docker technology, which involves all the elements that enable members of a team to have the same production environment, locally configured in their personal machines and thus empowering the continuous integration and delivery of system releases.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

References

  1. Humble, J., Farley, D.: Continuous delivery: reliable software releases through build, test, and deployment automation. Addison-Wesley Professional, Boston (2010)

    Google Scholar 

  2. Claps, G.G., Svensson, R.B., Aurum, A.: On the journey to continuous deployment: technical and social challenges along the way. Inf. Softw. Technol. 57(1), 21–31 (2015)

    Article  Google Scholar 

  3. Loukides, M.: What is DevOps? Infrastructure as Code. O’Reilly Media, Sebastopol (2012)

    Google Scholar 

  4. Lwakatare, L.E., Kuvaja, P., Oivo, M.: Dimensions of DevOps. In: Lassenius, C., Dingsøyr, T., Paasivaara, M. (eds.) XP 2015. LNBIP, vol. 212, pp. 212–217. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-18612-2_19

    Chapter  Google Scholar 

  5. Hosono, S.: A DevOps framework to shorten delivery time for cloud applications. Int. J. Comput. Sci. Eng. 7(4), 329–344 (2012)

    Google Scholar 

  6. Erich, F., Amrit, C., Daneva, M.: Report: Devops literature review. University of Twente, Technical report (2014)

    Google Scholar 

  7. Dyck, A., Penners, R., Lichter, H.: Towards definitions for release engineering and DevOps. In: Proceedings of the IEEE/ACM 3rd International Workshop on Release Engineering (2015)

    Google Scholar 

  8. Siebra, C. et al.: From theory to practice: the challenges of a DevOps infrastructure as code implementation. In: Proceedings of the 13th International Conference on Software Technologies (ICSOFT) (2018)

    Google Scholar 

  9. Punjabi, R., Bajaj, R.: User stories to user reality: a DevOps approach for the cloud. In: IEEE International Conference on Recent Trends in Electronics, Information & Communication Technology (RTEICT), Bangalore, pp. 658–662 (2016)

    Google Scholar 

  10. Miell, I., Sayers, A.H.: Docker in Practice. Manning Publications Co., New York (2016)

    Google Scholar 

  11. Bang, S.K., Chung, S., Choh, Y., Dupuis, M.: A grounded theory analysis of modern Web applications: knowledge, skills, and abilities for DevOps. In: Proceedings of the 2nd Annual Conference on Research in Information Technology (RIIT 2013), pp. 61–62. ACM, New York (2013)

    Google Scholar 

  12. DeGrandis, D.: Devops: so you say you want a revolution? Cutter Bus. Technol. J. 24(8), 34–39 (2011)

    Google Scholar 

  13. Wettinger, J., Breitenbücher, U., Leymann, F.: Devopslang – bridging the gap between development and operations. In: Villari, M., Zimmermann, W., Lau, K.-K. (eds.) ESOCC 2014. LNCS, vol. 8745, pp. 108–122. Springer, Heidelberg (2014). https://doi.org/10.1007/978-3-662-44879-3_8

    Chapter  Google Scholar 

  14. Tessem, B., Iden, J.: Cooperation between developers and operations in software engineering projects. In: Proceedings of the 2008 International Workshop on Cooperative and Human Aspects of Software Engineering, pp. 105–108 (2008)

    Google Scholar 

  15. Walls, M.: Building a DevOps Culture. O’Reilly Media, Sebastopol (2013)

    Google Scholar 

  16. Liu, Y., Li, C., Liu, W.: Integrated solution for timely delivery of customer change requests: a case study of using devops approach. Int. J. U- E-Serv. Sci. Technol. 7, 41–50 (2014)

    Article  Google Scholar 

  17. Shang, W.: Bridging the divide between software developers and operators using logs. In: Proceedings of the 34th International Conference on Software Engineering, pp. 1583–1586. IEEE Press, New York (2012)

    Google Scholar 

  18. Bruneo, D., et al.: Cloudwave: where adaptive cloud management meets DevOps. In: Proceedings of the IEEE Symposium on Computers and Communications, pp. 1–6. IEEE Press, New York (2014)

    Google Scholar 

  19. Ebert, C., Gallardo, G., Hernantes, J., Serrano, N.: DevOps. IEEE Softw. 33(3), 94–100 (2016)

    Article  Google Scholar 

  20. Duvall, M.P.: Continuous Delivery Patterns and AntiPatterns in the Software LifeCycle (2011)

    Google Scholar 

  21. Younge, A.J., et al.: Analysis of virtualization technologies for high performance computing environments. In: IEEE International Conference on Cloud Computing, pp. 9–16 (2011)

    Google Scholar 

  22. O’Connor, R., Elger, P., Clarke, P.: Continuous software engineering – a microservices architecture perspective. J. Softw. Evol. Process 29(11), e1866 (2017)

    Article  Google Scholar 

  23. Scheepers, M.J.: Virtualization and containerization of application infrastructure: a comparison. In: Proceedings of the 21st Twente Student Conference on IT, pp. 1–7 (2014)

    Google Scholar 

  24. Peacock, M.: Creating Development Environments with Vagrant. Packt Publishing Ltd., Birmingham (2015)

    Google Scholar 

  25. Hüttermann, M.: Infrastructure as Code. In: DevOps for Developers. Apress, Berkeley (2012)

    Chapter  Google Scholar 

  26. Hummer, W., Rosenberg, F., Oliveira, F., Eilam, T.: Testing idempotence for infrastructure as code. In: Eyers, D., Schwan, K. (eds.) Middleware 2013. LNCS, vol. 8275, pp. 368–388. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-45065-5_19

    Chapter  Google Scholar 

  27. Artac, M., Borovssak, T., Di Nitto, E., Guerriero, M., Tamburri, D.: Devops: introducing infrastructure-as-code. In: Proceedings of the 39th IEEE International Conference on Software Engineering Companion, pp. 497–498 (2017)

    Google Scholar 

  28. Zhu, L., Xu, D., Xu, X., Tran, A.B., Weber, I., Bass, L.: Challenges in practicing high frequency releases in cloud environments. In: Proceedings of the 2nd International Workshop on Release Engineering, Mountain View, USA, pp. 21–24 (2014)

    Google Scholar 

  29. Scheuner, J., Leitner, P., Cito, J., Gall, H.: Cloud work bench–infrastructure-as-code based cloud benchmarking. In: Proceedings of the IEEE 6th International Conference on Cloud Computing Technology and Science (CloudCom), pp. 246–253 (2014)

    Google Scholar 

  30. Spinellis, D.: Don’t install software by hand. IEEE Softw. 29(4), 86–87 (2012)

    Article  Google Scholar 

  31. Tomasevicius Filho, E.: Marco Civil da Internet: uma lei sem conteúdo normativo. Estudos Avançados 30(86), 269–285 (2016). (in Portuguese)

    Article  Google Scholar 

  32. Juneja, V.: The Bakery Model for Building Container Images and Microservices. TheNewStack (2016). https://thenewstack.io/bakery-foundation-container-images-microservices. Accessed 20 Oct 2018

  33. Eagles, H.: DevOps Technology in a Windows World (2016). https://blogs.technet.microsoft.com/uktechnet/2016/05/24/devops-technology-in-a-windows-world/. Accessed 28 Sept 2018

  34. Dille, N.: Build, Ship, Run Containers on Windows Server 2016 TP5 with Docker. Automation, DevOps and Containerization (2016). https://dille.name/blog/2016/06/08/build-ship-run-containers-with-windows-server-2016-tp5/. Accessed 22 Oct 2018

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Clauirton Siebra .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Siebra, C. et al. (2019). Empowering Continuous Delivery in Software Development: The DevOps Strategy. In: van Sinderen, M., Maciaszek, L. (eds) Software Technologies. ICSOFT 2018. Communications in Computer and Information Science, vol 1077. Springer, Cham. https://doi.org/10.1007/978-3-030-29157-0_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-29157-0_11

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-29156-3

  • Online ISBN: 978-3-030-29157-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics