Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3266237.3266262acmotherconferencesArticle/Chapter ViewAbstractPublication PagessbesConference Proceedingsconference-collections
research-article

An experience report on the adoption of microservices in three Brazilian government institutions

Published: 17 September 2018 Publication History

Abstract

Although monolithic applications are still the modus operandi of many software systems, the microservices architecture, which favors small and independent applications, is gaining increasing popularity. This is part due to its claimed benefits, which includes better scalability, productivity, and maintainability. However, little is known about how developers and architects perceive the benefits of migrating from monolithic applications to microservices, and what are the challenges towards achieving them. In this paper we discuss the motivation, benefits, and challenges related to the migration from monolithic enterprise architectures to a microservices based architecture. We report several lessons learned that arose from a two years process faced by three Brazilian Government Institutions. We also cross-validate these findings with a survey conducted with 13 practitioners in the studied companies. The results of our investigation highlight some evidence that the adoption of microservices brought several benefits for these institutions, such as (a) reducing development time and risks related to deployment activities and (b) increasing the opportunities to experiment with different technologies and development models (such as hackathons). However, our observations reveal that the adoption of microservices is still a challenging task, mainly because it not only demands the understanding of new techniques and tools, but it also increases the need to automate tasks related to software deployment and software monitoring. This study is particularly relevant for institutions interested in adopting a software architecture based on microservices, and we are currently sharing our experiences with other institutions.

References

