A monolithic architecture is a great choice for small applications. However, as the application grows in size and complexity, a monolithic architecture becomes a major obstacle to agile development and continuous deployment. A better approach for large, complex applications is to use a microservice architecture, which structures the application as a set of relatively small services. Each service can be developed, deployed and scaled independently. The microservice architecture enables teams that develop large, complex applications to be agile.
In this tutorial, you will learn about the motivations for using microservice architecture and how it compares with more traditional monolithic architecture. We discuss the benefits and drawbacks of microservices. You will learn how to solve some of the key technical challenges with using the microservice architecture, including inter-service communication and distributed data management. We will talk about strategies for refactoring a monolithic application into a set of microservices.
Chris Richardson is a developer and architect with over 20 years of experience. He is a Java Champion and the author of POJOs in Action, which describes how to build enterprise Java applications with POJOs and frameworks such as Spring and Hibernate. Chris is the founder of the original CloudFoundry.com, an early Java PaaS (platform-as-a-service) for Amazon EC2. He consults with organizations to improve how they develop and deploy applications. Chris has a computer science degree from the University of Cambridge in England and lives in Oakland, CA.
©2015, O'Reilly Media, Inc. • (800) 889-8969 or (707) 827-7019 • Monday-Friday 7:30am-5pm PT • All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners. • firstname.lastname@example.org