Advertisement

DevOps Round-Trip Engineering: Traceability from Dev to Ops and Back Again

  • Miguel JiménezEmail author
  • Lorena Castaneda
  • Norha M. Villegas
  • Gabriel Tamura
  • Hausi A. Müller
  • Joe Wigglesworth
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11350)

Abstract

DevOps engineers follow an iterative and incremental process to develop Deployment and Configuration (D&C) specifications. Such a process likely involves manual bug discovery, inspection, and modifications to the running environment. Failing to update the specifications appropriately leads to technical debt, including configuration drift, snowflake configurations, and erosion across environments. Despite the efforts that DevOps teams put into automating operations work, there is a lack of tools to support the development and maintenance of D&C specifications. In this paper, we propose Tornado, a two-way Continuous Integration (CI) framework (i.e., Dev  Open image in new window  Ops and Dev  Open image in new window  Ops) that automatically updates D&C specifications when the corresponding system changes, enabling bi-directional traceability of the modifications. Tornado extends the concept of CI, integrating operations work into development by committing code corresponding to manual modifications. We evaluated Tornado by implementing a proof of concept using Terraform templates, OpenStack and CircleCI, demonstrating its feasibility and soundness.

Keywords

DevOps Round-Trip Engineering Traceability Software deployment Continuous integration 

Notes

Acknowledgments

This work was funded in part by the National Sciences and Engineering Research Council (NSERC) of Canada, IBM Canada Ltd. and IBM Advanced Studies (CAS), the University of Victoria (Canada), and Universidad Icesi (Colombia).

References

  1. 1.
    Sharma, S., Coyne, B.: DevOps for Dummies. Limited IBM Edition (2013)Google Scholar
  2. 2.
    Zhu, L., Bass, L., Champlin-Scharff, G.: DevOps and its practices. IEEE Softw. 33(3), 32–34 (2016)CrossRefGoogle Scholar
  3. 3.
    Fagerholm, F., Guinea, A.S., Mäenpää, H., Münch, J.: Building blocks for continuous experimentation. In: Proceedings of the 1st International Workshop on Rapid Continuous Software Engineering, RCoSE 2014, pp. 26–35. ACM, New York (2014)Google Scholar
  4. 4.
    Shahin, M., Babar, M.A., Zhu, L.: The intersection of continuous deployment and architecting process: practitioners’ perspectives. In: Proceedings of the 10th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, ESEM 2016, pp. 44:1–44:10. ACM, New York (2016)Google Scholar
  5. 5.
    Fabijan, A., Dmitriev, P., Olsson, H.H., Bosch, J.: The evolution of continuous experimentation in software product development: from data to a data-driven organization at scale. In: 2017 IEEE/ACM 39th International Conference on Software Engineering, ICSE 2017, pp. 770–780 (2017)Google Scholar
  6. 6.
    Schermann, G., Cito, J., Leitner, P.: Continuous experimentation: challenges, implementation techniques, and current research. IEEE Softw. 35(2), 26–31 (2018)CrossRefGoogle Scholar
  7. 7.
    Morris, K.: Infrastructure as Code: Managing Servers in the Cloud, 1st edn. O’Reilly Media Inc., Sebastopol (2016)Google Scholar
  8. 8.
    Spanoudakis, G., Zisman, A.: Inconsistency management in software engineering: survey and open research issues, pp. 329–380. World Scientific Publishing Company (2012)Google Scholar
  9. 9.
    Kruchten, P., Nord, R.L., Ozkaya, I.: Technical debt: from metaphor to theory and practice. IEEE Softw. 29(6), 18–21 (2012)CrossRefGoogle Scholar
  10. 10.
    Henriksson, A., Larsson, H.: A definition of round-trip engineering. Technical report (2003)Google Scholar
  11. 11.
    Sendall, S., Küster, J.: Taming model round-trip engineering. In: Proceedings of Workshop on Best Practices for Model-Driven Software Development, p. 1 (2004)Google Scholar
  12. 12.
    Hettel, T., Lawley, M., Raymond, K.: Model synchronisation: definitions for round-trip engineering. In: Vallecillo, A., Gray, J., Pierantonio, A. (eds.) ICMT 2008. LNCS, vol. 5063, pp. 31–45. Springer, Heidelberg (2008).  https://doi.org/10.1007/978-3-540-69927-9_3CrossRefGoogle Scholar
  13. 13.
    Shahin, M., Babar, M.A., Zhu, L.: Continuous integration, delivery and deployment: a systematic review on approaches, tools, challenges and practices. IEEE Access 5, 3909–3943 (2017)CrossRefGoogle Scholar
  14. 14.
    ISO/IEC/IEEE, International Standard - Systems and software engineering - Vocabulary. ISO/IEC/IEEE 24765:2010(E), pp. 1–418 (2010)Google Scholar
  15. 15.
    Hüttermann, M.: Infrastructure as Code, pp. 135–156. Apress (2012)Google Scholar
  16. 16.
    Nelson-Smith, S.: Test-Driven Infrastructure with Chef: Bring Behavior-Driven Development to Infrastructure as Code. O’Reilly Media Inc., Sebastopol (2013)Google Scholar
  17. 17.
    Blair, G., Bencomo, N., France, R.B.: Models@run.time. Computer 42(10), 22–27 (2009)CrossRefGoogle Scholar
  18. 18.
    Rahm, J., Graube, M., Urbas, L.: A proposal for an interactive roundtrip engineering system. In: 2017 22nd IEEE International Conference on Emerging Technologies and Factory Automation (ETFA), pp. 1–7, September 2017Google Scholar
  19. 19.
    Tilley, S.R., Wong, K., Storey, M.A.D., Müller, H.A.: Programmable reverse engineering. Int. J. Softw. Eng. Knowl. Eng. 04(04), 501–520 (1994)CrossRefGoogle Scholar
  20. 20.
    Fitzgerald, B., Stol, K.J.: Continuous software engineering: a roadmap and agenda. J. Syst. Softw. 123, 176–189 (2017)CrossRefGoogle Scholar
  21. 21.
    Petre, M.: UML in practice. In: Proceedings 35th International Conference on Software Engineering, ICSE 2013, pp. 722–731. IEEE Press, Piscataway (2013)Google Scholar
  22. 22.
    Hutchinson, J., Rouncefield, M., Whittle, J.: Model-driven engineering practices in industry. In: Proceedings 33rd International Conference on Software Engineering, ICSE 2011, pp. 633–642. ACM, New York (2011)Google Scholar
  23. 23.
    Inzinger, C., Nastic, S., Sehic, S., Vögler, M., Li, F., Dustdar, S.: MADCAT: a methodology for architecture and deployment of cloud application topologies. In: Proceedings 8th International Symposium on Service Oriented System Engineering, SOSE 2014, Oxford, UK, pp. 13–22 (2014)Google Scholar
  24. 24.
    Copil, G., Moldovan, D., Truong, H.L., Dustdar, S.: SYBL: an extensible language for controlling elasticity in cloud applications. In: Proceedings 13th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing, CCGrid 2013, pp. 112–119 (2013)Google Scholar
  25. 25.
    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_8CrossRefGoogle Scholar
  26. 26.
    Thiery, A., Cerqueus, T., Thorpe, C., Sunyé, G., Murphy, J.: A DSL for deployment and testing in the cloud. In: Proceedings of the 2014 IEEE International Conference on Software Testing, Verification, and Validation Workshops, ICSTW 2014, pp. 376–382. IEEE Computer Society (2014)Google Scholar
  27. 27.
    Glaser, F.: Domain model optimized deployment and execution of cloud applications with TOSCA. In: Grabowski, J., Herbold, S. (eds.) SAM 2016. LNCS, vol. 9959, pp. 68–83. Springer, Cham (2016).  https://doi.org/10.1007/978-3-319-46613-2_5CrossRefGoogle Scholar
  28. 28.
    Holmes, T.: Ming: model- and view-based deployment and adaptation of cloud datacenters. In: Helfert, M., Ferguson, D., Méndez Muñoz, V., Cardoso, J. (eds.) CLOSER 2016. CCIS, vol. 740, pp. 317–338. Springer, Cham (2017).  https://doi.org/10.1007/978-3-319-62594-2_16CrossRefGoogle Scholar
  29. 29.
    Bencomo, N., Bennaceur, A., Grace, P., Blair, G., Issarny, V.: The role of models@run.time in supporting on-the-fly interoperability. Computing 95(3), 167–190 (2013)CrossRefGoogle Scholar
  30. 30.
    Castaneda, L.: Runtime modelling for user-centric smart applications in cyber-physical-human systems. Ph.D. thesis, Department of Computer Science, University of Victoria (2017)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  • Miguel Jiménez
    • 1
    Email author
  • Lorena Castaneda
    • 1
  • Norha M. Villegas
    • 2
  • Gabriel Tamura
    • 2
  • Hausi A. Müller
    • 1
  • Joe Wigglesworth
    • 3
  1. 1.University of VictoriaVictoriaCanada
  2. 2.Universidad IcesiCaliColombia
  3. 3.IBM Toronto LaboratoryTorontoCanada

Personalised recommendations