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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
M. Fowler, Microservices, a definition of this new architectural term (2011), https://martinfowler.com/articles/microservices.html
S. Tuli, Microservices vs SOA: what’s the difference? (2018), https://dzone.com/articles/microservices-vs-soa-whats-the-difference
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)
P.M. Clarke, R.V. O’Connor, P. Elger, Continuous Software Engineering: A Microservices Architecture Perspective (Wiley, London, 2017)
A.M. Glen, Microservices priorities and trends (2018), https://dzone.com/articles/dzone-research-microservices-priorities-and-trends
B.J. Evans, The Well-Grounded Java Developer: Vital Techniques of Java 7 and Polyglot Programming (Manning Publications, Shelter Island, 2012)
R.V. Rajesh, Spring 5.0 Microservices, 2nd edn. (Packt, Birmingham, 2017)
C. Richardson, Database Per Service (2018)
C. Richardson, Microservice Patterns, with Examples in Java (Manning, Shelter Island, 2018)
W. Vogels, Eventually consistent. Commun. ACM 52(1), 40–44 (2009)
M. Conway, Conway’s law. https://en.wikipedia.org/wiki/conway%27s_law
ThoughtWorks, Microservice Envy (2018)
A. Maslow, The Psychology of Science (Harper & Row, New York, 1966)
A. Maslow, Law of the instrument. https://en.wikipedia.org/wiki/law_of_the_instrument
C. Richardson, Microservice architecture patterns (2018), https://microservices.io/patterns/index.html
S. Newman, Building Microservices (O’Reilly, Sebastopol, 2015)
Martin Fowler. CQRS pattern (2011), https://martinfowler.com/bliki/cqrs.html
P. Kua, N. Ford, R. Parsons, Building Evolutionary Architectures (O’Reilly, Sebastopol, 2017)
P. Jamshidi, A. Balalaie, A. Heydarnoori, Microservices Architecture Enables DevOps: Migration to a Cloud-Native Architecture, vol. 33 (IEEE Software, 2016)
J. Gao, M. Rahman, A Reusable Automated Acceptance Testing Architecture for Microservices in Behavior-Driven Development (IEEE, Piscataway, 2015)
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.
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/
E. Evans, Domain-Driven Design: Tackling Complexity in the Heart of Software (Addison Wesley, Reading, 2003)
M. Mclarty, M. Amundsen, Microservice Architecture: Aligning Principles, Practices, and Culture (O’Reilly, Sebastopol, 2016)
E. Evans, Domain-Driven Design: Tackling Complexity in the Heart of Software (Addison Wesley, Reading, 2003)
C. Richardson, Server side discovery (2018), https://microservices.io/patterns/server-side-discovery.html
R. Parsons, Servicemesh, 2019
K. Indrasiri, Service mesh vs API gateway, 2017
S. Newman, Monolith to Microservices (O’Reilly, Sebastopol, 2019)
S. Newman, Pattern: Backends for frontends (2015), https://samnewman.io/patterns/architectural/bff/
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this chapter
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)