[1]
Everton Agilar, Rodrigo Bonifácio, and Edna Canedo. 2016. A Systematic Mapping Study on Legacy System Modernization. In SEKE. KSI Research Inc. and Knowledge Systems Institute Graduate School, 345--350.
[2]
Mohsen Ahmadvand and Amjad Ibrahim. 2016. Requirements reconciliation for scalable and secure microservice (de) composition. In Requirements Engineering Conference Workshops (REW), IEEE International. IEEE, 68--73.
[3]
Nuha Alshuqayran, Nour Ali, and Roger Evans. 2016. A Systematic Mapping Study in Microservice Architecture. In SOCA. IEEE Computer Society, 44--51.
[4]
A. Balalaie, A. Heydarnoori, and P. Jamshidi. 2016. Microservices Architecture Enables DevOps: Migration to a Cloud-Native Architecture. IEEE Software 33, 3 (May 2016), 42--52.
[5]
Len Bass, Ingo Weber, and Liming Zhu. 2015. DevOps: A Software Architect's Perspective (1st ed.). Addison-Wesley Professional.
[6]
Keith H. Bennett and Václav T. Rajlich. 2000. Software Maintenance and Evolution: A Roadmap. In Proceedings of the Conference on The Future of Software Engineering (ICSE '00). 73--87.
[7]
Valerio Cosentino, Javier Luis Cánovas Izquierdo, and Jordi Cabot. 2015. Assessing the bus factor of Git repositories. In 22nd IEEE International Conference on Software Analysis, Evolution, and Reengineering, SANER 2015, Montreal, QC, Canada, March 2--6, 2015. 499--503.
[8]
Paolo Di Francesco, Ivano Malavolta, and Patricia Lago. 2017. Research on architecting microservices: Trends, focus, and potential for industrial adoption. In Software Architecture (ICSA), International Conference on. IEEE, 21--30.
[9]
Robert M Emerson, Rachel I Fretz, and Linda L Shaw. 2001. Participant observation and fieldnotes. Handbook of ethnography (2001), 352--368.
[10]
Daniel Escobar, Diana Cárdenas, Rolando Amarillo, Eddie Castro, Kelly Garcés, Carlos Parra, and Rubby Casallas. 2016. Towards the understanding and evolution of monolithic applications as microservices. In Computing Conference (CLEI), 2016 XLII Latin American. IEEE, 1--11.
[11]
Eric Evans. 2003. Domain-Driven Design: Tacking Complexity In the Heart of Software. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA.
[12]
Jez Humble. 2018. Continuous Delivery Sounds Great, but Will It Work Here? Commun. ACM 61, 4 (March 2018), 34--39.
[13]
Andrew J. Ko. 2017. A Three-year Participant Observation of Software Startup Software Evolution. In Proceedings of the 39th International Conference on Software Engineering: Software Engineering in Practice Track (ICSE-SEIP '17). 3--12.
[14]
Welder Luz, Gustavo Pinto, and Rodrigo Bonifácio. Building a Collaborative Culture: A Grounded Theory of Well Succeeded DevOps Adoption in Practice. In Proceedings of the 12th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, ESEM 2018.
[15]
Robert Cecil Martin. 2003. Agile Software Development: Principles, Patterns, and Practices. Prentice Hall PTR, Upper Saddle River, NJ, USA.
[16]
Genc Mazlami, Jürgen Cito, and Philipp Leitner. 2017. Extraction of Microser-vices from Monolithic Software Architectures. In Web Services (ICWS), 2017 IEEE International Conference on. IEEE, 524--531.
[17]
Ronnie E. S. Santos, Fabio Q. B. da Silva, Maria Teresa Baldassarre, and Cleyton V. C. de Magalhães. 2017. Benefits and limitations of project-to-project job rotation in software organizations: A synthesis of evidence. Information & Software Technology 89 (2017), 78--96.
[18]
Chris Stevenson and Andy Pols. 2004. An Agile Approach to a Legacy System. In Extreme Programming and Agile Processes in Software Engineering, Jutta Eckstein and Hubert Baumeister (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 123--129.
[19]
Davide Taibi, Valentina Lenarduzzi, and Claus Pahl. 2017. Processes, Motivations, and Issues for Migrating to Microservices Architectures: An Empirical Investigation. IEEE Cloud Computing 4, 5 (2017), 22--32.
[20]
Johannes Thones. 2015. Microservices. IEEE Software 32, 1 (2015), 116.
[21]
Hulya Vural, Murat Koyuncu, and Sinem Guney. 2017. A Systematic Literature Review on Microservices. In International Conference on Computational Science and Its Applications. Springer, 203--217.

Cited By

View all
  • (2024)Research on legacy monolith applications decomposition into microservice architectureundefined10.20334/2024-018-MOnline publication date: 2024
  • (2024)A Systematic Literature Review on the Influence of Enhanced Developer Experience on Developers' Productivity: Factors, Practices, and RecommendationsACM Computing Surveys10.1145/368729957:1(1-46)Online publication date: 7-Oct-2024
  • (2024)On the Usefulness of Automatically Generated Microservice ArchitecturesIEEE Transactions on Software Engineering10.1109/TSE.2024.336120950:3(651-667)Online publication date: Mar-2024
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
SBES '18: Proceedings of the XXXII Brazilian Symposium on Software Engineering
September 2018
379 pages
ISBN:9781450365031
DOI:10.1145/3266237
© 2018 Association for Computing Machinery. ACM acknowledges that this contribution was authored or co-authored by an employee, contractor or affiliate of a national government. As such, the Government retains a nonexclusive, royalty-free right to publish or reproduce this article, or to allow others to do so, for Government purposes only.

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 17 September 2018

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. experience report
  2. lessons learned
  3. microservice applications
  4. monolithic applications

Qualifiers

  • Research-article

Conference

SBES '18
SBES '18: XXXII BRAZILIAN SYMPOSIUM ON SOFTWARE ENGINEERING
September 17 - 21, 2018
Sao Carlos, Brazil

Acceptance Rates

SBES '18 Paper Acceptance Rate 38 of 140 submissions, 27%;
Overall Acceptance Rate 147 of 427 submissions, 34%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)39
  • Downloads (Last 6 weeks)7
Reflects downloads up to 22 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Research on legacy monolith applications decomposition into microservice architectureundefined10.20334/2024-018-MOnline publication date: 2024
  • (2024)A Systematic Literature Review on the Influence of Enhanced Developer Experience on Developers' Productivity: Factors, Practices, and RecommendationsACM Computing Surveys10.1145/368729957:1(1-46)Online publication date: 7-Oct-2024
  • (2024)On the Usefulness of Automatically Generated Microservice ArchitecturesIEEE Transactions on Software Engineering10.1109/TSE.2024.336120950:3(651-667)Online publication date: Mar-2024
  • (2024)Digital Transformation in the Public Administrations: A Guided Tour for Computer ScientistsIEEE Access10.1109/ACCESS.2024.336307512(22841-22865)Online publication date: 2024
  • (2023)DevOps Test Süreç Geliştirmede Yeni Bir Model ÖnerisiA New Model Approach for DevOps Testing Process ImprovementDüzce Üniversitesi Bilim ve Teknoloji Dergisi10.29130/dubited.113236811:4(1829-1846)Online publication date: 24-Oct-2023
  • (2023)SPL integrated with Microservices: a hybrid architectural proposal for multitenant SaaSProceedings of the 17th Brazilian Symposium on Software Components, Architectures, and Reuse10.1145/3622748.3622749(1-10)Online publication date: 25-Sep-2023
  • (2023)A Survey on Microservices Architecture: Principles, Patterns and Migration ChallengesIEEE Access10.1109/ACCESS.2023.330568711(88339-88358)Online publication date: 2023
  • (2023)How do microservices evolve? An empirical analysis of changes in open-source microservice repositoriesJournal of Systems and Software10.1016/j.jss.2023.111788204(111788)Online publication date: Oct-2023
  • (2022)An Approach to Migrate a Monolith Database into Multi-Model Polyglot Persistence Based on Microservice Architecture: A Case Study for Mainframe DatabaseApplied Sciences10.3390/app1212618912:12(6189)Online publication date: 17-Jun-2022
  • (2022)Analysis of a many-objective optimization approach for identifying microservices from legacy systemsEmpirical Software Engineering10.1007/s10664-021-10049-727:2Online publication date: 1-Feb-2022
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media