A survey on organizational choices for microservice-based software architectures

A survey on organizational choices for microservice-based software architectures

During the last decade, the demand for more flexible, responsive, and reliable software applications increased exponentially. The availability of internet infrastructure and new software technologies to respond to this demand led to a new generation of applications. As a result, cloud-based, distributed, independently deployable web applications working together in a microservice-based software architecture style have gained popularity. The style has been a common practice in the industry and successfully utilized by companies. Adopting this style demands software organizations to transform their culture. However, there is a lack of research studies that explores common practices for microservices. Thus, we performed a survey to explore the organizational choices on software analysis, design, size measurement, and effort estimation when working with microservices. The results provide a snapshot of the software industry that utilizes microservices. We provide insight for software organizations to transform their culture and suggest challenges researchers can focus on in the area

___

  • [1] Sampaio AR, Kadiyala H, Hu B, Steinbacher J, Erwin T et al. Supporting Microservice Evolution. In: 2017 IEEE International Conference on Software Maintenance and Evolution (ICSME); 2017. pp.539-543. doi:10.1109/ICSME.2017.63
  • [2] Thönes J. Microservices. IEEE Software. 2015;32 (1):116-116. doi:10.1109/MS.2015.11 [3] Ivanchikj A, Pautasso C, Schreier S. Visual modeling of RESTful conversations with RESTalk. Softw Syst Model. 2018;17 (3):1031-1051. doi:10.1007/s10270-016-0532-2
  • [4] Di Francesco P, Lago P, Malavolta I. Architecting with microservices: A systematic mapping study. Journal of Systems and Software. 2019;150:77-97. doi:10.1016/j.jss.2019.01.001
  • [5] Larrucea X, Santamaria I, Colomo-Palacios R, Ebert C. Microservices. IEEE Software. 2018;35 (3):96-100. doi:10.1109/MS.2018.2141030
  • [6] Dragoni N, Giallorenzo S, Lafuente AL, Mazzara M, Montesi F et al. Microservices: Yesterday, Today, and Tomorrow. In: Mazzara M, Meyer B, eds. Present and Ulterior Software Engineering. Springer International Publishing; 2017;195-216. doi:10.1007/978-3-319-67425-4_12
  • [7] Unlu H, Tenekeci S, Yıldız A, Demirors O. Event Oriented vs Object Oriented Analysis for Microservice Architecture: An Exploratory Case Study. In: 47th Euromicro Conference on Software Engineering and Advanced Applications (SEAA 2021); 2021;244-251. doi: 10.1109/SEAA53835.2021.00038
  • [8] Unlu H, Hacaloglu T, Leblebici O, Demirors O. Effort Prediction for Microservices: A Case Study. In: 15. Turkish National Software Engineering Symposium (UYMS 2021); 2021;1-6. doi: 10.1109/UYMS54260.2021.9659766
  • [9] Bandeira A, Medeiros CA, Paixao M, Maia PH. We Need to Talk About Microservices: an Analysis from the Discussions on StackOverflow. In: 2019 IEEE/ACM 16th International Conference on Mining Software Repositories (MSR);2019. pp.255-259. doi:10.1109/MSR.2019.00051
  • [10] Soldani J, Tamburri DA, Van Den Heuvel W-J. The pains and gains of microservices: A Systematic grey literature review. Journal of Systems and Software. 2018;146:215-232. doi:10.1016/j.jss.2018.09.082
  • [11] Bogner J, Fritzsch J, Wagner S, Zimmermann A. Microservices in Industry: Insights into Technologies, Characteristics, and Software Quality. In: 2019 IEEE International Conference on Software Architecture Companion (ICSA-C);2019. pp.187-195. doi:10.1109/ICSA-C.2019.00041
  • [12] Ghofrani J, Lübke D. Challenges of Microservices Architecture: A Survey on the State of the Practice. In: ZEUS; 2018. pp.1-8.
  • [13] Zhou X, Peng X, Xie T, Sun J, Ji C et al. Fault Analysis and Debugging of Microservice Systems: Industrial Survey, Benchmark System, and Empirical Study. IEEE Transactions on Software Engineering. 2021;47 (2):243- 260. doi:10.1109/TSE.2018.2887384
  • [14] Taibi D, Lenarduzzi V, Pahl C. Processes, Motivations, and Issues for Migrating to Microservices Architectures: An Empirical Investigation. IEEE Cloud Computing. 2017;4 (5):22-32. doi:10.1109/MCC.2017.4250931
  • [15] Carvalho L, Garcia A, Assunção W, Mello R, Julia de Lima M. Analysis of the Criteria Adopted in Industry to Extract Microservices. In: 2019 IEEE/ACM Joint 7th International Workshop on Conducting Empirical Studies in Industry (CESI) and 6th International Workshop on Software Engineering Research and Industrial Practice (SER IP);2019. pp.22-29. doi:10.1109/CESSER-IP.2019.00012
  • [16] Di Francesco P, Lago P, Malavolta I. Migrating Towards Microservice Architectures: An Industrial Survey. In: 2018 IEEE International Conference on Software Architecture (ICSA);2018. pp.29-2909. doi:10.1109/ICSA.2018.00012
  • [17] Balalaie A, Heydarnoori A, Jamshidi P, Tamburri DA, Lynn T. Microservices migration patterns. Software: Practice and Experience. 2018;48 (11):2019-2042. doi:https://doi.org/10.1002/spe.2608
  • [18] Viggiato M, Terra R, Rocha H, Valente MT, Figueiredo E. Microservices in Practice: A Survey Study. In VEM 2018-6th Workshop on Software Visualization, Evolution and Maintenance, Sep 2018, Sao Carlos, Brazil.
  • [19] Vural, H, Koyuncu, M, Guney, S. A systematic literature review on microservices. In International Conference on Computational Science and Its Applications (pp. 203-217). Springer, Cham.
  • [20] Shull F, Singer J, Sjøberg DI. Guide to Advanced Empirical Software Engineering. Springer, 2007.
  • [21] Linaker J, Sulaman SM, Höst M, de Mello RM. Guidelines for Conducting Surveys in Software Engineering v. 1.1. vol; 2015.
  • [22] O’Connor RV, Elger P, Clarke PM. Continuous software engineering—A microservices architecture perspective. Journal of Software: Evolution and Process. 2017;29 (11):e1866. doi:10.1002/smr.1866
  • [23] Famelis M, Chechik M. Managing design-time uncertainty. Softw Syst Model. 2019;18 (2):12249-1284. doi:10.1007/s10270-017-0594-9
  • [24] Malavolta I, Lago P, Muccini H, Pelliccione P, Tang A. What Industry Needs from Architectural Languages: A Survey. IEEE Transactions on Software Engineering. 2013;39 (6):869-891. doi:10.1109/TSE.2012.74
  • [25] Alshuqayran N, Ali N, Evans R. A Systematic Mapping Study in Microservice Architecture. In: 2016 IEEE 9th International Conference on Service-Oriented Computing and Applications (SOCA);2016. pp.44-51. doi:10.1109/SOCA.2016.15
  • [26] Salmanoğlu M, Öztürk K, Bağrıyanık S, Ungan E, Demirörs O. Benefits and challenges of measuring software size: early results in a large organization. In: 25th International Workshop on Software Measurement and 10th International Conference on Software Process and Product Measurement, IWSM-Mensura;2015.
  • [27] Demirors O, Gencel C. Conceptual Association of Functional Size Measurement Methods. IEEE Software. 2009;26 (3):71-78. doi:10.1109/MS.2009.60
  • [28] COSMIC Measurement Manual for ISO 19761 - v5.0: Common Software Measurement International Consortium (COSMIC),2021.
  • [29] Hacaloglu T. Event Points: A Software Size Measurement Model. PhD, Middle East Technical University, Ankara, Turkey, 2021.
  • [30] Bilgin B, Unlu H, Demirörs O. Analysis and Design of Microservices: Results from Turkey. In: 2020 Turkish National Software Engineering Symposium (UYMS) pp. 1-6 doi: 10.1109/UYMS50627.2020.9247022
  • [31] Weinberg GM. Quality Software Management (Vol. 1) Systems Thinking. Dorset House Publishing Co., Inc., 1992.
Turkish Journal of Electrical Engineering and Computer Sciences-Cover
  • ISSN: 1300-0632
  • Yayın Aralığı: 6
  • Yayıncı: TÜBİTAK
Sayıdaki Diğer Makaleler

Software security management in critical infrastructures: a systematic literature review

Bedir TEKİNERDOĞAN, Gülsüm Ece EKŞİ, Cağatay CATAL

Strategic integration of battery energy storage and photovoltaic at low voltage level considering multiobjective cost-benefit

Samarjit PATNAIK, Manas Ranjan NAYAK, Meera VISWAVANDYA

A hybrid acoustic-RF communication framework for networked control of autonomous underwater vehicles: design and cosimulation

Mehrullah SOOMRO, Özgur GÜRBÜZ, Saeed NOURIZADEH AZAR, Oytun ERDEMİR, Ahmet ONAT

Anomaly detection in rotating machinery using autoencoders based on bidirectional LSTM and GRU neural networks

Dhiren Kumar Behera, Rabinarayan Sethi, Krishna Chandra Patra

Twitter account classification using account metadata: organization vs. individual

Yusuf Mücahit ÇETİNKAYA, Mesut GÜRLEK, İsmail Hakkı TOROSLU, Pınar KARAGÖZ

Offline tuning mechanism of joint angular controller for lower-limb exoskeleton with adaptive biogeographical-based optimization

Mohammad Soleimani Amiri, Rizauddin Ramli

BLMDP: A new bi-level Markov decision process approach to joint bidding and task-scheduling in cloud spot market

Mehdi Dehghan Takht Fooladi, Mona Naghdehforoushh, Mohammad Hossein Rezvani, Mohammad Mehdi Gilanian Sadeghi

Classification and phenological staging of crops from in situ image sequences by deep learning

Uluğ BAYAZIT, Turgay ALTILAR, Nilgün GÜLER BAYAZIT

Binary flower pollination algorithm based user scheduling for multiuser MIMO systems

Prabina Pattanayak, Arnab Nandi, Krishna Lal Baishnab, Fazal Ahmed Talukdar, Jyoti Mohanty

An efficient end-to-end deep neural network for interstitial lung disease recognition and classification

Ikhtiar Ahmed, Md Baharul Islam, Masum Shah Junayed, Afsana Ahsan Jeny, AFM Shahen Shah