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 2018Publication 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.Google ScholarGoogle Scholar
  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.Google ScholarGoogle ScholarCross RefCross Ref
  3. Nuha Alshuqayran, Nour Ali, and Roger Evans. 2016. A Systematic Mapping Study in Microservice Architecture. In SOCA. IEEE Computer Society, 44--51.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Len Bass, Ingo Weber, and Liming Zhu. 2015. DevOps: A Software Architect's Perspective (1st ed.). Addison-Wesley Professional. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle ScholarCross RefCross Ref
  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.Google ScholarGoogle Scholar
  9. Robert M Emerson, Rachel I Fretz, and Linda L Shaw. 2001. Participant observation and fieldnotes. Handbook of ethnography (2001), 352--368.Google ScholarGoogle Scholar
  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.Google ScholarGoogle ScholarCross RefCross Ref
  11. Eric Evans. 2003. Domain-Driven Design: Tacking Complexity In the Heart of Software. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Jez Humble. 2018. Continuous Delivery Sounds Great, but Will It Work Here? Commun. ACM 61, 4 (March 2018), 34--39. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  15. Robert Cecil Martin. 2003. Agile Software Development: Principles, Patterns, and Practices. Prentice Hall PTR, Upper Saddle River, NJ, USA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle ScholarCross RefCross Ref
  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.Google ScholarGoogle ScholarCross RefCross Ref
  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.Google ScholarGoogle Scholar
  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.Google ScholarGoogle ScholarCross RefCross Ref
  20. Johannes Thones. 2015. Microservices. IEEE Software 32, 1 (2015), 116.Google ScholarGoogle ScholarCross RefCross Ref
  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.Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

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

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • 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

          Copyright © 2018 ACM

          © 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 about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article

          Acceptance Rates

          SBES '18 Paper Acceptance Rate38of140submissions,27%Overall Acceptance Rate147of427submissions,34%

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader