Skip to main content

Model-Based Generation of Self-adaptive Cloud Services

  • Conference paper
  • First Online:
Book cover Cloud Computing and Services Science (CLOSER 2018)

Part of the book series: Communications in Computer and Information Science ((CCIS,volume 1073))

Included in the following conference series:

Abstract

An important shift in software delivery is the definition of a cloud service as an independently deployable unit by following the microservices architectural style. Container virtualization facilitates development and deployment by ensuring independence from the runtime environment. Thus, cloud services are built as container-based systems - a set of containers that control the lifecycle of software and middleware components. However, using containers leads to a new paradigm for service development and operation: Self-service environments enable software developers to deploy and operate container-based systems on their own - you build it, you run it. Following this approach, more and more operational aspects are transferred towards the responsibility of software developers. In this work, we propose a concept for self-adaptive cloud services based on container virtualization in line with the microservices architectural style and present a model-based approach that assists software developers in building these services. Based on operational models specified by developers, the mechanisms required for self-adaptation are automatically generated. As a result, each container automatically adapts itself in a reactive, decentralized manner. We evaluate a prototype, which leverages the emerging TOSCA standard to specify operational behavior in a portable manner.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    https://mesosphere.github.io/marathon.

  2. 2.

    https://mesos.apache.org.

  3. 3.

    https://kubernetes.io.

  4. 4.

    https://12factor.net/config.

  5. 5.

    https://12factor.net.

  6. 6.

    https://www.consul.io.

  7. 7.

    https://github.com/coreos/etcd.

  8. 8.

    https://zookeeper.apache.org.

  9. 9.

    https://memcached.org.

  10. 10.

    A root process is a process with UNIX PID 1.

  11. 11.

    For example, POSIX signals are an inter-process communication mechanism typically used in Unix-like operating systems and employed by state of the art container runtime environments.

  12. 12.

    https://github.com/appc/spec.

  13. 13.

    https://www.opencontainers.org.

  14. 14.

    https://github.com/skynetservices/skydns.

  15. 15.

    https://github.com/Netflix/eureka.

  16. 16.

    https://github.com/ha/doozerd.

  17. 17.

    http://supervisord.org.

  18. 18.

    https://github.com/joyent/containerpilot.

  19. 19.

    https://docker.com.

  20. 20.

    https://hub.docker.com/_/registry.

  21. 21.

    https://github.com/hashicorp/envconsul.

  22. 22.

    http://freemarker.org.

  23. 23.

    https://github.com/spotify/docker-client.

  24. 24.

    https://hub.docker.com/_/php.

  25. 25.

    https://hub.docker.com/_/debian.

  26. 26.

    https://hub.docker.com/_/oraclelinux.

  27. 27.

    https://hub.docker.com/_/python.

  28. 28.

    https://www.serf.io.

  29. 29.

    http://microservices.io/patterns/microservice-chassis.html.

  30. 30.

    http://projects.spring.io/spring-cloud.

  31. 31.

    https://github.com/Netflix/Prana.

  32. 32.

    https://netflix.github.io.

  33. 33.

    https://github.com/gliderlabs/registrator.

