Microservices Lessons Learned
summary
Startup migrates a monolith into microservices by first extracting a document “drive” as a coexisting service but finds doing UI, data model and new features all at once slows progress; next extracts UI then chat, uses REST for queries and a message broker for events, adopts Apache Kafka and Kafka Streams to build in-process materialized views so services avoid local duplicated stores, and centralizes auth with a common contract to prevent a distributed monolith.
AI-written summary · about
chapters (33)
- 0:00Introduction
- 1:03Every journey is different
- 1:30Legacy system
- 1:58Runtime environment
- 2:37Everything was a model
- 3:00Everything was evolving
- 3:22Meetings and discussions took longer
- 3:44Usability and user experience
- 4:24Product strategy
- 5:37Software architecture
- 6:10How to start
- 6:31High Cohesion
- 6:59Bounded Context
- 7:15Collaboration Apps
- 7:41Coexistence
- 9:58Starting from scratch
- 10:59Next candidate
- 11:37New service
- 12:12Splitting storage
- 12:54Prioritization
- 14:28Handling Authorization
- 15:48Handling Distributed Authorization
- 16:46Handling CrossCutting
- 17:07Distributed Monolith
- 17:53Centralized Services
- 19:09Service Interaction
- 23:53Kafka
- 24:41Streams
- 27:10Streams for materialized views
- 28:59Streams for data duplication
- 30:33Infrastructure complexities
- 31:28Business domain
- 33:35Summary
related talks
54mFrom a distributed monolith to a microservices solution
38mFrom Monolith to Microservices
18mMicroservices Out In the Wild
52mMicroservices: A Utopian Mystery
42mQ&A - Monolith to Microservices
52mMicroservice Migration Roadmap
43mMicroMonolith - Top anti-patterns of distributed systems
57mSplitting Monolith Application to Microservices
