Advertisement

On Collaborative Model-Driven Development of Microservices

  • Jonas Sorgalla
  • Florian Rademacher
  • Sabine Sachweh
  • Albert Zündorf
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11176)

Abstract

Microservice Architecture (MSA) denotes an emerging architectural style for distributed and service-based systems whereby each microservice is highly cohesive and implements a single business capability. A microservice system consists of multiple, loosely coupled microservices. It provides complex capabilities through services interacting in choreographies. A single dedicated team, typically practicing DevOps, is responsible for each microservice, i.e., it “owns” the service. However, while systems relying on MSA have several architectural advantages especially for cloud applications, their realization is characterized by an increased accidental complexity due to redundant handcrafting of implementation, e.g., to make each service standalone runnable. A promising way to cope with such complexity is the usage of Model-driven Development (MDD) whereby models are used as first-class entities in the software development process. Although there are already first steps taken on how MDD could be applied by a single team to implement its microservices, the question of how MDD can be adapted to MSA’s development distribution across multiple teams remains an issue. In this paper we envision the application of Collaborative Model-driven Software Engineering (CMDSE) to MDD of MSA by surveying relevant characteristics of CMDSE and identifying challenges for its application to MSA. The present paper takes a first step towards enabling holistic MDD of MSA across microservice teams.

Keywords

Microservice architecture Model-driven development Collaborative model-driven software engineering Model-driven microservice development 

References

  1. 1.
    Balalaie, A., Heydarnoori, A., Jamshidi, P.: Microservices architecture enables devops: migration to a cloud-native architecture. IEEE Softw. 33(3), 42–52 (2016)CrossRefGoogle Scholar
  2. 2.
    Brambilla, M., Cabot, J., Wimmer, M.: Model-driven software engineering in practice. Synth. Lect. Softw. Eng. 1(1), 1–182 (2012)CrossRefGoogle Scholar
  3. 3.
    Briand, L.C., Labiche, Y., O’Sullivan, L.: Impact analysis and change management of UML models. In: Proceedings 2003 International Conference on Software Maintenance, 2003 ICSM, pp. 256–265. September 2003Google Scholar
  4. 4.
    Combemale, B., France, R., Jézéquel, J., Rumpe, B., Steel, J., Vojtisek, D.: Engineering Modeling Languages. Chapman & Hall/CRC innovations in software engineering and software development, Taylor & Francis, CRC Press (2016)Google Scholar
  5. 5.
    Combemale, B., Deantoni, J., Baudry, B., France, R.B., Jézéquel, J.M., Gray, J.: Globalizing Modeling Languages. Computer 10–13 (2014)Google Scholar
  6. 6.
    Di Ruscio, D., Franzago, M., Muccini, H., Malavolta, I.: Envisioning the future of collaborative model-driven software engineering. In: Proceedings of the 39th International Conference on Software Engineering Companion (2017)Google Scholar
  7. 7.
    Düllmann, T.F., van Hoorn, A.: Model-driven generation of microservice architectures for benchmarking performance and resilience engineering approaches. In: Proceedings of the 8th ACM/SPEC on International Conference on Performance Engineering Companion, ICPE 2017 Companion, pp. 171–172 (2017)Google Scholar
  8. 8.
    France, R., Rumpe, B.: Model-driven development of complex software: a research roadmap. In: 2007 Future of Software Engineering (2007)Google Scholar
  9. 9.
    Francesco, P., Lago, P., Malavolta, I.: Research on architecting microservices: trends, focus, and potential for industrial adoption. In: 2017 IEEE International Conference on Software Architecture (2017)Google Scholar
  10. 10.
    Franzago, M., Ruscio, D.D., Malavolta, I., Muccini, H.: Collaborative model-driven software engineering: a classification framework and a research map. IEEE Trans. Softw. Eng. (2017)Google Scholar
  11. 11.
    Kang, H., Le, M., Tao, S.: Container and microservice driven design for cloud infrastructure DevOps. In: 2016 IEEE International Conference on Cloud Engineering (IC2E), pp. 202–211, April 2016Google Scholar
  12. 12.
    Kniberg, H., Ivarsson, A.: Scaling Agile @ Spotify. Spotify, Inc. (2012)Google Scholar
  13. 13.
    Mistrík, I., Grundy, J., van der Hoek, A., Whitehead, J.: Collaborative Software Engineering: Challenges and Prospects, pp. 389–403. Springer, Heidelberg (2010).  https://doi.org/10.1007/978-3-642-10294-3_19CrossRefzbMATHGoogle Scholar
  14. 14.
    Nadareishvili, I., Mitra, R., McLarty, M., Amundsen, M.: Microservice Architecture: Aligning Principles, Practices, and Culture, 1st edn. O’Reilly Media Inc., Sebastopol (2016)Google Scholar
  15. 15.
    Newman, S.: Building Microservices, 1st edn. O’Reilly Media Inc., Sebastopol (2015)Google Scholar
  16. 16.
    Rademacher, F., Sachweh, S., Zündorf, A.: Differences between model-driven development of service-oriented and microservice architecture. In: 2017 IEEE International Conference on Software Architecture Workshops (ICSAW), pp. 38–45 (2017)Google Scholar
  17. 17.
    Rademacher, F., Sorgalla, J., Sachweh, S.: Challenges of domain-driven microservice design: a model-driven perspective. IEEE Softw. 35(3), 39–43 (2018)CrossRefGoogle Scholar
  18. 18.
    Rademacher, F., Sorgalla, J., Sachweh, S., Zündorf, A.: Microservice architectureand model-driven development: yet singles, soon married (?) In: Proceedings of the Second International Workshop on Microservices: Agile and DevOps Experience (MADE) (2018, in press)Google Scholar
  19. 19.
    Rademacher, F., Sorgalla, J., Sachweh, S., Zündorf, A.: Towardsaviewpoint-specific metamodel for model-driven development of microservice architecture (2018). arXiv:1804.09948
  20. 20.
    Schmidt, D.: Guest editor’s introduction: model-driven engineering. Computer 39(2), 25–31 (2006)CrossRefGoogle Scholar
  21. 21.
    Sorgalla, J.: Ajil: a graphical modeling language for the development of microservice architectures. In: Extended Abstracts of the Microservices 2017 Conference (2017). www.conf-micro.services/papers/Sorgalla.pdf
  22. 22.
    Sorgalla, J., Rademacher, F., Sachweh, S., Zündorf, A.: Collaborative model-driven software engineering and microservice architecture: a perfect match? In: XP 2018 Workshops (2018). acceptedGoogle Scholar
  23. 23.
    Wiedemann, A.: A new form of collaboration in it teams - exploring the DevOps phenomenon. In: PACIS 2017 Proceedings (2017)Google Scholar
  24. 24.
    Wizenty, P., Sorgalla, J., Rademacher, F., Sachweh, S.: Magma: build management-based generation of microservice infrastructures. In: Proceedings of ECSA 2017 (2017)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2018

Authors and Affiliations

  1. 1.Institute for the Digital Transformation of Application and Living DomainsUniversity of Applied Sciences and Arts DortmundDortmundGermany
  2. 2.Department of Computer Science and Electrical Engineering Software Engineering Research GroupUniversity of KasselKasselGermany

Personalised recommendations