TL:DR: Cloud providers are the new cable companies
This will only gets worse as time goes on, as both Google and Amazon are now upping their war publicly and behaving more like old cable companies and TV stations that we so detest:
I can not recommend using K8s or Tensorflow on AWS in good conscience. I can not believe the claim that AWS is different from Retail — they are the same culture, same obsession with competitors instead of customers.
While Kubernetes may not be appropriate for all workloads, it has found fame and fortunes in recent times. With AWS jumping on the bandwagon, Kubernetes community is thrilled . Kubecon will be festive and there will be lots of parties, thanks to vendor marketing dollars.
I am happy for the K8s community, they have worked hard and are seeing the fruits of their labor. They have also kept the hyperbole to a minimum, which is hard to do in Foundation led projects. Kubernetes has established itself as the leader and for customers looking for a solution that requires the scale and power. Yet, customers should plan for the complexity that comes with it. If you are adopting k8s, you need consultants/services folks to ensure success of your project.
AWS is supporting Kubernetes as a service called EKS. This is an option besides ECS and Fargate.
AWS is the undisputed leader in cloud. K8s is getting there in container market. ( Thanks in part to Google for walking away from it and letting good OSS leaders run it ).
So, it makes sense to run K8s on AWS, right? What could go wrong pairing one leader with another leader?
In this post, I would argue that it is not a good idea to run Kubernetes on AWS. Lets cover some basics first and then walk down the memory lane.
Decision frameworks in large companies can be predicted from their past decisions. Secondly, for all the talk of customer focus, every company is first and foremost focused on their bottom line, second on their competition. Amazon is no exception. As “Do no evil” was a brilliant marketing message from Google, “Its Day 1” is a brilliant marketing message from Amazon.
Now, lets walk back the memory lane. In late 2015, some very senior executives at Amazon got scared that Google will disrupt their business in home entertainment. This was on the heels of their disaster with Fire phone. They got together as a group and decided that they must attack Google ( Remember, its always “Day 1” 😃, not about competitors ). They decided to ban sales of Chromecast at their retail business. Their explanation was that Chromecast was causing confusion to customers. Interestingly, Roku, Apple TV and myriad other devices were not confusing their customers. That explanation was as dumb as it gets. we called out Amazon on this back then:
This is one example we have for how Amazon makes decisions. There are other cases where Amazon put customer interests secondary to taking shot at competitors. It takes one or two high-level scared executives to stop supporting a competitor product. Someone else has observed that AWS has talked more about competitors at this year’s re:Invent than years before. Competition may be getting on their nerves.
Now, lets look forward to the future. When it comes to containers, AWS has ECS, EKS and Fargate. If Kubernetes starts gaining traction and Fargate fails to succeed, AWS will view Kubernetes as creating confusion for customers. They will pull the plug on it. If and when they do so, they will give you tools to migrate you to Fargate at a nice premium. It may cause disruption to your business.
If you have decided that Kubernetes is the solution you want use, you may be better off running those workloads on Google Cloud or Microsoft Azure, rather than AWS. If you decided AWS is your cloud provider, then use ECS or Fargate than Kubernetes. Or may be ask for a 5 year guarantee from AWS to support EKS before you use it.
Thats all folks. Agree/Disagree, comment below or on Twitter.