Microservices aren't particularly hard to build, but they are brittle as hell.
Due to distributed deployment, testing can become complicated and tedious
Small codebase
Independent operation
Separate release cycle
Lots of services (+orchestration)
Backwards compatibility
Probably same repo
Small codebase
Independent operation
Common release cycle
Small unit
Not a microservice
Ready to split
LoC
URIs
Python modules
Scalability
Availability
Visitors
Admin
Catalog
Shopping cart
Remaining
Configuration
RPC
Supervisor
Non-python
Readable (JSON)
Validation
Bootstrap
Simple
MesssagageBus(???)
Validation
Run all
Detect crashes
Containers (???)
-> vagga