TosKer: Orchestrating Applications with TOSCA and Docker

Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 824)

Abstract

Docker is emerging as a simple yet effective solution for deploying and managing multi-component applications in virtualised cloud platforms. Application components can be shipped within portable and lightweight Docker containers, which can then be interconnected to allow components to interact each other. At the same time, the need for an enhanced support for orchestrating the management of the application components shipped within Docker containers is emerging.

In this paper we show how TOSCA can be exploited to provide such an enhanced support, by proposing a representation for describing the components forming an application, as well as the Docker containers used to ship such components. We also present TosKer, an engine for orchestrating the management of multi-component applications based on the proposed TOSCA representation and on Docker.

Notes

Acknowledgments

The authors would like to thank Claus Pahl for all helpful and stimulating discussions on how to enhance the current support for orchestrating multi-component applications with Docker, which were reported in [11] and laid the foundations for the work presented in this paper.

References

  1. 1.
    Apache Software Foundation: Brooklyn. http://brooklyn.apache.org
  2. 2.
    Apache Software Foundation: Mesos. http://mesos.apache.org/
  3. 3.
    Armbrust, M., Fox, A., Griffith, R., Joseph, A.D., Katz, R., Konwinski, A., Lee, G., Patterson, D., Rabkin, A., Stoica, I., Zaharia, M.: A view of cloud computing. Commun. ACM 53(4), 50–58 (2010)CrossRefGoogle Scholar
  4. 4.
    Binz, T., Breitenbücher, U., Haupt, F., Kopp, O., Leymann, F., Nowak, A., Wagner, S.: OpenTOSCA – a runtime for TOSCA-based cloud applications. In: Basu, S., Pautasso, C., Zhang, L., Fu, X. (eds.) ICSOC 2013. LNCS, vol. 8274, pp. 692–695. Springer, Heidelberg (2013).  https://doi.org/10.1007/978-3-642-45005-1_62CrossRefGoogle Scholar
  5. 5.
    Binz, T., Breitenbücher, U., Kopp, O., Leymann, F.: TOSCA: portable automated deployment and management of cloud applications. In: Bouguettaya, A., Sheng, Q., Daniel, F. (eds.) Advanced Web Services, pp. 527–549. Springer, New York (2014).  https://doi.org/10.1007/978-1-4614-7535-4_22CrossRefGoogle Scholar
  6. 6.
    Brogi, A., Canciani, A., Neri, D., Rinaldi, L., Soldani, J.: Towards a reference dataset of microservice-based applications. In: Cerone, A., Roveri, M. (eds.) SEFM 2017. LNCS, vol. 10729, pp. 219–229. Springer, Cham (2018).  https://doi.org/10.1007/978-3-319-74781-1_16CrossRefGoogle Scholar
  7. 7.
    Brogi, A., Canciani, A., Soldani, J.: Fault-aware application management protocols. In: Aiello, M., Johnsen, E.B., Dustdar, S., Georgievski, I. (eds.) ESOCC 2016. LNCS, vol. 9846, pp. 219–234. Springer, Cham (2016).  https://doi.org/10.1007/978-3-319-44482-6_14CrossRefGoogle Scholar
  8. 8.
    Brogi, A., Carrasco, J., Cubo, J., D’Andria, F., Ibrahim, A., Pimentel, E., Soldani, J.: EU Project SeaClouds - adaptive management of service-based applications across multiple clouds. In: Proceedings of the 4th International Conference on Cloud Computing and Services Science (CLOSER 2014), pp. 758–763 (2014)Google Scholar
  9. 9.
    Brogi, A., Di Tommaso, A., Soldani, J.: Validating TOSCA application topologies. In: Proceedings of the 5th International Conference on Model-Driven Engineering and Software Development, MODELSWARD, vol. 1, pp. 667–678. SciTePress (2017)Google Scholar
  10. 10.
    Brogi, A., Neri, D., Rinaldi, L., Soldani, J.: From (incomplete) TOSCA specifications to running applications, with Docker. In: Cerone, A., Roveri, M. (eds.) SEFM 2017. LNCS, vol. 10729, pp. 491–506. Springer, Cham (2018).  https://doi.org/10.1007/978-3-319-74781-1_33CrossRefGoogle Scholar
  11. 11.
    Brogi, A., Pahl, C., Soldani, J.: Enhancing the orchestration of multi-container Docker applications (2016). Submitted for PublicationGoogle Scholar
  12. 12.
    Brogi, A., Soldani, J., Wang, P.W.: TOSCA in a Nutshell: promises and perspectives. In: Villari, M., Zimmermann, W., Lau, K.-K. (eds.) ESOCC 2014. LNCS, vol. 8745, pp. 171–186. Springer, Heidelberg (2014).  https://doi.org/10.1007/978-3-662-44879-3_13CrossRefGoogle Scholar
  13. 13.
    Di Cosmo, R., Mauro, J., Zacchiroli, S., Zavattaro, G.: Aeolus: a component model for the cloud. Inf. Comput. 239, 100–121 (2014)MathSciNetCrossRefMATHGoogle Scholar
  14. 14.
    Docker Inc.: Docker. https://www.docker.com/
  15. 15.
    Docker Inc.: Docker compose. https://github.com/docker/compose
  16. 16.
    Docker Inc.: Docker swarm. https://github.com/docker/swarm
  17. 17.
    FastConnect, Bull, Atos: Alien4cloud. https://alien4cloud.github.io/
  18. 18.
    Fehling, C., Leymann, F., Retter, R., Schupeck, W., Arbitter, P.: Cloud Computing Patterns: Fundamentals to Design, Build, and Manage Cloud Applications. Springer, Vienna (2014).  https://doi.org/10.1007/978-3-7091-1568-8CrossRefGoogle Scholar
  19. 19.
    Felter, W., Ferreira, A., Rajamony, R., Rubio, J.: An updated performance comparison of virtual machines and Linux containers. In: 2015 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS), pp. 171–172. IEEE Computer Society (2015)Google Scholar
  20. 20.
    GigaSpaces Technologies: Cloudify. http://cloudify.co/
  21. 21.
    Lascu, T.A., Mauro, J., Zavattaro, G.: A planning tool supporting the deployment of cloud applications. In: Proceedings of the 2013 IEEE 25th International Conference on Tools with Artificial Intelligence, ICTAI 2013, pp. 213–220. IEEE Computer Society (2013)Google Scholar
  22. 22.
    Leymann, F.: Cloud computing. it – Information Technology, Methoden und innovative Anwendungen der Informatik und Informationstechnik 53(4), 163–164 (2011)Google Scholar
  23. 23.
    Matthias, K., Kane, S.P.: Docker: Up and Running. O’Reilly Media, Sebastopol (2015)Google Scholar
  24. 24.
    Newman, S.: Building Microservices. O’Reilly Media, Inc., Sebastopol (2015)Google Scholar
  25. 25.
    OASIS: Topology and Orchestration Specification for Cloud Applications (TOSCA), Version 1.0 (2013). http://docs.oasis-open.org/tosca/TOSCA/v1.0/TOSCA-v1.0.pdf
  26. 26.
    OASIS: Cloud Application Management for Platforms (CAMP), Version 1.1 (2016). http://docs.oasis-open.org/camp/camp-spec/v1.1/camp-spec-v1.1.pdf
  27. 27.
    OASIS: Topology and Orchestration Specification for Cloud Applications (TOSCA) Simple Profile in YAML, Version 1.0 (2016). http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/TOSCA-Simple-Profile-YAML-v1.0.pdf
  28. 28.
    Pahl, C.: Containerization and the paas cloud. IEEE Cloud Comput. 2(3), 24–31 (2015)CrossRefGoogle Scholar
  29. 29.
    Pahl, C., Brogi, A., Soldani, J., Jamshidi, P.: Cloud container technologies: a state-of-the-art review. IEEE Trans. Cloud Comput. (in press).  https://doi.org/10.1109/TCC.2017.2702586. Early access: http://ieeexplore.ieee.org/document/7922500/
  30. 30.
    Pahl, C., Lee, B.: Containers and clusters for edge cloud architectures - a technology review. In: Proceedings of the 2015 3rd International Conference on Future Internet of Things and Cloud, FICLOUD 2015, pp. 379–386. IEEE Computer Society (2015)Google Scholar
  31. 31.
    Smith, R.: Docker Orchestration. Packt Publishing, Birmingham (2017)Google Scholar
  32. 32.
    The Kubernetes Authors: Kubernetes. http://kubernetes.io/

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Department of Computer ScienceUniversity of PisaPisaItaly

Personalised recommendations