Skip to main content
Log in

Collaborative gathering and continuous delivery of DevOps solutions through repositories

  • Special Issue Paper
  • Published:
Computer Science - Research and Development

Abstract

Collaboration is a key aspect for establishing DevOps-oriented processes because diverse experts such as developers and operations personnel need to efficiently work together to deliver applications. For this purpose, highly automated continuous delivery pipelines are established, consisting of several stages and their corresponding application environments (development, test, production, etc.). The DevOps community provides a huge variety of tools and reusable artifacts (i.e. DevOps solutions such as deployment engines, configuration definitions, container images, etc.) to implement such application environments. This paper presents the concept of collaborative solution repositories, which are based on established software engineering practices. This helps to systematically maintain and link diverse solutions. We further discuss how discovery and capturing of such solutions can be automated. To utilize this knowledge (made of linked DevOps solutions), we apply continuous delivery principles to create diverse knowledge base instances through corresponding pipelines. Finally, an integrated architecture is outlined and validated using a prototype implementation.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3

Similar content being viewed by others

Notes

  1. http://newrelic.com/devops/lifecycle.

  2. http://www.chef.io.

  3. http://jenkins-ci.org.

  4. http://www.docker.com.

  5. http://www.github.com.

  6. http://help.github.com/articles/using-pull-requests.

  7. https://gist.github.com/jojow/03f368aad0326273e8b5.

  8. http://jruby.org.

  9. Automated gathering of solutions.

  10. https://supermarket.chef.io.

  11. https://hub.docker.com.

  12. Deliver knowledge base.

  13. https://www.elastic.co/products/elasticsearch.

  14. https://aws.amazon.com/ec2.

  15. https://gist.github.com/jojow/edb262290d1acb406e36.

  16. https://www.cloudbees.com/blog/knowledge-code-sourcing-your-knowledge.

References

  1. Bass L, Weber I, Zhu L (2015) DevOps: a software architect’s perspective. SEI series in software engineering. Addison-Wesley, Reading

    Google Scholar 

  2. Hüttermann M (2012) DevOps for developers. Apress, New York

    Book  Google Scholar 

  3. Wettinger J, Breitenbücher U, Leymann F (2015) Streamlining apification by generating apis for diverse executables using any2api. Cloud computing and services science. Springer, Berlin, pp 216–238

    Google Scholar 

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

    Google Scholar 

  5. Wettinger J, Andrikopoulos V, Leymann F (2015) Automated capturing and systematic usage of DevOps knowledge for cloud applications. In: Proceedings of the IEEE international conference on cloud engineering (IC2E). IEEE

  6. Trinkle P (2009) An introduction to unsupervised document classification. University of Maryland, Baltimore County. http://userpages.umbc.edu/~tri1/docs/unsuperdocumentclass.pdf

  7. Heydon A, Najork M (1999) Mercator: a scalable, extensible web crawler. World Wide Web 2(4):219–229

    Article  Google Scholar 

  8. Boldi P, Codenotti B, Santini M, Vigna S (2004) Ubicrawler: a scalable fully distributed web crawler. Softw Pract Exp 34(8):711–726

    Article  Google Scholar 

  9. Babar MA, Dingsøyr T, Lago P, van Vliet H (2009) Software architecture knowledge management. Springer, Berlin

    Book  MATH  Google Scholar 

  10. Farenhorst R, de Boer RC (2009) Knowledge management in software architecture: state of the art. Software architecture knowledge management. Springer, Berlin, pp 21–38

    Chapter  Google Scholar 

  11. Tang A, Avgeriou P, Jansen A, Capilla R, Babar MA (2010) A comparative study of architecture knowledge management tools. J Syst Softw 83(3):352–370

    Article  Google Scholar 

  12. Studer R, Benjamins VR, Fensel D (1998) Knowledge engineering: principles and methods. Data Knowl Eng 25(1):161–197

    Article  MATH  Google Scholar 

  13. Fehling C, Barzen J, Falkenthal M, Leymann F (2015) PatternPedia–collaborative pattern identification and authoring. PURPLSOC: pursuit of pattern languages for societal change. epubli GmbH, Berlin, pp 252–284

    Google Scholar 

  14. Falkenthal M, Barzen J, Breitenbücher U, Fehling C, Leymann F (2014) Efficient pattern application: validating the concept of solution implementations in different domains. Int J Adv Softw 7(3&4):710–726

    Google Scholar 

Download references

Acknowledgements

This work was partially funded by the DFG project SitOPT (610872) and the BMWi project SmartOrchestra (01MD16001F).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Johannes Wettinger.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Wettinger, J., Breitenbücher, U., Falkenthal, M. et al. Collaborative gathering and continuous delivery of DevOps solutions through repositories. Comput Sci Res Dev 32, 281–290 (2017). https://doi.org/10.1007/s00450-016-0338-z

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00450-016-0338-z

Keywords

Navigation