"Where a monolithic application might have been deployed to a small application server cluster, you now have tens of separate services to build, test, deploy and run, potentially in polyglot languages and environments."<p>My experience is that it is vastly harder to keep a single application server running that involved only <i>two</i> teams compared to two teams each with three or four microservices that they own.<p>"Keeping an application server running can be a full time job, but we now have to ensure that tens or even hundreds of processes stay up, don't run out of disk space, don't deadlock, stay performant. It's a daunting task."<p>No, see, keeping up a giant monolithic application server running is a full time job.<p>Author seems to entirely miss the point of microservices. The problems of giant application servers don't multiply when you break it into microservices. They go away.<p>"Developers with a strong DevOps profile like this are hard to find, so your hiring challenge just became an order of magnitude more difficult if you go down this path."<p>High Performance Teams are High Performance Teams. If you don't have one, your giant monolithic application is also doomed to failure. You just get to pretend that all the bugs will come out in QA.
Aminator + Asgaard + Simian Army (along with other open source offerings from Netflix) can get you a lot of the Lunch for Free.<p>That said, you need to know how to use them and invest significant time and effort in getting it up and running.<p><a href="http://netflix.github.io/#repo" rel="nofollow">http://netflix.github.io/#repo</a>