# Advice for Breaking a Monolith into Microservices
- Services could be larger than usually at first (and refactored later to still smaller ones).
- Services should preferably not be dependent on the remaining monolith
- When choosing the first couple of microservices to extract, focus on edge services that don't require changes to client-facing applications. Goal at this point is to verify deployment/testing pipelines and procedures and to grow team skill set.
- In cases where new microservices require a call back to the monolith, expose new monolith APIs and access them through an anti-corruption layer.
- Decouple capabilities in a vertical fashion from the monolith (UI and data layers together with the domain logic)
## Sources
- Zhamak Dehghani. [How to break a Monolith into Microservices](https://martinfowler.com/articles/break-monolith-into-microservices.html).