3 ms·
I dunno, I think "We are doing this" because it solves a ton of problems related to running an application at scale. He doesn't mention any of the difficulties
by rickspencer3 5y ago
I dunno, I think "We are doing this" because it solves a ton of problems related to running an application at scale. He doesn't mention any of the difficulties that using monoliths have caused "us" over the years.
Packing multiple concerns into a single instance/VM seems particularly cavalier. What if one of the services crashes the OS based on novel user input that is being sent over and over? I think it's naive to say that perfect testing and strongly/statically typed languages make this problem go away.
A large team iterating on a set of monoliths runs into other problems as well. Ready to deploy, but wait, you need to rebase for someone else's changes, oh wait, now your tests don't pass, etc...
A set of monoliths certainly simplifies things for some projects, but many of "us" have battle scars from managing large cloud-based projects in that way, and find the deployment complexity of having a proliferation of independent entities that can have their own life cycle to be crucial for velocity and availability. At least that is why some "us" do it this way.