Skip to main content

Migrating to Microservices

  • Chapter
  • First Online:
Microservices

Abstract

Microservice is an architectural pattern which has risen based on the success of Amazon, Netflix, and other digital-native companies. Designing such architecture requires understanding your business goals and creating a balance between microservices benefits and associated drawbacks. This trade-off is essential in order to successfully migrate your business applications toward microservices. In this chapter we aim to drive you through this journey by presenting a roadmap and methodology which has been used successfully in several projects. We guide you through the typical microservice migration project by using migration patterns for managing service decomposition and data isolation and replication. Those patterns may be used iteratively and in any order, therefore we will define a reference architecture to sequence the building of your microservice architecture. Eventually we conclude with a use case from the real world.

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 129.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.00
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 169.99
Price excludes VAT (USA)
  • Durable hardcover 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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. M. Fowler, Microservices, a definition of this new architectural term (2011), https://martinfowler.com/articles/microservices.html

  2. S. Tuli, Microservices vs SOA: what’s the difference? (2018), https://dzone.com/articles/microservices-vs-soa-whats-the-difference

  3. W.K. Loo W.Y. Tham Y.B. Leau, S.F. Tan, Software development life cycle agile vs traditional approaches, in International Conference on Information and Network Technology (ICINT 2012), vol. 37 (ICINT, IACSIT Press, Singapore, 2012)

    Google Scholar 

  4. P.M. Clarke, R.V. O’Connor, P. Elger, Continuous Software Engineering: A Microservices Architecture Perspective (Wiley, London, 2017)

    Google Scholar 

  5. A.M. Glen, Microservices priorities and trends (2018), https://dzone.com/articles/dzone-research-microservices-priorities-and-trends

  6. B.J. Evans, The Well-Grounded Java Developer: Vital Techniques of Java 7 and Polyglot Programming (Manning Publications, Shelter Island, 2012)

    Google Scholar 

  7. R.V. Rajesh, Spring 5.0 Microservices, 2nd edn. (Packt, Birmingham, 2017)

    Google Scholar 

  8. C. Richardson, Database Per Service (2018)

    Google Scholar 

  9. C. Richardson, Microservice Patterns, with Examples in Java (Manning, Shelter Island, 2018)

    Google Scholar 

  10. W. Vogels, Eventually consistent. Commun. ACM 52(1), 40–44 (2009)

    Article  Google Scholar 

  11. M. Conway, Conway’s law. https://en.wikipedia.org/wiki/conway%27s_law

  12. ThoughtWorks, Microservice Envy (2018)

    Google Scholar 

  13. A. Maslow, The Psychology of Science (Harper & Row, New York, 1966)

    Google Scholar 

  14. A. Maslow, Law of the instrument. https://en.wikipedia.org/wiki/law_of_the_instrument

  15. C. Richardson, Microservice architecture patterns (2018), https://microservices.io/patterns/index.html

  16. S. Newman, Building Microservices (O’Reilly, Sebastopol, 2015)

    Google Scholar 

  17. Martin Fowler. CQRS pattern (2011), https://martinfowler.com/bliki/cqrs.html

  18. P. Kua, N. Ford, R. Parsons, Building Evolutionary Architectures (O’Reilly, Sebastopol, 2017)

    Google Scholar 

  19. P. Jamshidi, A. Balalaie, A. Heydarnoori, Microservices Architecture Enables DevOps: Migration to a Cloud-Native Architecture, vol. 33 (IEEE Software, 2016)

    Google Scholar 

  20. J. Gao, M. Rahman, A Reusable Automated Acceptance Testing Architecture for Microservices in Behavior-Driven Development (IEEE, Piscataway, 2015)

    Google Scholar 

  21. B. Golden, 3 reasons why you should always run microservices apps in containers. https://techbeacon.com/app-dev-testing/3-reasons-why-you-should-always-run-microservices-apps-containers.

  22. A. Henry, How to peel mainframe monoliths for AWS microservices with Blu Age (2018), https://aws.amazon.com/fr/blogs/apn/how-to-peel-mainframe-monoliths-for-aws-microservices-with-blu-age/

  23. E. Evans, Domain-Driven Design: Tackling Complexity in the Heart of Software (Addison Wesley, Reading, 2003)

    Google Scholar 

  24. gpestana, https://www.gpestana.com/blog/data-microservices/

  25. M. Mclarty, M. Amundsen, Microservice Architecture: Aligning Principles, Practices, and Culture (O’Reilly, Sebastopol, 2016)

    Google Scholar 

  26. E. Evans, Domain-Driven Design: Tackling Complexity in the Heart of Software (Addison Wesley, Reading, 2003)

    Google Scholar 

  27. A. Henry, https://www.bluage.com/products/blu-age-analyzer

  28. C. Richardson, Server side discovery (2018), https://microservices.io/patterns/server-side-discovery.html

  29. R. Parsons, Servicemesh, 2019

    Google Scholar 

  30. K. Indrasiri, Service mesh vs API gateway, 2017

    Google Scholar 

  31. S. Newman, Monolith to Microservices (O’Reilly, Sebastopol, 2019)

    Google Scholar 

  32. S. Newman, Pattern: Backends for frontends (2015), https://samnewman.io/patterns/architectural/bff/

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Alexis Henry .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Henry, A., Ridene, Y. (2020). Migrating to Microservices. In: Bucchiarone, A., et al. Microservices. Springer, Cham. https://doi.org/10.1007/978-3-030-31646-4_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-31646-4_3

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-31645-7

  • Online ISBN: 978-3-030-31646-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics