Monoliths To Microservices

2 Day Online Workshop
Picture source, licence

A two day workshop delivered online that shows you how to adopt microservices and break down your monoliths

Microservices are all the rage at the moment, but many people focus on what they look like and how they work once you’ve got them. Suppose your organization has a very different type of architecture, however, how do you move from one to the other? In this course, I am to cut through the buzzwords and be honest about the pros and cons of adopting an architecture that might be radically different from what you have now. By the end of this course, you’ll have a solid grasp of the principles and a concrete set of tools for breaking apart your own systems.

Signup Online

This course is delivered in conjunction with O'Reilly Media. If you would like to sign up for the next scheduled course, then regsiter with O'Reilly directly. I may be able to deliver this material in person rather than online - if this is something that interestes you, then please contact me

Learning Outcomes

During the end of this course, you will understand:

  • What microservices are, and whether or not they’re right for you
  • How to structure a transition from a monolithic system to microservices
  • How to find boundaries for new services
  • How to identify potential risks and manage outcomes

Audience

Developers, architects, technical leaders, operations engineers and anybody about to face the challenges of breaking apart an existing monolithic system.

Example Schedule

I adapt the material based on what the class want to cover, but in general this is the sort of content I normally cover in such a course:

Day One

  • Introduction
    • What are microservices?
    • Why might you want them?
    • Why microservices could be a terrible idea, or why monoliths sometimes rock!
    • Why don’t we normally do microservices?
  • Planning a transition to microservices
    • Where do you start?
    • Goal setting—why are you doing this and when will you be done?
    • Big bang rewrite versus incremental adoption
  • Splitting out stateful functionality
    • Single DB versus multiple DB
    • Data refactoring patterns
    • Dual data storage

Day Two

  • Migrating A Running System
    • Branch by abstraction
    • Team facades
    • Event decorators
    • Handling user interfaces
  • Build and deployment issues, such as
    • How to structure repositories (monorepos vs per-service repos)
    • CI structures
    • Deployment topology
  • Vital changes to monitoring approaches
    • What does healthy mean in the new world?
    • Correlation IDs
    • Improved dashboards