Code-Wise, Cloud-Foolish
forrestbrazeal.com
forrestbrazeal.com
... but having started reading the good parts of AWS and also in parallel playing around with cloud66, I have to say, kubernetes (at least the wrapped-up cloud66 variation) felt compelling. And codeploy and IAM roles and all that sticky glue? Not really.
Am I falling into a trap?
The author only talk about code lock. Again, as Kubernetes mature it would become easier and easier to configure (think of it as unix/linux at its early days), and hence less and less code locked.
However, Kubernetes does not have data lock. I.e. when you go to the public cloud, you are locked both in term of compute and in term of data. I.e. the egress prices are 10x.
And there’s certainly cases where using some off-the-shelf cloudy thing pays off in the long run.
And then there’s the other cases where you find yourself facing a sudden massive application rewrite because you’ve hit a wall where Elastic Lambda Magic Beanstalk can’t do something you need and you have to do that custom solution anyway.
So it’s a nice graph where you put your own favourite solution at the top of the wisdom curve, but reality is more complex than that. A good engineer will have to carefully weigh the pros and cons before deciding that Farquaad Simple Amplified Borealis Service is the right choice. Because while it might be the right choice today, it may not be tomorrow, and if you’ve built your whole application around it, you’re going to have a bad time.
Just today I find myself having to scramble to disable a site feature, because a cloud provider decided to change their pricing model so we would have to get the extra special gold plan to continue using said feature, and to get gold, we just had to sign up for a full year contract of 3x our current resource usage.
If you use a vendor-specific solution like Elastic Lambda Magic Beanstalk, then you’re basically making a long term bet that the vendor will continue to support what you’re doing for the lifetime of your app, at a price you can afford, while continuing to scale it as far as you’ll need. You’ll need to factor in the risk of that bet into your decisions.