Click here to share this article on LinkedIn »

When it comes to comparing clouds, the more you dig into the details, the more difficult the choice. At least when you’re buying a car, the specs are broadly the same —you get 4 wheels, an engine, symmetrical design and the ability to drive on roads. Cloud offerings are amorphous and hard to compare. In between overzealous sales people promising everything and an ever-evolving feature list, sometimes it seems fruitless to even try.

But does the choice even matter if clouds generally offer no-contract billing? Yes it does. Although long-term contracts are almost non-existent, the real lock-in comes from the way the platform will inform many of your IT decisions going forward. This intrinsically makes it harder to switch as you get more enmeshed with their services.

Unlike buying a car, where a bad choice might last a couple of years, a decision around a cloud vendor could last a decade or longer. It’s less like buying a car and more like a blind marriage contract. Actually, it’s less like a regular marriage and more like The Batchelor(ette) minus the roses.

If it seems scary, don’t panic — looking at the decision from the position of what you need, not what’s on offer, is the first step. Asking some key questions upfront can go a long way to help discover what’s behind the veil and make an informed vendor selection.

Do you have complex billing requirements?

This might seem an odd place to start, but hear me out.

Administering a metered service among busy development teams can be painfully difficult if the accounting tools aren’t designed for more than the basics. It’s trivial at the beginning but can become a monster to manage if you haven’t thought through the process that will work for your company.

To break down invoices based upon resource type, use tagging, or move charges across accounts, the capabilities vary dramatically across providers. While Google offers a bizarrely unhelpful billing template (that flies in the face of their general clarity on everything else), the obvious winner here is AWS which let’s you slice and dice bills any way you want. Few providers are even close here.

It’s like needing a bigger refrigerator for your refrigerator.

Which geographical regions are important?

This is often ignored on-premise because you’re generally limited to where your data center and disaster recovery buildings are housed. But in the cloud you have global flexibility on geography.

Your customers’ location usually dictates where you need to be but you might have odd use-cases (I knew one company that collected IoT data from machines in Asia but all the business was in Texas). Many companies convert local data centers to local regions in the cloud but really shouldn’t start that way.

Where is your vendor’s cloud? Bluemix has presence in Mexico, Amazon doesn’t. Everyone is in South Korea except Google. Much like cell phone networks, there is a patchwork of regional coverage that varies more than you might expect, and you need to know upfront.

Providers are pouring billions of dollars into expanding coverage so this map changes frequently. But before Santa’s workshop launches its cloud project in the Arctic, knowing that the nearest region is Canada (on AWS, not Google) might avoid stocking-stuffing disruption.

I’m still not sure about the difference between Great Britain and the United Kingdom and I’m from there.

Any existing relationship with a cloud company?

As the old world of enterprise software winds down wheezily on its deathbed, many firms still have ongoing contracts with the likes of Oracle and Microsoft, both of which are trying to move (and lock in) their customers into their respective clouds.

This can result in some perverse incentives with these firms shoehorning credits into your pockets. And we’re not talking $300 a year here — I’ve witnessed obscenely generous giveaways. If you can get a reasonable term with a huge cloud discount, it should weigh into your cloud selection.

This is especially true for cloud whale accounts. As a Fortune 500 company looking to commit to a cloud, much like when high rollers show up in Vegas, you’ll get wooed with freebies. While the incentives are definitely less exciting in clouds than casinos, they can be substantial since providers love the brand credibility a whale account brings to their marketing decks.

What experience do your developers have?

Don’t ignore your devs! Do not ignore them. Don’t do it.

Their chosen stack, libraries and programming languages are a major factor. If you’re an all-Microsoft .NET powerhouse, Azure will be an easy migration. As a Python 3 shop, forget Google App Engine and go AWS Elastic Beanstalk. Using Containers? Then both AWS and GCP are your top choices.

Work with your developers so the migration to cloud is as seamless as possible for their environments. If you fail to do this, not only might the entire project stall, your devs will hate you for making technical decisions without them.

