Software Architecture: Breaking a Monolith into Microservices
1h 8mIntermediate2021-04-20
Authors

Daniel Khan
Technology Lead, Developer, Application Architect
Course details
Microservices are the increasingly popular software architecture choices when creating a new application, but what about existing applications? Does it make sense to split them up into microservices? And how would you go about breaking up monolithic applications? In this course, Daniel Khan covers effective approaches for adopting microservices, taking a high-level look at the fundamentals without getting into programming languages, container runtimes, Kubernetes, or other technical minutiae. Instead, he takes a holistic approach to give you a general understanding of the technical and organizational challenges you need to address in order to successfully re-architect your existing platforms to microservices.
Skills covered
Software ArchitectureFoundationsSoftware Development
Concepts
0. Introduction
- 01 - Embark on a journey to refactor your architecture
1. Understand the Status Quo and the Project Goals
- 02 - Welcome to your new role
- 03 - Start with the why
- 04 - Defining the project scope
- 05 - Mapping out the current architecture
2. Splitting Capabilities into Services
- 06 - Design mistakes and how to avoid them
- 07 - Refactor or rewrite
- 08 - Choosing your first migration target
- 09 - Splitting out your first service
- 10 - Zero downtime migrations
- 11 - Migrating interdependent, complex capabilities
- 12 - Providing a migration API layer
- 13 - What about the front end
- 14 - Making the final step
3. Required Operational and Organizational Maturity
- 15 - It's not just about code - Meet Mr. Conway
- 16 - Provide up-to-date API documentation with Swagger
- 17 - Streamline cross-team collaboration with Inner Source
- 18 - Continuous integration and deployment
- 19 - Why you need monitoring from the very start
Conclusion
- 20 - Apply your knowledge