Monoliths To Microservices
2 Day Online Workshop
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.
This course is delivered via O'Reilly Media's Safari. Registration is free with your Safari subscription, but places are limited. If you would like to sign up for the next scheduled course, then please check Safari's upcoming courses to see if there is one available. I may be able to deliver this material in person rather than online - if this is something that interests you, then please contact me
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
Developers, architects, technical leaders, operations engineers and anybody about to face the challenges of breaking apart an existing monolithic system.
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:
- 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
- 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