Recently, I have read posts and received questions around being locked into a public cloud vendor. The concern here is that it’s hard to say who the winner in the cloud space is going to be. What happens if Microsoft’s Azure surpasses Amazon’s AWS? Oh, and didn’t Oracle just announced their new cloud?
These are, of course, valid concerns. However, I don’t think they matter to companies like us. I define “us” as midsize, service-oriented companies that tend to value velocity over cost.
Here’s my advice on how to select and manage your cloud strategy, and why locking in with a cloud vendor doesn’t worry me.
1. Pick the cloud that meets your needs the best.
At this point, one can safely assume that none of the major cloud providers are going to disappear overnight. Yes, I know HP’s Helion is shutting down, but I said ‘major’ provider (sorry, HP). There are questions like “But what happens if Amazon decides they don’t want AWS anymore?” or “What happens if XYZ goes out of business?”
I know vendor viability is always important, but who honestly thinks that Amazon or Microsoft will disappear in the next 5 years? Please don’t tell me you can plan ahead further than that. Yes, not being able to predict the future of your strategic Infrastructure as a Service (IaaS) can be a little scary, but if you stick to the major providers, you will reduce the risk dramatically.
So, who should you pick? If you develop on Windows Server, you should probably pick Azure. Most everybody else will likely pick AWS. Maybe Google or one of the Platform as a Service (PaaS) vendors. Of course, these are strategic investments, and being smart about your choice is important.
2. Once you’ve picked a cloud vendor, go all in.
There is leverage in using a vendor’s proprietary capabilities. Example: why would you build your own sharded MySQL farm on Amazon’s EC2 with hand-crafted replication and failover, if you could use Amazon Aurora?
Vendor-native infrastructure comes with capabilities that are hard or tedious to roll on your own. Choosing their solutions will make your implementation deeply dependent on them, but it can dramatically improve velocity.
How about the orchestration capabilities? Cloud vendors have some pretty amazing capabilities in their offerings that aren’t necessarily compatible with other approaches.
3. Now, finally, why doesn’t lock-in matter (to us)?
First of all, you are always somewhat locked in, even if you buy hardware. Swapping out databases is not at all trivial. Has anybody ever attempted to swap out, let’s say, DB2 for Oracle to save money? Sure, they may convert to open source. That said, in our case, opportunity cost is almost always going to outweigh the cost savings I could get by switching to a different vendor. Re-testing or even re-designing large parts of an application is expensive, even though you may save dollars on licensing or subscription fees.
Yes, there are companies for which every dollar saved matters. Then there are companies with billion-dollar IT budgets that apply a *lot* of diligence before they make a choice. But, for most of us, velocity and business agility are the most important factors. Putting all your bets on one vendor and all of their technologies can really pay off, provided you pick the right one.
Are there specific considerations you took into account that helped you pick a cloud vendor? Please comment and share your experiences below!