Even as cloud services become more commoditised, their offerings have begun to fragment and diverge. This is no accident. Cloud providers like AWS, Google Cloud and Azure have a vested interest in keeping their services just interoperable enough to make migration from existing paradigms reasonable, but not enough to make them interchangeable with other providers.
If cloud services were totally interchangeable and based on open protocols, they would have to compete entirely on price. This would complicate the existing practice of offering startup credits to new customers in the hope of locking in revenue from a potentially high growth company. It’s not unusual to see a newly funded startup offered $100,000 or more in credits as an incentive to use a particular cloud provider. If switching was easy startups would be able to run for years on credits alone, jumping from cloud to cloud as their credits ran out.
Current Options
These factors contribute to make true interoperability between cloud providers extremely unlikely in the near future but there is some hope on the horizon. Kubernetes has emerged as the dominant container orchestration engine, forcing cloud providers to accommodate. Google Cloud has seemingly embraced Kubernetes more wholeheartedly than other providers, likely due to its roots in Google’s Borg system.
AWS on the other hand has begrudgingly rolled out a Kubernetes service of it’s own (EKS) but it’s a half hearted attempt at best. The state of EKS is bad enough that one could speculate that it was intentionally limited in order to prevent serious competition with ECS. AWS has been able to get away with this so far due to their dominant market share. Many companies simply run their container workloads on ECS and put up with the lack of features.
This leaves a gap in the market, especially for startups. While AWS is still the safe option, startups are more open to trying new options if there is a chance to save money or access better features. Digital Ocean has moved in with a Kubernetes service that may soon be able to compete with the best that AWS or Google Cloud has to offer, albeit without the ecosystem of other services around it. Azure has also begun to innovate in the space with their own Azure Kubernetes Service.
Mitigation
All this chaos leaves companies considering cloud containerization with a few choices. They can go all in on a single provider and hope that this provider will be sufficient for all their future needs. Or they can try to run everything themselves on virtual instances using a tool like KOPS, which offers more portability at the price of convenience and time.
None of these options are particularly straightforward, but that’s the reality of cloud computing today. If you’re in the evaluation stage considering cloud providers you’ll want to make sure you understand your workloads and requirements before making a decision. Switching is still costly and time consuming so it’s better to get it right from the start.