Should I be using Kubernetes? | Concept to Cloud
New! Listen to Concept to Cloud - Real stories from the trenches of software engineering
Should I be using Kubernetes?
Tips

Should I be using Kubernetes?

TB
Tom Barber
August 7, 2024
0 min read

Examine whether Kubernetes is the right choice for your infrastructure needs. Learn when Kubernetes excels and when simpler alternatives like Docker Compose, AWS ECS, or Google Cloud Run make more sense.

Introduction

The decision to adopt Kubernetes mirrors historical technology adoption patterns. Just as organizations once pursued Hadoop for all data problems, many now consider Kubernetes for every containerization need, often unnecessarily.

The key question isn’t whether Kubernetes can solve your problem, but whether it’s the optimal solution. If your goal is simply running containers, Kubernetes usually represents overkill. However, for distributed, highly-scalable systems requiring sophisticated orchestration, it may be precisely what you need. For more on making strategic technology decisions, see our guide on taking a concept and running with it.

A Bit of History

Google originally designed Kubernetes based on concepts from its internal Borg cluster system. The Cloud Native Computing Foundation now manages the open-source project, maintaining vendor neutrality and preventing any single organization from controlling its direction.

What Kubernetes Excels At

Kubernetes provides exceptional capabilities for:

  • Complex distributed workloads: Running containerized services across multiple servers with built-in high availability
  • Failure recovery: Automatically detecting and restoring failed services
  • Load balancing: Distributing traffic across service instances
  • Batch processing: Supporting Kubernetes Jobs and Cronjobs for data processing workflows
  • Multi-cloud portability: Operating consistently across different cloud providers or on-premises infrastructure
  • Streaming systems: Managing stateful applications requiring sustained resource management

Alternative Solutions

Simple Container Hosting

For basic containerized applications, like a stateless Node.js web application, a single virtual machine running Docker CLI commands suffices. This approach eliminates unnecessary complexity but sacrifices scaling and high availability. For more guidance on when to use cloud-native services vs. self-hosted solutions, see our cloud-first concepts guide.

Docker Compose

For multi-container applications (such as a Node.js frontend with PostgreSQL backend on one machine), Docker Compose simplifies orchestration without Kubernetes complexity. It manages service bootstrap through declarative configuration files.

Amazon ECS

Amazon’s Elastic Container Service runs containers without the same complexity level as Kubernetes while providing managed orchestration. Tasks can run on EC2 instances or serverless Fargate, with automatic scaling and load balancing.

Google Cloud Run

Designed specifically for stateless, short-running web requests, Cloud Run automatically scales based on incoming traffic and includes HTTPS endpoints through integrated load balancers.

Managed Databases

Cloud-native database services (AWS RDS, Google Cloud SQL) eliminate the overhead of self-hosted database containers, reducing scaling complexity and security concerns.

When Kubernetes Makes Sense

Multi-cloud Portability: If your infrastructure spans multiple cloud providers, Kubernetes provides consistent deployment across environments, though local development replication requires additional setup.

Fine-grained Scalability: Kubernetes allows different workload types to target specific machine configurations with independent autoscaling policies, optimizing compute allocation for heterogeneous applications.

Data Processing Workflows: For Kafka clusters and similar stateful systems, Kubernetes’s dynamic scaling and self-healing capabilities may outperform managed alternatives, particularly for low-latency, highly customizable deployments.

Automation Requirements: Building containerized workflow automation (parallel data processing triggered by user actions) may be more practical within Kubernetes than managing multiple cloud vendor SDKs.

Replication and Consistency: Running identical workloads across developer laptops and production environments becomes feasible, though Kubernetes setups diverge more than Docker Compose deployments.

Factors Against Kubernetes Adoption

  • Low environmental complexity: Simple deployments don’t justify orchestration overhead
  • Limited in-house expertise: Kubernetes requires deep knowledge of networking, services, load balancing, and deployment strategies
  • Cloud vendor consolidation: Migrating workloads to cloud-native services eliminates the need for Kubernetes
  • Operational costs: Beyond compute resources, system components (control plane, networking backplane services per node) consume significant resources and require active management
  • Learning curve: Kubernetes isn’t simply a Docker runtime wrapper, it demands substantial architectural and operational understanding

Decision Framework

Don’t be intimidated by Kubernetes. Development environments like Docker Desktop, K3S, MicroK8s, and Minikube enable local experimentation. Cloud providers offer managed Kubernetes services (AKS, EKS, GKE) for production deployment.

However, treat Kubernetes as a sophisticated system requiring deliberate adoption, not as a default containerization strategy. Read more about what actually kills cloud migrations to avoid when evaluating Kubernetes.

The modern Kubernetes ecosystem features improved tooling, GitOps methodologies, and automation frameworks that genuinely simplify software development pipelines, but only when Kubernetes genuinely fits the architectural requirements.

Conclusion

Similar to how most organizations didn’t actually need Hadoop, many don’t need Kubernetes. Containerization itself offers benefits regardless of orchestration platform. However, containerization needn’t mandate Kubernetes adoption.

If your company needs expert deployment and scaling guidance or broader engineering services, connect with experienced engineers to evaluate whether Kubernetes aligns with your specific requirements and capabilities.

TB
Written by Tom Barber

Ex-NASA engineer and cloud architect with over a decade of experience building scalable systems for startups and enterprises.

Work with Tom →

Related Articles

Cloud Architecture

Multi-Cloud Is Usually Overkill

Multi-cloud promises resilience but usually delivers doubled cost and complexity for an outage that may never come. A look at the DNS trap, AWS's 300+ SLAs, the October 2025 US-EAST-1 outage, and why multi-region discipline beats a second provider.

Read More →
Tips

Cloud First Concepts

Explore cloud-first architectural principles for startups and small teams. Learn why building applications with cloud-native services reduces operational overhead and total cost of ownership.

Read More →
Strategy

Cloud Stack Decisions for Early-Stage Startups: What Actually Matters

Most early-stage cloud stack debates are arguments about the wrong question. The tool doesn't matter nearly as much as the cost of switching, who fixes it at 3am, and whether your second engineer can read it.

Read More →

Ready to Build Your Product?

Let's discuss how we can help you bring your vision to life with expert cloud solutions

Get Started