top of page
Search

๐Ÿ“ฌ ๐—ฆ๐—ต๐—ผ๐˜‚๐—น๐—ฑ ๐˜„๐—ฒ ๐—ฏ๐—ฟ๐—ฒ๐—ฎ๐—ธ ๐˜‚๐—ฝ ๐˜๐—ต๐—ฒ ๐—บ๐—ผ๐—ป๐—ผ๐—น๐—ถ๐˜๐—ต?

  • Writer: Kjell Moens
    Kjell Moens
  • Jul 29
  • 2 min read

๐˜š๐˜บ๐˜ด๐˜ต๐˜ฆ๐˜ฎ ๐˜ˆ๐˜ณ๐˜ค๐˜ฉ๐˜ช๐˜ต๐˜ฆ๐˜ค๐˜ต๐˜ถ๐˜ณ๐˜ฆ & ๐˜›๐˜ฆ๐˜ค๐˜ฉ๐˜ฏ๐˜ช๐˜ค๐˜ข๐˜ญ ๐˜š๐˜ต๐˜ณ๐˜ข๐˜ต๐˜ฆ๐˜จ๐˜บ ๐˜ด๐˜ฆ๐˜ณ๐˜ช๐˜ฆ๐˜ด

ree

The architecture team asked me this during a technical review.


Their monolithic application was getting harder to deploy.ย 

New features were taking longer.ย 

The team felt like they were all stepping on each other's code.


"Microservices will solve this," they said.


But here's what I've learned after seeing companies make this transition:

๐— ๐—ถ๐—ฐ๐—ฟ๐—ผ๐˜€๐—ฒ๐—ฟ๐˜ƒ๐—ถ๐—ฐ๐—ฒ๐˜€ ๐—ฎ๐—ฟ๐—ฒ ๐—ฎ๐—ป ๐—ผ๐—ฟ๐—ด๐—ฎ๐—ป๐—ถ๐˜‡๐—ฎ๐˜๐—ถ๐—ผ๐—ป๐—ฎ๐—น ๐—ฝ๐—ฎ๐˜๐˜๐—ฒ๐—ฟ๐—ป, ๐—ป๐—ผ๐˜ ๐—ท๐˜‚๐˜€๐˜ ๐—ฎ ๐˜๐—ฒ๐—ฐ๐—ต๐—ป๐—ถ๐—ฐ๐—ฎ๐—น ๐—ผ๐—ป๐—ฒ.



Before you break up your code, ask:ย 

โ†’ Can your teams work independently?ย 

โ†’ Do you have clear service boundaries?ย 

โ†’ Can you handle distributed system complexity?ย 

โ†’ Do you have the operational maturity for multiple deployments?


๐—ง๐—ต๐—ฒ ๐—ฝ๐—ฎ๐—ถ๐—ป๐—ณ๐˜‚๐—น ๐—ฟ๐—ฒ๐—ฎ๐—น๐—ถ๐˜๐˜†: Premature microservices create distributed monoliths.


You get all the complexity of distributed systems with none of the benefits of independent services.


Here's the framework I use:


๐—ข๐—ฟ๐—ด๐—ฎ๐—ป๐—ถ๐˜‡๐—ฎ๐˜๐—ถ๐—ผ๐—ป๐—ฎ๐—น ๐—ฅ๐—ฒ๐—ฎ๐—ฑ๐—ถ๐—ป๐—ฒ๐˜€๐˜€:

โ€ข Teams can own services end-to-end

โ€ข Clear communication patterns between teams

โ€ข Independent deployment cycles

โ€ข Service-oriented culture


๐—ง๐—ฒ๐—ฐ๐—ต๐—ป๐—ถ๐—ฐ๐—ฎ๐—น ๐—ฅ๐—ฒ๐—ฎ๐—ฑ๐—ถ๐—ป๐—ฒ๐˜€๐˜€:

โ€ข Well-defined domain boundaries

โ€ข Mature CI/CD pipeline

โ€ข Monitoring and observability

โ€ข Database per service strategy


Most companies rush to microservices when they should fix their monolith first:

โ€ข Better module boundaries

โ€ข Cleaner APIs between components

โ€ข Improved deployment process

โ€ข Team ownership of specific areas


๐—ง๐—ต๐—ฒ ๐—ถ๐—ป๐˜€๐—ถ๐—ด๐—ต๐˜ ๐˜๐—ต๐—ฎ๐˜ ๐—ฐ๐—ต๐—ฎ๐—ป๐—ด๐—ฒ๐—ฑ ๐—ฒ๐˜ƒ๐—ฒ๐—ฟ๐˜†๐˜๐—ต๐—ถ๐—ป๐—ด:


๐Ÿง Microservices don't solve organizational problems โ€”they expose them.


If your teams can't coordinate on a monolith, they definitely can't coordinate on distributed services. Start with organizational boundaries. The technical boundaries will follow.


๐Ÿ—ฃ๏ธ What's your experience with monolith-to-microservices transitions? Have you seen teams succeed or struggle with this shift? Let me know your thoughts in the commentsย 


๐Ÿ™ I help scale-ups design the systems, teams, and technical strategy they need to grow โ€” without burning out, breaking down, or bottlenecking the business.ย 


๐Ÿ” Like this kind of thinking? Follow along for more โ€” or book a quick, no-pressure call.


ย 
ย 
ย 

Comments


© 2021 The Baseline BV

bottom of page