It happens every time.<p>As soon as you hit an environment where there are > 20 people using the system you need a plethora of tools and systems involved which remove the terms, "simple" and "lightweight," from the specification.<p>Access control, authentication, auditing, operations... you can't eschew complexity by ignoring it.<p>I've learned this time and again. If you start out with "simple" and "lightweight" you're going to hit that "enterprise wall" and really pay the price of not considering those requirements up-front. The price of either re-writes or layers of out-of-band processes and tools for orchestrating light-weight systems that were not designed to be composed in such a way. It's quite painful and terrifyingly complicated.<p><i>Update</i>: In the case of Docker/Rocket... I think these are just early iterations. I wouldn't be surprised if even Rocket becomes bloated as they realize they cannot design for simplicity when complexity is a requirement.