The Myth of Scalability in Kubernetes
Busting common myths associated with Kubernetes.
Most people’s myth is “Now my system is scalable because I deployed in Kubernetes”.
Is this true? 60–90% of the time it is false.
Big why?
A system consists of many boundaries, and each should have the capability to scale to make the system scalable.
Most of the time, when we talk about Kubernetes we talk about a 20% scalable boundary.
e.g. Expectation of scalability in
Myth 01
Non-scalable monolithic application deployed in Kubernetes
Myth 02
Microservice deployed in Kubernetes and connected with a non-scalable database.
Myth 03
Microservice deployed in Kubernetes and connected with external non-scalable monolithic OTP service.
Myth 04
Microservice deployed in Kubernetes and accessed through non-scalable LB.
Myth 05
Microservice deployed in Kubernetes on a limited number of VMs or bare metal servers.
Myth 06
Microservice deployed in Kubernetes on a single region public cloud.
How to architect well?
- Plan Microservice strategy along Kubernetes Strategy
If your applications are not scalable now, don’t invest in K8s strategy instead, invest in building scalable applications as microservices.
- Plan your Kubernetes strategy along with your Cloud strategy
If your infrastructure is not support scalability, don’t invest in the K8 strategy instead, strategise your cloud strategy to move to Public clouds.
- DNS and Elastic load balance
If you are an application developer, Don’t waste your time building scalable load balancers, IP floating, etc., instead use elastic load balancers as a service and DNS from the cloud provider.
- Database as a service
If you are an application developer, Don’t waste your time building a scalable database, instead use a scalable database as a service from the cloud provider.
- Pick the right cloud partner.
Pick the cloud partner who supports Kubernetes services with multi-region auto scalability support.
Conclusion
Building a scalable system is an investment. So as business owners, it is important to understand the techno-commercial boundaries to decide the extent to which your system needs scalability. Also, remove the Myths within the team and stakeholders of expecting full-fledged system scalability by deploying the applications in Kubernetes.
e.g. If your users are not spanned across regions, you can skip multi-region.