Skip to main content

Challenges When Moving from Monolith to Microservice Architecture

  • Conference paper
  • First Online:
Current Trends in Web Engineering (ICWE 2017)

Part of the book series: Lecture Notes in Computer Science ((LNISA,volume 10544))

Included in the following conference series:

Abstract

One of the more recent avenues towards more flexible installations and execution is the transition from monolithic architecture to microservice architecture. In such architecture, where microservices can be more liberally updated, relocated, and replaced, building liquid software also becomes simpler, as adaptation and deployment of code is easier than when using a monolithic architecture where almost everything is connected. In this paper, we study this type of transition. The objective is to identify the reasons why the companies decide to make such transition, and identify the challenges that companies may face during this transition. Our method is a survey based on different publications and case studies conducted about these architectural transitions from monolithic architecture to microservices. Our findings reveal that typical reasons moving towards microservice architecture are complexity, scalability and code ownership. The challenges, on the other hand, can be separated to architectural challenges and organizational challenges. The conclusion is that when a software company grows big enough in size and starts facing problems regarding the size of the codebase, that is when microservices can be a good way to handle the complexity and size. Even though the transition provides its own challenges, these challenges can be easier to solve than the challenges that monolithic architecture presents to company.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Newman, S.: Building Microservices, Designing Fine-Grained Systems, 1st edn. O’Reilly Media Inc., Sebastopol (2015)

    Google Scholar 

  2. Lewis, J., Fowler, M.: Microservices a Definition of this New Term, March 2014. https://martinfowler.com/articles/microservices.html

  3. Gallidabino, A., Pautasso, C., Ilvonen, V., Mikkonen, T., Systä, K., Voutilainen, J.-P., Taivalsaari, A.: On the architecture of liquid software: technology alternatives and design space. In: Proceedings of the 2016 13th Working IEEE/IFIP Conference on Software Architecture, pp. 122–127. IEEE (2016)

    Google Scholar 

  4. Richardson, C.: Microservices—Pattern: Microservice Architecture, March 2014. http://microservices.io/patterns/microservices.html

  5. Thones, J.: Microservices. IEEE Softw. 32(1), 116 (2015)

    Article  Google Scholar 

  6. Villamizar, M., Garcés, O., Castro, H., Verano, M., Salamanca, L., Casallas, R., Gil, S.: Evaluating the monolithic and the microservice architecture pattern to deploy Web applications in the cloud. In: Proceedings of CCC 2015, pp. 583–590 (2015)

    Google Scholar 

  7. Munns, C.: I Love APIs 2015: Microservices at Amazon, October 2015. https://www.slideshare.net/apigee/i-love-apis-2015-microservices-at-amazon-54487258

  8. Mauro, T.: Nginx—Adopting Microservices at Neflix: Lessons for Architectural Design, February 2015. https://www.nginx.com/blog/microservices-at-netflix-architectural-best-practices/

  9. Ihde, S.: InfoQ: From a Monotlith to Microservices + REST: the Evolution of LinkedIn’s Service Architecture, March 2015. https://www.infoq.com/presentations/linkedin-microservices-urn

  10. Calcado, P.: SoundCloud: Building Products at SoundCloud - Part 1: Dealing with the Monolith, June 2014. https://developers.soundcloud.com/blog/building-products-at-soundcloud-part-1-dealing-with-the-monolith

  11. Richardson, C.: Microservices—Pattern: Monolithic Architecture, March 2017. http://microservices.io/patterns/monolithic.html

  12. Tilkov, S.: Don’t Start with a Monolith When Your Goal is a Microservice Architecture, June 2015. https://www.martinfowler.com/articles/dont-start-monolith.html

  13. Feathers, M.: Working Effectively with Legacy Code. Prentice-Hall, Upper Saddle River (2004)

    Book  Google Scholar 

  14. Balalaie, A., Heydarnoori, A., Jamshidi, P.: Microservices architecture enables DevOps: migration to a cloud-native architecture. IEEE Softw. 33(3), 42–52 (2016)

    Article  Google Scholar 

  15. Conway, M.E.: How do committees invent. Datamation 14(4), 28–31 (1968)

    Google Scholar 

  16. Fowler, M.: Microservice Premium, May 2015. https://martinfowler.com/bliki/MicroservicePremium.html

  17. Richardson, C.: Microservices—Pattern: Database per Service, March 2016. http://microservices.io/patterns/data/database-per-service.html

  18. Clemm, J.: A Brief History of Scaling LinkedIn, July 2015. https://engineering.linkedin.com/architecture/brief-history-scaling-linkedin

  19. Balalaie, A., Heydarnoori, A., Jamshidi, P.: Migrating to cloud-native architectures using microservices: an experience report. In: Celesti, A., Leitner, P. (eds.) ESOCC 2015. CCIS, vol. 567, pp. 201–215. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-33313-7_15

    Google Scholar 

  20. Montesi, F., Weber, J.: Circuit breakers, discovery, and API gateways in microservices. arXiv preprint arXiv:1609.05830 (2016)

  21. Netflix Inc.: https://github.com/Netflix/hystrix (2013)

  22. Fowler, M.: https://martinfowler.com/bliki/CircuitBreaker.html, March 2014

  23. Hasselbring, W.: Microservices for scalability: keynote talk abstract. In: Proceedings of the 7th ACM/SPEC on International Conference on Performance Engineering, pp. 133–134. ACM, March 2016

    Google Scholar 

  24. Richardson, C.: http://microservices.io/patterns/data/shared-database.html, November 2015

  25. Newman, S.: https://www.thoughtworks.com/insights/blog/demystifying-conways-law, June 2014

  26. Mauro, T.: https://www.nginx.com/blog/adopting-microservices-at-netflix-lessons-for-team-and-process-design/, March 2015

  27. Nordberg, M.E.: Managing code ownership. IEEE Softw. 20(2), 26–33 (2003)

    Article  Google Scholar 

  28. Bass, L., Weber, I., Zhu, L.: DevOps: A Software Architect’s Perspective. Addison-Wesley Professional, Boston (2015)

    Google Scholar 

  29. Wettinger, J., Andrikopoulos, V., Leymann, F.: Enabling DevOps collaboration and continuous delivery using diverse application environments. In: Debruyne, C., Panetto, H., Meersman, R., Dillon, T., Weichhart, G., An, Y., Ardagna, C.A. (eds.) OTM 2015. LNCS, vol. 9415, pp. 348–358. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-26148-5_23

    Google Scholar 

  30. Stubbs, J., Moreira, W., Dooley, R.: Distributed systems of microservices using docker and serfnode. In: 2015 7th International Workshop on Science Gateways (IWSG), pp. 34–39. IEEE, June 2015

    Google Scholar 

  31. Merkel, D.: Docker: lightweight linux containers for consistent development and deployment. Linux J. 2014(239) (2014). Article no. 2

    Google Scholar 

  32. Kubernetes: https://kubernetes.io/, March 2017

  33. Mesos: http://mesos.apache.org/, May 2017

  34. Richards, M.: Microservices Antipatterns and Pitfalls, 1st edn. O’Reilly Media Inc., Sebastopol (2016)

    Google Scholar 

Download references

Acknowledgements

The research was supported by the Academy of Finland (project 295913).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Miika Kalske .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer International Publishing AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Kalske, M., Mäkitalo, N., Mikkonen, T. (2018). Challenges When Moving from Monolith to Microservice Architecture. In: Garrigós, I., Wimmer, M. (eds) Current Trends in Web Engineering. ICWE 2017. Lecture Notes in Computer Science(), vol 10544. Springer, Cham. https://doi.org/10.1007/978-3-319-74433-9_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-74433-9_3

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-74432-2

  • Online ISBN: 978-3-319-74433-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics