3 ms·
I would love to hear what advantages ECS has over Kubernetes. I've found that Kubernetes solves all seven of those challenges (and more – service discovery is a
by conradev 11y ago
I would love to hear what advantages ECS has over Kubernetes. I've found that Kubernetes solves all seven of those challenges (and more – service discovery is a challenge, too!) pretty handily, and is cloud provider independent on top of that (but can have provider-dependent tie-ins where desired).
1. Cluster set up on AWS/GCP is fairly automatic. On vanilla machines it's straightforward, but involved, to install.
2. Kubernetes relies on etcd, which uses Raft, to run. It does depend on one master node to provide an API server to control the instances, though.
3. Pods have health checks, and deployments will halt if new instances fail their health checks.
4. Deployments handle rolling updates within the cluster
5. The scheduler can cordon off or drain nodes before destroying them, and new nodes can easily be added to the cluster
6. fluentd is often run in a DaemonSet for this purpose
7. kubectl makes deployment feel like playing with legos – interacting with a bunch of objects in a predictable and documented manner. In the case you laid out, for example, many rapid deployment version changes are handled gracefully by the deployment object, scaling down the old two versions and scaling up the new version.
- nzoschke 10y agoThe big advantages I see: AWS ecosystem. Everyone is already running stuff here, or wants to. Particularly data. If I have important stuff in RDS or Redshift I want to run my apps in a VPC next to that. Managed service. I don't want to be responsible for etcd. I manage 150 clusters and counting. I couldn't do this without ECS and DynamoDB and their excellent SLAs. I am aware GKE does this. When I use Kubernetes that's what I'll use.