03/06/2020, 12:26 AM
I think most orgs are using microservices as a way to organize their workforce and limit blast radius, however there are some systems where monoliths end up being resource inefficient and have to be over-scaled. For example, if there is a really CPU intensive but infrequent workload, you may have to run more instances to support it that end up being mostly idle. Those are good places in a monolith to hand off to a workers, so the main app can run efficiently and consistently and the worker pool can scale separately. Those worker tasks can turn into microservices as needed, but don't have to. Microservices from the ground up has a lot of cognitive/tooling overload. I've thought its kind of silly to try to improve a system's overall reliability and TCO by simply adding 10X more network requests 😛
💯 2