A Model-Driven Architecture for Automated Deployment of Microservices
Source abstract
Abstract
Microservice architecture consists of a collection of loosely coupled, self-contained services that can be deployed independently. Given the limited capacity of the resources for a large number of services, the deployment of the services does not scale well and leads to operational complexity and runtime overhead. This paper proposes a model-driven approach for the automated deployment of microservices to minimize the execution cost and communication costs among the microservices. The identification of the feasible deployment is defined at the architecture design level based on the provided capacity of the resources and the collection of microservices. The corresponding tool support using Eclipse Modeling Environment is described, and a case study on book shopping is used to illustrate the approach.
Source: crossref · Quality: baseline
Research context
OpenAlex topics: Software System Performance and Reliability · Advanced Software Engineering Methodologies · Service-Oriented Architecture and Web Services
SciVX discovery tags are terminology-based. OpenAlex topics are source-provided classifications.
Affiliations
Department of Computer Engineering, Erzurum Technical University, 25050 Erzurum, Turkey
BITES Defense & Aerospace, 06800 Ankara, Turkey
Department of Computer Engineering, Hacettepe University, 06800 Ankara, Turkey
Information Technology Group, Wageningen University, 6708 PB Wageningen, The Netherlands
References (34)
Show source-provided references
1. Bravetti, M., Giallorenzo, S., Mauro, J., Talevi, I., and Zavattaro, G. (2019). Optimal and automated deployment for microservices. International Conference on Fundamental Approaches to Software Engineering, Springer.10.1007/978-3-030-16722-6_21 ↗
2. Rademacher, F., Sorgalla, J., Wizenty, P.N., Sachweh, S., and Zündorf, A. (2018, January 21–25). Microservice architecture and model-driven development: Yet singles, soon married (?). Proceedings of the 19th International Conference on Agile Software Development: Companion, Porto, Portugal.10.1145/3234152.3234193 ↗
3. Granchelli, G., Cardarelli, M., di Francesco, P., Malavolta, I., Iovino, L., and di Salle, A. (2017). Microart: A software architecture recovery tool for maintaining microservice-based systems. 2017 IEEE International Conference on Software Architecture Workshops (ICSAW), IEEE.10.1109/ICSAW.2017.9 ↗
4. Düllmann, T.F., and van Hoorn, A. (2017, January 22–26). Model-driven generation of microservice architectures for benchmarking performance and resilience engineering approaches. Proceedings of the 8th ACM/SPEC on International Conference on Performance Engineering Companion, L’Aquila, Italy.10.1145/3053600.3053627 ↗
5. Ali, T.A.A., Xiao, Z., Sun, J., Mirjalili, S., Havyarimana, V., and Jiang, H. (2019). Optimal design of IIR wideband digital differentiators and integrators using salp swarm algorithm. Knowl.-Based Syst., 182.10.1016/j.knosys.2019.07.005 ↗
6. A price-based optimization strategy of power control and resource allocation in full-duplex heterogeneous macrocell-femtocell networks10.1109/ACCESS.2018.2856627 ↗
7. Eclipse (2021, March 20). Emfatic. Available online: https://www.eclipse.org/emfatic/.
8. Eugenia: Towards disciplined and automated development of GMF-based graphical model editors10.1007/s10270-015-0455-3 ↗
9. Rademacher, F., Sorgalla, J., Sachweh, S., and Zündorf, A. (2019, January 8–12). A model-driven workflow for distributed microservice development. Proceedings of the 34th ACM/SIGAPP Symposium on Applied Computing, Limassol, Cyprus.10.1145/3297280.3300182 ↗
10. Çelik, T. (2013). Federe Tabanlı Koşut ve Dağıtılmış Benzetim Sistemlerinin Mimari Modellemesi. [Ph.D. Thesis, Hacettepe University].
11. Liddle, S.W. (2011). Model-driven software development. Handbook of Conceptual Modeling, Springer.10.1007/978-3-642-15865-0_2 ↗
12. Allilaire, F., Bézivin, J., Jouault, F., and Kurtev, I. (2006, January 3–7). ATL-eclipse support for model transformation. Proceedings of the Eclipse Technology eXchange workshop (eTX) at the ECOOP 2006 Conference, Nantes, France.
13. On the unification power of models10.1007/s10270-005-0079-0 ↗
14. Eclipse (2021, August 21). Eclipse Model to Text Transformation. Available online: http://www.eclipse.org/modeling/m2t/.
15. Eclipse (2021, August 21). Eclipse XText Project Web Site. Available online: http://www.eclipse.org/Xtext.
16. Eclipse (2021, August 21). Grammar to Model Language. Available online: http://modelum.es/trac/gra2mol/.
17. Izquierdo, J.L.C., and Molina, J.G. (2009, January 23–26). A domain specific language for extracting models in software modernization. Proceedings of the European Conference on Model Driven Architecture-Foundations and Applications, Enschede, The Netherlands.
18. Eclipse (2021, May 20). Eclipse Modeling Framework (EMF). Available online: https://www.eclipse.org/modeling/emf/.
19. Eclipse (2021, May 14). GMF Tooling. Available online: https://www.eclipse.org/gmf-tooling/.
20. Eclipse (2021, August 02). Eclipse Modeling Tools. Available online: http://www.test.org/doe/.
21. Eclipse (2021, March 20). Eclipse Modeling Framework Technology (EMFT). Available online: https://www.eclipse.org/modeling/emft/.
22. Microservices tenets10.1007/s00450-016-0337-0 ↗
23. Neuman, S. (2015). Building microservices: Designing fine-grained systems, O’Reilly Media Publishing.
24. Nadareishvili, I., Mitra, R., McLarty, M., and Amundsen, M. (2016). Microservice Architecture: Aligning Principles, Practices, and Culture, O’Reilly Media Publishing.
25. Rademacher, F., Sachweh, S., and Zündorf, A. (2017, January 5–7). Differences between model-driven development of service-oriented and microservice architecture. Proceedings of the 2017 IEEE International Conference on Software Architecture Workshops (ICSAW), Gothenburg, Sweden.10.1109/ICSAW.2017.32 ↗
26. gRPC (2021, March 20). A high performance, open source universal RPC framework. Available online: https://grpc.io/.
27. (2021, March 20). Language Guide (proto3). Available online: https://developers.google.com/protocol-buffers/docs/proto3.
28. Mehrabi, A., Mehrabi, S., and Mehrabi, A.D. (2009, January 22–24). An adaptive genetic algorithm for multiprocessor task assignment problem with limited memory. Proceedings of the World Congress on Engineering and Computer Science, San Francisco, CA, USA.
29. Pirim, T. (2006). A Hybrid Metaheuristic Algorithm for Solving Capacitated Task Allocation Problems as Modified XQX Problems, University of Mississippi.
30. Systematic Approach for Generation of Feasible Deployment Alternatives for Microservices10.1109/ACCESS.2021.3057582 ↗
31. (2021, August 12). Acceleo User Guide. Available online: https://wiki.eclipse.org/Acceleo/User_Guide.
32. Pech, V., Shatalin, A., and Voelter, M. (2013, January 11–13). JetBrains MPS as a tool for extending Java. Proceedings of the 2013 International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools, Stuttgart, Germany.10.1145/2500828.2500846 ↗
33. Karris, S.T. (2006). Introduction to Simulink with Engineering Applications, Orchard Publications.
34. Eclipse (2021, May 12). Sirius. Available online: https://www.eclipse.org/sirius/.