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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Balalaie, A., Heydarnoori, A., Jamshidi, P.: Microservices architecture enables devops: migration to a cloud-native architecture. IEEE Softw. 33(3), 42–52 (2016)
Brambilla, M., Cabot, J., Wimmer, M.: Model-driven software engineering in practice. Synth. Lect. Softw. Eng. 1(1), 1–182 (2012)
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 2003
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)
Combemale, B., Deantoni, J., Baudry, B., France, R.B., Jézéquel, J.M., Gray, J.: Globalizing Modeling Languages. Computer 10–13 (2014)
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)
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)
France, R., Rumpe, B.: Model-driven development of complex software: a research roadmap. In: 2007 Future of Software Engineering (2007)
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)
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)
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 2016
Kniberg, H., Ivarsson, A.: Scaling Agile @ Spotify. Spotify, Inc. (2012)
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_19
Nadareishvili, I., Mitra, R., McLarty, M., Amundsen, M.: Microservice Architecture: Aligning Principles, Practices, and Culture, 1st edn. O’Reilly Media Inc., Sebastopol (2016)
Newman, S.: Building Microservices, 1st edn. O’Reilly Media Inc., Sebastopol (2015)
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)
Rademacher, F., Sorgalla, J., Sachweh, S.: Challenges of domain-driven microservice design: a model-driven perspective. IEEE Softw. 35(3), 39–43 (2018)
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)
Rademacher, F., Sorgalla, J., Sachweh, S., Zündorf, A.: Towardsaviewpoint-specific metamodel for model-driven development of microservice architecture (2018). arXiv:1804.09948
Schmidt, D.: Guest editor’s introduction: model-driven engineering. Computer 39(2), 25–31 (2006)
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
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). accepted
Wiedemann, A.: A new form of collaboration in it teams - exploring the DevOps phenomenon. In: PACIS 2017 Proceedings (2017)
Wizenty, P., Sorgalla, J., Rademacher, F., Sachweh, S.: Magma: build management-based generation of microservice infrastructures. In: Proceedings of ECSA 2017 (2017)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer Nature Switzerland AG
About this paper
Cite this paper
Sorgalla, J., Rademacher, F., Sachweh, S., Zündorf, A. (2018). On Collaborative Model-Driven Development of Microservices. In: Mazzara, M., Ober, I., Salaün, G. (eds) Software Technologies: Applications and Foundations. STAF 2018. Lecture Notes in Computer Science(), vol 11176. Springer, Cham. https://doi.org/10.1007/978-3-030-04771-9_45
Download citation
DOI: https://doi.org/10.1007/978-3-030-04771-9_45
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-04770-2
Online ISBN: 978-3-030-04771-9
eBook Packages: Computer ScienceComputer Science (R0)