AUTOMATED DEPLOYMENT OF A SOFTWARE ENVIRONMENT FOR MICROSERVICES IN A RAPIDLY CHANGING TECHNOLOGY STACK
DOI:
https://doi.org/10.30837/ITSSI.2021.18.023Keywords:
deployment of the environment, microservice architecture, distributed infrastructure, technological stack, saving resources and moneyAbstract
The article is devoted to the development and substantiation of practical recommendations regarding the formation of a mechanism for deploying a software environment for creating and executing microservices in a rapidly changing technological stack. The subject of the research is the basics of building a system for automated deployment of a software environment for the development and execution of microservices. The purpose of the article is to develop and substantiate practical recommendations for the formation of a mechanism for deploying a software environment for creating and executing microservices in a rapidly changing technological stack. The task of the work: to determine the necessary elements of the deployment mechanism of the software environment and provide an analysis of the functional load for each of them, set specific tasks that must be solved when building each of them, propose and justify the choice of tools for their solution. In the course of the study, the methods of system analysis were used to decompose a complex system into elements and each element into functional components. As of the study, it was established that such a mechanism should consist of the following elements: a universal server initialization a result subsystem for any technological stack and a software environment deployment subsystem for developing or executing an application of a certain type on a certain technological stack. Each element is described in detail, its functional load is shown and its role in the overall system is substantiated. It is shown that such a standardized approach to the deployment of the development and runtime environment allows, among other things, to solve the problem of operating microservices in a tested environment. Conclusions. Practical recommendations for the formation of a mechanism for deploying a software environment for creating and executing microservices in a rapidly changing technological stack have been developed and substantiated. This mechanism is automated. It shows its flexibility and versatility in relation to programming languages and other features of the software environment. It is pointed out that when implemented in the shell language, bash does not need any third-party applications for its work. The economic benefit of using the proposed mechanism is shown. The ways of its improvement are shown.
References
Rademacher, F., Sachweh, S., Zündorf, A. (2020), "A Modeling Method for Systematic Architecture Reconstruction of Microservice-Based Software Systems", In: Nurcan S., Reinhartz-Berger I., Soffer P., Zdravkovic J. (eds) Enterprise, Business-Process and Information Systems Modeling. BPMDS 2020, EMMSAD 2020. Lecture Notes in Business Information Processing, Springer, Cham, Vol. 387. DOI: https://doi.org/10.1007/978-3-030-49418-6_21
Zolotariov, D. (2020), "The distributed system of automated computing based on cloud infrastructure", Innovative Technologies and Scientific Solutions for Industries, No. 4 (14), P. 47–55. DOI: https://doi.org/10.30837/ITSSI.2020.14.047
Zolotariov, D. (2021), "The mechanism for creation of event-driven applications based on Wolfram Mathematica and Apache Kafka", Innovative Technologies and Scientific Solutions for Industries, No. 1 (15), P. 53–58. DOI: https://doi.org/10.30837/ITSSI.2021.15.053
Zolotariov, D. (2021), "The platform for creation of event-driven applications based on Wolfram Mathematica and Apache Kafka", Innovative Technologies and Scientific Solutions for Industries, No. 2 (16), P. 12–18. DOI: https://doi.org/10.30837/ITSSI.2021.16.012
Zolotariov, D. (2021), "Microservice architecture for building high-availability distributed automated computing system in a cloud infrastructure", Innovative Technologies and Scientific Solutions for Industries, No. 3 (17), P. 13–22. DOI: https://doi.org/10.30837/ITSSI.2021.17.013
da Silva, H. H. S., de F. Carneiro G., Monteiro, M. P. (2019), "An Experience Report from the Migration of Legacy Software Systems to Microservice Based Architecture", In: Latifi S. (eds) 16th International Conference on Information Technology-New Generations (ITNG 2019). Advances in Intelligent Systems and Computing, Springer, Cham, Vol. 800. DOI: https://doi.org/10.1007/978-3-030-14070-0_26
Bucchiarone, A., Dragoni, N., Dustdar, S., et al. (2018), "From monolithic to microservices: an experience report from the banking domain", IEEE Softw, No. 35 (3), P. 50–55.
Levcovitz, A., Terra, R., Valente, M. T. (2015), "Towards a technique for extracting microservices from monolithic enterprise systems", In: Proceedings of VEM’15, P. 97–104.
Munari, S., Valle, S., Vardanega, T. (2018), "Microservice-Based Agile Architectures: An Opportunity for Specialized Niche Technologies", In: Casimiro A., Ferreira P. (eds) Reliable Software Technologies – Ada-Europe 2018. Ada-Europe 2018. Lecture Notes in Computer Science, Springer, Cham, Vol. 10873. DOI: https://doi.org/10.1007/978-3-319-92432-8_10
Sorgalla, J., Sachweh, S., Zündorf, A. (2020), "Exploring the Microservice Development Process in Small and Medium-Sized Organizations", In: Morisio M., Torchiano M., Jedlitschka A. (eds) Product-Focused Software Process Improvement. PROFES 2020. Lecture Notes in Computer Science, Springer, Cham, Vol. 12562. DOI: https://doi.org/10.1007/978-3-030-64148-1_28
Google Trends (2021), "Microservice architecture – Google Trends", available at: https://trends.google.ru/trends/explore?date=today%205-y&q=%2Fm%2F011spz0k (last accessed 5 February 2021).
CIO Dive (2021), "Guardian Life steers tech transformation with microservices", available at: https://www.ciodive.com/news/Cloud-Microservices-Guardian-Life/578732/ (last accessed 5 February 2021).
Nasiri, H., Nasehi, S., Goudarzi, M. (2019), "Evaluation of distributed stream processing frameworks for IoT applications in Smart Cities", Journal of Big Data, Vol. 6, No. 52. DOI: https://doi.org/10.1186/s40537-019-0215-2
Martin Fowler (2014), "Microservices", available at: https://martinfowler.com/articles/microservices.html (last accessed 5 February 2021).
Chatley, R., Donaldson, A., Mycroft, A. (2019), "The Next 7000 Programming Languages", In: Steffen B., Woeginger G. (eds) Computing and Software Science. Lecture Notes in Computer Science, Springer, Cham, Vol. 10000. DOI: https://doi.org/10.1007/978-3-319-91908-9_15
DOU (2021), "Ranking of programming languages 2020: JavaScript is ahead of Java, and Dart entered the first league", available at: https://dou.ua/lenta/articles/language-rating-jan-2020/ (last accessed 5 February 2021).
Lee, C. Y. (2019), "Temporal Correlation Analysis of Programming Language Popularity", J. Korean Phys. Soc., Vol. 75, P. 755–763. DOI: https://doi.org/10.3938/jkps.75.755
Vadim Madison (2018), "What do we know about microservices?" ["Chto my znayem o mikroservisakh?"], HighLoad ++ 2018, Professional conference for developers of high-load systems, Moscow.
Semantic Versioning (2021), "Semantic Versioning 2.0.0", available at: https://semver.org/lang/ru/ (last accessed 5 February 2021).
Downloads
Published
How to Cite
Issue
Section
License
Copyright (c) 2021 Denis Zolotariov
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Our journal abides by the Creative Commons copyright rights and permissions for open access journals.
Authors who publish with this journal agree to the following terms:
Authors hold the copyright without restrictions and grant the journal right of first publication with the work simultaneously licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License (CC BY-NC-SA 4.0) that allows others to share the work with an acknowledgment of the work's authorship and initial publication in this journal.
Authors are able to enter into separate, additional contractual arrangements for the non-commercial and non-exclusive distribution of the journal's published version of the work (e.g., post it to an institutional repository or publish it in a book), with an acknowledgment of its initial publication in this journal.
Authors are permitted and encouraged to post their published work online (e.g., in institutional repositories or on their website) as it can lead to productive exchanges, as well as earlier and greater citation of published work.