Abstracting Containerisation and Orchestration for Cloud-Native Applications

  • José Ghislain QuenumEmail author
  • Gervasius Ishuuwa
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 12403)


Developing cloud-native applications demands a radical shift from the way we design and build traditional applications. Application designers usually divide their business logic into several business functions, each developed according to a microservices architectural style and packaged in containers. Throughout the stages of cloud-native application development (development, testing, staging and production), container orchestration helps coordinate the execution environment. Thanks to the increasing popularity of cloud-native applications, there has been a growing interest in container and orchestration technologies recently. However, despite their closeness, these two inter-related technologies are supported by different toolsets and specification formalisms, with minimal portability between them and usually a disregard for the best practices. This paper presents velo, a domain-specific language (DSL) that unifies containerisation and orchestration concepts. velo has two components: (1) a specification language that supports an abstract description of containerisation and orchestration for a complex application; and (2) a transpiler, a source-to-source compiler into concrete container manifest and orchestration description.


Containerisation Orchestration Domain-specific language Transpiler 


  1. 1.
    de Alfonso, C., Calatrava, A., Moltó, G.: Container-based virtual elastic clusters. J. Syst. Softw. 127, 1–11 (2017)Google Scholar
  2. 2.
    Babenyshev, S., Rybakov, V.: Linear temporal logic LTL: basis for admissible rules. J. Logic Comput., pp. 157–177. (2011). Scholar
  3. 3.
    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). Scholar
  4. 4.
    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.
  5. 5.
    Donovan, A.A., Kernighan, B.W.: The Go Programming Language, 1st edn. Addison-Wesley Professional, Boston (2015)Google Scholar
  6. 6.
    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 2015, Philadelphia, PA, USA, 29–31 March 2015, pp. 171–172 (2015).
  7. 7.
    Ferry, N., Chauvel, F., Rossini, A., Morin, B., Solberg, A.: Managing multi-cloud systems with cloudMF. In: Proceedings of the Second Nordic Symposium on Cloud Computing & Internet Technologies, pp. 38–45. ACM (2013)Google Scholar
  8. 8.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-oriented Software. Addison-Wesley Longman Publishing Co., Inc., Boston (1995)zbMATHGoogle Scholar
  9. 9.
    Goncalves, G., et al.: Cloudml: an integrated language for resource, service and request description for d-clouds. In: 2011 IEEE Third International Conference on Cloud Computing Technology and Science, pp. 399–406. IEEE (2011)Google Scholar
  10. 10.
    Kratzke, N.: About microservices, containers and their underestimated impact on network performance. CoRR abs/1710.04049 (2017)Google Scholar
  11. 11.
    Kratzke, N.: Smuggling multi-cloud support into cloud-native applications using elastic container platforms. In: CLOSER, pp. 29–42 (2017)Google Scholar
  12. 12.
    Linthicum, D.S.: Moving to autonomous and self-migrating containers for cloud applications. IEEE Cloud Comput. 3(6), 6–9 (2016)Google Scholar
  13. 13.
    McCracken, D.D., Reilly, E.D.: Backus-naur form (BNF). In: Encyclopedia of Computer Science, pp. 129–131. John Wiley and Sons Ltd., Chichester, UK (2003).
  14. 14.
    Pahl, C., Brogi, A., Soldani, J., Jamshidi, P.: Cloud container technologies: a state-of-the-art review. IEEE Trans. Cloud Comput. 1 (2017).
  15. 15.
    Parr, T.J., Quong, R.W.: ANTLR: a predicated-LL(k) parser generator. Softw. Pract. Exper. 25(7), 789–810 (1995). Scholar
  16. 16.
    Parr, T.P., Fisher, K.: LL(*): the foundation of the ANTLR parser generator. In: PLDI, pp. 425–436. ACM (2011)Google Scholar
  17. 17.
    Peinl, R., Holzschuher, F., Pfitzer, F.: Docker cluster management for the cloud-survey results and own solution. J. Grid Comput. 14(2), 265–282 (2016)Google Scholar
  18. 18.
    Quint, P., Kratzke, N.: Towards a lightweight multi-cloud DSL for elastic and transferable cloud-native applications. In: CLOSER, pp. 400–408. SciTePress (2018)Google Scholar
  19. 19.
    Rodríguez, P., et al.: Continuous deployment of software intensive products and services: a systematic mappingstudy. J. Syst. Softw. 123, 263–291 (2017). Scholar
  20. 20.
  21. 21.
    Soltesz, S., Pötzl, H., Fiuczynski, M.E., Bavier, A., Peterson, L.: Container-based operating system virtualization: a scalable, high-performance alternative to hypervisors. SIGOPS Oper. Syst. Rev. 41(3), 275–287 (2007).
  22. 22.
    TOML. Accessed 8 June 2019Google Scholar
  23. 23.
    Zaytsev, V.: BNF was here: what have we done about the unnecessary diversity of notation for syntactic definitions. In: Proceedings of the 27th Annual ACM Symposium on Applied Computing SAC 2012, pp. 1910–1915. ACM, New York (2012).

Copyright information

© Springer Nature Switzerland AG 2020

Authors and Affiliations

  1. 1.Namibia University of Science and TechnologyWindhoekNamibia

Personalised recommendations