3 ms·
I've recently moved from ECS to Kubernetes, and much prefer kubernetes In general ECS is fine when you have 1 or 2 services, but once you have 10s or 100s it g
by shawabawa3 8y ago
I've recently moved from ECS to Kubernetes, and much prefer kubernetes
In general ECS is fine when you have 1 or 2 services, but once you have 10s or 100s it gets pretty unusable.
Logging: While ECS ships everything to cloudwatch, actually accessing them is a nightmare and usually more effort than it's worth. It's very easy on k8s to get logs shipped from every container to elasticsearch and browse with kibana.
Autoscaling: Possibly less of an issue now that fargate's a thing - but fargate's expensive. Kubernetes makes it easy to set up both node level autoscaling, and deployment level autoscaling
Ingress: With ECS you have to set up loadbalancers for every service individually - in k8s once the controller's properly set up every service defines its own ingress, and the only manual change you have to do is create a DNS entry (only if you can't use a wildcard)
Metrics: Prometheus is very ingrained in kubernetes, and you get a wealth of information from every service almost "for free" once you've installed it.
And more: service meshes, secret control (through e.g. vault), declarative definitions, provider agnostic
Kubernetes has a huge startup cost and learning curve, but is incredibly powerful once you're up and running
- auslander 8y agoAutoscaling: No need for Fargate. Create 'AWS::ApplicationAutoScaling::ScalableTarget' and 'AWS::ApplicationAutoScaling::ScalingPolicy' for your 'AWS::ECS::Service' resource. Logging: Subscribe the ElasticSearch Lambda to CloudWatch Logs group to have all logs in ElasticSearch domain. Kibana is included in 'AWS::Elasticsearch::Domain' resource. Ingress: Yes, one ALB per one autoscaled ECS Service, I don't see it as a problem. Metrics, And more: not sure I see the benefits. CloudWatch has miriad of metrics, you can get lost there :) It might look hard, but here is great starting point : https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-ecs.html https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGui.... Yes, if you want to use AWS, use Cloudformation templates, there is no way around it :)