So you’re going to listen to your devs aren’t you? Yes?

Which databases do you use?

Don’t go to Azure and expect to see the best implementation of MySQL — ice cubes will be bathing in the swimming pools of hell before Microsoft let’s Oracle look good.

You might be surprised that Google has a fairly limited range of databases supported, but at the same time offers the wickedly sick Cloud Spanner for strongly consistent, massively-scalable transactional applications. AWS has the broadest database offering in RDS and also has the MySQL-compatible powerhouse ‘Aurora’.

Then there’s the question of NoSQL which I would guess you will need at some point. Amazon makes a strong play here with DynamoDB but it’s not the same as MongoDB and in fact there’s a broad difference of features and functionality in the spectrum of NoSQL. Just when you had relational databases figured out…

What training and certifications are available?

Cloud is sufficiently complex from a security and architecture standpoint that training across teams is critical. And this isn’t just for safety — in my experience, engineers with cloud training are much more productive.

For certifications, AWS has the most mature and established program that forces professionals to recertify every two years. Others are scrambling to cobble together programs and are starting to get much better. Certification programs are vendor-specific so training on one doesn’t tend to help much on another, except in the most general terms.

Surprisingly, affordable and up-to-date training is a fairly new idea in IT land (go figure), and in cloud it was historically very hard to get decent training. Fortunately this is no longer the case but attitudes haven’t caught up with the idea that certification is really very useful. Trust me, it is, and it should loom large in your cloud planning.

How big is your budget?

The smaller your budget, the easier the choice. If you are just standing up a web server and database for WordPress, there’s isn’t much differentiating any of the clouds beyond price, and even that will be minimal (it’s around $20 a month on Google, $10 a month on AWS in case you’re wondering). Moving tiny workloads from cloud to cloud isn’t hard either.

Once your budget reaches the tens of thousands per month, it’s a different story. There’s much work in figuring out spending commitments and what sorts of discounts that gives you on different platforms — these are so substantial that ignoring them can double your cloud cost.

You also need to consider whether serverless will impact your IT in the 3–5 year time frame (hint: it will). If you are locked into a 3-year pile of reserved instances and miss the opportunity to switch to serverless and save 70–90%, this will torpedo your success story. If serverless will never happen in your organization, then the planning is easier.

Are there intangible biases?

Aside from the ill-informed opinions of “cloud is just a fad”, “it’s not secure” or “they’re reading our data”, there are other concerns you should be aware of when dealing with your business partners. For example, I have seen:

A large retailer refused to use AWS because Amazon is a competitor.

A financial services firm wouldn’t consider Google Cloud because Google retires products arbitrarily.

A Texas company wouldn’t use AWS because Jeff Bezos owns the Washington Post. Draw your own conclusions there.

Obviously when the people cutting the checks rain fire on your logical selection, it’s best to know that sooner rather than later.

Old-school CIOs everywhere.

What does the marketplace and third party ecosystem look like?

Many IT groups launch enthusiastically into cloud initiatives expecting that they will never use third party vendors.

Oftentimes, these vendors can save you staggering amounts of time and energy, especially in the set-up and security arenas. You should assess what your specific needs are, where your likely headaches will be, and if third party solutions exist to speed through the issues.

Cloud marketplaces vary by provider, and while consultancies often tout proficiency across all clouds, in reality very few do. Understanding the depth of experience for any required vendors in your chosen cloud is going to be a key element in your ultimate decision.

Where do you see yourself in 5 years?

If there is an appetite in your company to go all-in on cloud, this gives you a different set of options compares with firms that are in the experimental stage, or ones that want to maintain their own data centers.

Although all-in is my preferred space, this is also tricky because you are committing to a provider very early in the transition. This is less an issue for platforms like AWS or Azure but how confident are you that Google will be able to support all the different technologies currently used in house?

TL;DR — Quick recap