References

  1. Balalaie, A., Heydarnoori, A., Jamshidi, P.: Microservices architecture enables devops: migration to a cloud-native architecture. IEEE Softw. 33(3), 42–52 (2016)

    Article  Google Scholar 

  2. Brogi, A., Rinaldi, L., Soldani, J.: TosKer: a synergy between TOSCA and Docker for orchestrating multicomponent applications. Softw. Pract. Exp. 48(11), 2061–2079 (2018)

    Google Scholar 

  3. Burns, B., Oppenheimer, D.: Design patterns for container-based distributed systems. In: Proceedings of the 8th USENIX Conference on Hot Topics in Cloud Computing (HotCloud), pp. 108–113. USENIX (2016)

    Google Scholar 

  4. Fowler, M.: Microservices Resource Guide (2017). https://martinfowler.com/microservices/

  5. Hüttermann, M.: DevOps for Developers. Apress (2012)

    Google Scholar 

  6. Kehrer, S., Blochinger, W.: Autogenic: automated generation of self-configuring microservices. In: Proceedings of the 8th International Conference on Cloud Computing and Services Science, CLOSER, vol. 1, pp. 35–46. INSTICC, SciTePress (2018). https://doi.org/10.5220/0006659800350046

  7. Kehrer, S., Blochinger, W.: TOSCA-based container orchestration on mesos. Comput. Sci. Res. Dev. 33(3), 305–316 (2018)

    Article  Google Scholar 

  8. Kookarinrat, P., Temtanapat, Y.: Design and implementation of a decentralized message bus for microservices. In: 2016 13th International Joint Conference on Computer Science and Software Engineering (JCSSE), pp. 1–6, July 2016

    Google Scholar 

  9. Kratzke, N., Quint, P.C.: Understanding cloud-native applications after 10 years of cloud computing - a systematic mapping study. J. Syst. Softw. 126, 1–16 (2017)

    Article  Google Scholar 

  10. Lewis, J., Fowler, M.: Microservices a definition of this new architectural term (2014). https://martinfowler.com/articles/microservices.html

  11. Leymann, F., Breitenbücher, U., Wagner, S., Wettinger, J.: Native cloud applications: why monolithic virtualization is not their foundation. In: Helfert, M., Ferguson, D., Méndez Muñoz, V., Cardoso, J. (eds.) CLOSER 2016. CCIS, vol. 740, pp. 16–40. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-62594-2_2

    Chapter  Google Scholar 

  12. Newman, S.: Building Microservices, 1st edn. O’Reilly Media Inc., Sebastopol (2015)

    Google Scholar 

  13. OASIS: Topology and orchestration specification for cloud applications (TOSCA) version 1.0, committee specification 01 (2013). http://docs.oasis-open.org/tosca/TOSCA/v1.0/cs01/TOSCA-v1.0-cs01.html

  14. OASIS: TOSCA simple profile in YAML version 1.0, committee specification 01 (2016). http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cs01/TOSCA-Simple-Profile-YAML-v1.0-cs01.html

  15. O’Hanlon, C.: A conversation with werner vogels. Queue 4(4), 14:14–14:22 (2006)

    Article  Google Scholar 

  16. Pahl, C., Brogi, A., Soldani, J., Jamshidi, P.: Cloud container technologies: a state-of-the-art review. IEEE Trans. Cloud Comput. (2017). https://doi.org/10.1109/TCC.2017.2702586

  17. Pahl, C., Jamshidi, P.: Microservices: a systematic mapping study. In: Proceedings of the 6th International Conference on Cloud Computing and Services Science, CLOSER 2016, vols. 1 and 2, pp. 137–146. SCITEPRESS - Science and Technology Publications, Lda (2016)

    Google Scholar 

  18. Schermann, G., Cito, J., Leitner, P.: All the services large and micro: revisiting industrial practice in services computing. In: Norta, A., Gaaloul, W., Gangadharan, G.R., Dam, H.K. (eds.) ICSOC 2015. LNCS, vol. 9586, pp. 36–47. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-50539-7_4

    Chapter  Google Scholar 

  19. Stubbs, J., Moreira, W., Dooley, R.: Distributed systems of microservices using docker and serfnode. In: 2015 7th International Workshop on Science Gateways, pp. 34–39, June 2015

    Google Scholar 

  20. Toffetti, G., Brunner, S., Blöchlinger, M., Dudouet, F., Edmonds, A.: An architecture for self-managing microservices. In: Proceedings of the 1st International Workshop on Automated Incident Management in Cloud, AIMC 2015, pp. 19–24. ACM, New York (2015)

    Google Scholar 

  21. Toffetti, G., Brunner, S., Blöchlinger, M., Spillner, J., Bohnert, T.M.: Self-managing cloud-native applications: design, implementation, and experience. Future Gener. Comput. Syst. 72(Suppl. C), 165–179 (2017)

    Google Scholar 

  22. Turnbull, J.: The Docker Book: Containerization is the new virtualization. James Turnbull (2014)

    Google Scholar 

  23. Zimmermann, O.: Microservices tenets. Comput. Sci. Res. Dev. 32(3–4), 301–310 (2017)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Stefan Kehrer .

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

Kehrer, S., Blochinger, W. (2019). Model-Based Generation of Self-adaptive Cloud Services. In: Muñoz, V., Ferguson, D., Helfert, M., Pahl, C. (eds) Cloud Computing and Services Science. CLOSER 2018. Communications in Computer and Information Science, vol 1073. Springer, Cham. https://doi.org/10.1007/978-3-030-29193-8_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-29193-8_3

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-29192-1

  • Online ISBN: 978-3-030-29193-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics