Cloud Installers in 2016: kops on AWS vs Azure Container Service

K8s Guru
3 min read
Cloud Installers in 2016: kops on AWS vs Azure Container Service

Introduction

As Kubernetes moved beyond DIY scripts in 2016, cloud-specific installers emerged to streamline production rollout. On AWS, kops (Kubernetes Operations) became the go-to tool for creating well-architected clusters. Microsoft answered with Azure Container Service (ACS), previewing Kubernetes as a managed control plane option alongside Swarm and DC/OS.

This comparison mattered because it highlighted an inflection point: teams were no longer debating whether Kubernetes was viable, but who should own day-2 operations—your team, or your cloud provider. The trade-offs show up quickly in upgrades, networking, and how fast you can recover from failure.

Historical note: ACS and the azure CLI flow shown below reflect the 2016 preview era. The lesson (control vs convenience) still applies, even though today’s equivalents look different.

kops Highlights

  • Infrastructure-as-Code: Generates CloudFormation/terraform for VPCs, subnets, IAM roles, and Auto Scaling Groups.
  • State Store: Persists cluster manifests in S3, enabling iterative updates and rollbacks.
  • HA Ready: Supports multi-master setups, etcd topology choices (stacked vs external).
  • Rolling Updates: kops rolling-update cluster orchestrates OS and component upgrades with PDB awareness.
  • Add-Ons: Installs DNS (CoreDNS), logging, and optional networking plugins via manifests.

Azure Container Service Preview

  • Managed Control Plane: Microsoft operated the masters; users managed agent nodes.
  • Template-Driven: Azure Resource Manager (ARM) templates spun up agent pools with Docker, Mesos, or Kubernetes.
  • CLI Integration: azure acs create --orchestrator-type=kubernetes simplified initial rollout.
  • Networking: Leveraged Azure Virtual Networks; kube-proxy configured load balancing rules automatically.
  • Support & Limits: Preview constrained to select regions, with manual upgrades and limited cluster size.

Feature Comparison (Late 2016)

Capabilitykops (AWS)ACS Kubernetes Preview
Control Plane OwnershipCustomer-managed EC2 instancesMicrosoft-managed masters
Upgradeskops upgrade cluster + rolling updateDelete/recreate (no in-place upgrade)
HA MastersYes (multi-AZ)Single-master during preview
Networking OptionsFlannel, Calico, Weave, Cilium (manual)Azure networking defaults
CustomizationDeep (edit cluster spec, terraform export)Limited to ARM parameters
Cost VisibilityDirect EC2/EBS billingControl plane free (preview), pay for VMs

Choosing in 2016

  • Operational Control: Teams wanting full control gravitated to kops; they tuned etcd, networking, and OS images.
  • Managed Experience: Organizations prioritizing minimal ops overhead tested ACS despite preview limitations.
  • Hybrid Strategy: Some teams prototyped on ACS while running production on kops until Azure’s managed offer matured (later AKS).
  • Community & Support: kops enjoyed active SIG AWS support; ACS users relied on Microsoft preview channels.

Practical considerations teams ran into

  • Upgrade story: if you can’t do in-place upgrades, you’re really planning for re-creation and cutover—great for stateless, painful for stateful.
  • Networking defaults: “works by default” can hide sharp edges (IP exhaustion, LB limits, outbound SNAT behavior) until you hit scale.
  • Access & audit: managed control planes reduce toil, but can also reduce visibility when debugging API server behavior.

Getting Started Quickly

# kops (AWS)
kops create cluster \
  --name=prod.k8s.local \
  --zones=us-west-2a,us-west-2b \
  --state=s3://kops-state \
  --yes

# Azure Container Service preview
azure acs create \
  --orchestrator-type=kubernetes \
  --resource-group k8s-rg \
  --name k8s-cluster \
  --location westus \
  --agent-count 3

Conclusion

2016 marked the turning point from handcrafted clusters to standardized cloud installers. kops empowered AWS users with production-grade automation, while Azure laid the groundwork for its managed Kubernetes service. Both efforts set expectations for the fully managed platforms that would dominate in subsequent years.