Deploying with Confidence on Kubernetes

Kubernetes has become the standard platform for container orchestration, and choosing the right deployment strategy is critical for maintaining uptime during releases. At Nexis Limited, we manage Kubernetes clusters for our SaaS products and client infrastructure, and we use different strategies depending on the application's risk profile and traffic patterns.

Rolling Updates

Rolling updates are Kubernetes' default deployment strategy. They gradually replace old pods with new ones, ensuring that a minimum number of pods are always available. The key parameters are maxSurge (how many extra pods can be created during the update) and maxUnavailable (how many pods can be unavailable during the update).

When to Use Rolling Updates

  • Standard web applications with stateless backends
  • When brief periods of running mixed versions are acceptable
  • When you need zero-downtime deployments with minimal infrastructure overhead

Blue-Green Deployments

Blue-green deployments maintain two identical environments: blue (current production) and green (new version). Traffic is switched from blue to green atomically, typically by updating a service selector or load balancer target. If the new version has issues, traffic is immediately routed back to blue.

When to Use Blue-Green

  • When you need instant rollback capability
  • When running mixed versions is unacceptable (e.g., database schema changes)
  • When you can afford to run double the infrastructure temporarily

Canary Releases

Canary releases route a small percentage of traffic to the new version while the majority continues hitting the current version. If metrics (error rate, latency, business KPIs) remain healthy, the percentage is gradually increased until the new version handles all traffic.

When to Use Canary Releases

  • High-traffic applications where a full rollout is risky
  • When you want data-driven release decisions based on real user traffic
  • When combined with feature flags for even finer control

Our Approach at Nexis Limited

For most services, we use rolling updates with health checks configured to detect startup failures quickly. For critical services in Bondorix that handle financial transactions, we use canary releases with automated rollback triggered by Prometheus alerts. Blue-green deployments are reserved for major version upgrades that involve database migrations.

Health Checks: The Foundation

Regardless of deployment strategy, proper health checks are essential. Kubernetes supports liveness probes (restart unhealthy containers), readiness probes (stop sending traffic to containers not ready to serve), and startup probes (delay liveness checks for slow-starting containers). Without these, Kubernetes cannot effectively manage deployments.

Conclusion

There is no one-size-fits-all deployment strategy. Rolling updates work for most applications, canary releases add safety for high-risk changes, and blue-green deployments provide instant rollback for schema-level changes. The right choice depends on your application's risk tolerance and infrastructure budget.

Need help with Kubernetes deployment? Our DevOps team can design and implement the right strategy for your infrastructure.