3 ms·
> But then you need to make up a deployment system with rollbacks and all the other stuff k8s gives you. This is borderline trivial. If you build an AMI, you u
by dolni 6y ago
> But then you need to make up a deployment system with rollbacks and all the other stuff k8s gives you.
This is borderline trivial. If you build an AMI, you update a launch template with the new AMI and use instance refresh (https://aws.amazon.com/blogs/compute/introducing-instance-refresh-for-ec2-auto-scaling/ https://aws.amazon.com/blogs/compute/introducing-instance-re...) to replace instances. Rolling back is the same thing, you just set it back to the previous AMI. Instance refresh took way too long to become a thing, but it was not even very difficult before that. List instances in your autoscaling group, mark them unhealthy one by one.
Now, you'll probably want a couple other safety checks in your deployment process to make sure it all goes smoothly. But you're realistically looking at what, a couple of days of work to have something built to your specifications that can deploy any of your services without introducing the added complexity of Kubernetes?
> I've got the feeling that if you're reasonably comfortable with k8s, there's no harm in starting with it from day 1.
The harm is not that the deployments are hard. In fact, they're quite nice. The problem is that small teams don't have the bandwidth to keep up with the relentless release cadence. They may not have the expertise to get the upgrades done confidently.
There is also the fact that, when something does go wrong, you've got a whole lot of complex Kube stuff to churn through.
None of that applies to managed Kube, but then you're paying extra for Kube every month. By contrast, you could have just paid extra one time for a relatively simple deployment script in CI.
- KptMarchewa 6y agoManaged kube costs $0.10 per cluster per hour for GKE, and the first one is free. 72$ monthly is nothing.
- p_l 6y agoDealing with release cadence with GKE was mostly "hey, why the new version is not there yet" :) About the only real issue I encountered was with major API change involving ingresses, when the cluster would continue running, but we had to update our manifests that were hamfistedly done back in 1.4 days.