“Let’s use Kubernetes!” Now you have problems
- If yours is a small team, Kubernetes may bring a lot of pain and not enough benefits for you.
- If you need to scale, you need at least 3-4 virtual machines, and that means twice as many actual machines at a minimum.
- The codebase is heavy: 580,000 lines of Go code at its heart as of March 2020, and large sections have minimal documentation and lots of dependencies.
- Setting up and deploying Kubernetes is complex - architecturally, operationally, conceptually and in terms of configurations, compounded by confusing default settings, missing operational controls and implicitly defined security parameters.
- Your application becomes hard to run locally because you need VMs or nested Docker containers, to begin with, staging environments, proxying a local process into a cluster or a remote process on to a local machine, etc.
- You are tempted to write lots of microservices but distributed applications are hard to write correctly and hard to debug. If you have more services written than the number of developers on each, you are doing it wrong.
Full post here, 6 mins read