O'Reilly logo
live online training icon Live Online training

Microservices Application Decomposition

Evolutionary patterns for breaking down your monolith into microservices

Topic: System Administration
Sam Newman

You can’t afford to rebuild entire systems from scratch—nor should you. Many people interested in adopting microservice architectures already have lots of valuable working software that uses different architectures. Rather than throwing all that away and undertaking a "big bang" rewrite, you can save time, headaches, and money by adapting what you already have and incrementally adopting a microservice architecture. You just need to build up a toolbox of appropriate refactoring patterns.

Expert Sam Newman leads a deep dive into patterns related to breaking apart the code tier of existing monolithic systems. You’ll explore patterns like branch by abstraction and the strangler fig in depth, as well as a host of techniques around progressive delivery that will help you phase the deployment of such an application.

What you'll learn-and how you can apply it

By the end of this live online course, you’ll understand:

  • How architectural refactoring patterns allow you to roll out a change in architecture in incremental steps
  • The importance of progessive delivery techniques (parallel runs, canary releases) in derisking the rollout of architectural change
  • Learn how and where to use patterns like UI composition, decorating collaborator, branch by abstraction, and the strangler fig

And you’ll be able to:

  • Use a variety of migration patterns in different contexts to make adopting microservices easier
  • See architecture less as a static, nonchanging entity and more as something you must continuously change to make sure it’s fit for its purpose
  • Understand how to get the most out of the system you already have

This training course is for you because...

  • You're currently struggling with a large monolithic system.
  • You have a big COTS product you want to replace with your own solution.
  • You want to incrementally migrate to a microservice architecture.


  • A basic understanding of microservices, equivalent to Microservice Fundamentals (live online training course with Sam Newman)

Recommended preparation:

Recommended follow-up:

About your instructor

  • After spending time at multiple startups and 12 years at ThoughtWorks, Sam Newman is now an independent consultant. Specializing in microservices, cloud, and continuous delivery, Sam helps clients deliver software faster and more reliably through training and consulting. Sam is an experienced speaker who has given talks at conferences across the world and is the author of Building Microservices and Monolith to Microservices, both from O'Reilly.


The timeframes are only estimates and may vary according to how the class is progressing

Introduction—Just enough microservices

Types of monoliths

What is refactoring?

Strangler fig pattern—HTTP and other protocols; Should you do protocol rewriting?; for COTS products

Branch by abstraction pattern—feature toggles

Progressive delivery—parallel run; canary release

UI composition—widgets and pages; micro-frontends

Integrating new functionality—decorating collaborator; change data capture