Kubernetes in 2017 - The New Standard for Container Orchestration
Note: This post is over 8 years old. The information may be outdated.
Kubernetes in 2017 - The New Standard for Container Orchestration
November 2017 marks a pivotal moment for container orchestration as Kubernetes solidifies its position as the industry standard. With major cloud providers now offering managed Kubernetes services and enterprise adoption accelerating, the ecosystem has reached a tipping point. This maturation is transforming how organizations deploy and manage containerized applications at scale.
The Container Orchestration Landscape Consolidates
The past year has seen dramatic consolidation in the container orchestration space:
- Kubernetes: Emerging as the clear leader with broad industry support
- Docker Swarm: Maintaining a niche for simpler deployments tightly integrated with Docker
- Mesos/Marathon: Finding a role in specific large-scale use cases
- Cloud Provider Solutions: Increasingly standardizing on Kubernetes (EKS, AKS, GKE)
This consolidation reflects both Kubernetes' technical strengths and the power of its community and ecosystem.
Why Kubernetes Has Won
Several factors have contributed to Kubernetes' dominance:
1. Cloud Native Computing Foundation Backing
The CNCF has provided crucial governance and support:
- Vendor-neutral home for the project
- Certification programs ensuring compatibility
- Coordinated ecosystem development
- Enterprise-friendly governance model
This foundation has given organizations confidence to make strategic bets on Kubernetes.
2. Comprehensive Feature Set
Kubernetes offers a rich set of capabilities:
- Declarative Configuration: Describing desired state rather than procedural steps
- Self-Healing: Automatically replacing failed containers
- Horizontal Scaling: Easily scaling applications up or down
- Service Discovery: Built-in DNS and load balancing
- Rolling Updates: Zero-downtime deployments
- Secret Management: Secure handling of sensitive configuration
- Storage Orchestration: Dynamic provisioning of persistent storage
These features address the complex requirements of production container deployments.
3. Vibrant Ecosystem
A rich ecosystem has developed around Kubernetes:
- Helm: Package management for Kubernetes resources
- Istio: Service mesh for microservices
- Prometheus: Monitoring and alerting
- Fluentd: Logging infrastructure
- Harbor: Container registry with security features
This ecosystem provides solutions for the full application lifecycle.
4. Major Cloud Provider Support
All major cloud providers now offer managed Kubernetes services:
- Google Kubernetes Engine (GKE): The pioneer, leveraging Google's experience
- Azure Kubernetes Service (AKS): Microsoft's rapidly evolving offering
- Amazon Elastic Kubernetes Service (EKS): AWS's recently announced service
- IBM Cloud Kubernetes Service: Enterprise-focused offering
This support makes Kubernetes accessible without infrastructure management overhead.
Implementation Patterns and Best Practices
Organizations successfully adopting Kubernetes are following several patterns:
1. Starting with Stateless Applications
Beginning with simpler workloads:
- Web applications and APIs
- Batch processing jobs
- Event-driven functions
- Microservices with external data stores
This approach builds team expertise before tackling more complex stateful applications.
2. Adopting GitOps Workflows
Implementing declarative, Git-based deployment workflows:
- Infrastructure and application configuration stored in Git
- Changes applied through pull requests
- Automated deployment from Git to clusters
- Drift detection and remediation
Tools like Flux and ArgoCD are enabling these workflows, improving reliability and auditability.
3. Implementing Multi-Tenancy Models
Developing approaches for sharing clusters:
- Namespace-based separation: Using Kubernetes namespaces with resource quotas
- Cluster-per-team: Dedicated clusters for teams with different requirements
- Hybrid approaches: Critical services on dedicated clusters, others sharing resources
These models balance resource efficiency with isolation and security.
4. Standardizing on Operators
Using the Operator pattern for complex applications:
- Encapsulating operational knowledge in custom controllers
- Automating day-2 operations like backups and upgrades
- Standardizing deployment patterns across teams
- Simplifying management of stateful applications
The Operator Framework and OperatorHub are making this pattern more accessible.
Challenges in Kubernetes Adoption
Despite its benefits, Kubernetes adoption presents several challenges:
1. Operational Complexity
Kubernetes introduces significant complexity:
- Steep learning curve for teams
- Many moving parts to monitor and maintain
- Complex networking and security models
- Troubleshooting distributed system issues
Organizations are addressing this through training, managed services, and simplified abstractions.
2. Security Considerations
Securing Kubernetes environments requires attention to multiple layers:
- Container image security
- Pod security policies
- Network policies
- RBAC configuration
- Secrets management
- Host security
Tools like Aqua Security, Twistlock, and Open Policy Agent are helping address these concerns.
3. Stateful Workloads
Managing stateful applications remains challenging:
- Persistent volume management
- Database clustering and failover
- Backup and recovery procedures
- Data locality considerations
StatefulSets and the Operator pattern are improving this situation, but complexity remains.
Case Studies: Kubernetes in Production
Several organizations have successfully implemented Kubernetes at scale:
Spotify: Migrating from Homegrown to Kubernetes
Spotify's journey from their custom Helios system to Kubernetes:
- Initially running Kubernetes alongside Helios
- Gradually migrating services using a common abstraction layer
- Building internal tools to simplify developer experience
- Achieving higher density and resource utilization
This migration has enabled Spotify to standardize infrastructure while maintaining developer productivity.
Capital One: Enterprise Kubernetes
Capital One's approach to enterprise Kubernetes:
- Building a multi-cluster, multi-region architecture
- Implementing strict security controls and compliance measures
- Creating internal platforms that abstract complexity from developers
- Establishing centers of excellence to support teams
This implementation has accelerated Capital One's cloud-native transformation while meeting financial industry requirements.
Looking Ahead: The Kubernetes Roadmap
As we approach 2018, several trends are shaping Kubernetes' evolution:
- Simplified Management: Tools like Rancher and OpenShift making Kubernetes more accessible
- Service Mesh Integration: Closer integration with Istio and similar projects
- Serverless Frameworks: Projects like Knative bringing serverless capabilities to Kubernetes
- Edge Computing: Extending Kubernetes to edge environments with lightweight distributions
- Machine Learning Workloads: Specialized tools for ML/AI workloads on Kubernetes
Conclusion: Preparing for a Kubernetes-Centric Future
As Kubernetes becomes the standard platform for container orchestration, organizations should be preparing for this shift:
- Developing Kubernetes expertise through training and pilot projects
- Evaluating which workloads are appropriate for containerization
- Considering managed Kubernetes services to reduce operational burden
- Establishing patterns and practices for secure, scalable deployments
The consolidation around Kubernetes represents a rare moment of standardization in the typically fragmented infrastructure space. This convergence is creating a common platform that spans on-premises data centers and public clouds, potentially simplifying hybrid and multi-cloud strategies.
Organizations that invest in Kubernetes capabilities now will be well-positioned to benefit from the growing ecosystem of tools and services, while those that delay may find themselves playing catch-up as container-based deployment becomes the norm rather than the exception.
This article was written by Nguyen Tuan Si, a cloud infrastructure specialist with experience implementing container orchestration solutions across various organization types and sizes.