You may have noticed that it isn’t 2009 anymore, and the factors that define different cloud providers are more difficult to spot than they used to be.
All offer basic computing, networking and storage options.
They all also have derivative services like load balancers, databases, and queuing that allow them to sell more computing, networking and storage at a premium – and common application components you no longer have to manage.
All even have next-wave functionality built around IoT, voice-to-text (and back), AI and serverless computing.
With all that common core technology, how do you differentiate among them?
Data Center Locations
The fact that anyone with a credit card can deploy an application halfway around the world in minutes is pretty amazing.
The diversity of locations that the different public cloud providers offer makes workload geography a far more nuanced decision than it used to be.
The speed of light is constant, and if latency is the enemy of your application performance, then where you deploy your back-end functionality matters.
AWS, Azure and IBM all offer a wide variety of data center locations, and they change all the time.
But if you have a locale-specific constituency whose needs you want to meet, taking a close look at your choices independent of vendor is a good idea.
After all, a Linux box is a Linux box is a Linux box.
It was a big deal in the 1990s when Microsoft made the jump into the data center with Windows NT, and although Linux is the first choice for many, some IT shops have tight relationships with Microsoft and are dedicated to their operating system.
Often times, public cloud providers treat Windows as a second-class citizen based on that demand, so it’s no surprise that if you’re a deep Windows shop, Azure is going to offer you more consistent support of the latest and greatest.
Integration with Private Cloud
There once was a time when Werner Vogels wouldn’t utter the phrase “hybrid cloud,” but even AWS is on board with the concept that some workloads are never leaving the private data center and, therefore, public and private clouds need to work together.
Most public cloud providers provide VPN support so that you can make resources launched there appear as if they are on your local network, but beyond that there are two emerging schools of thought on what hybrid cloud really means.
Azure Stack aims to replicate services available on its public cloud sibling in your private data center and provides more elaborate tools for making them work together.
The benefit of this approach is that Microsoft is doing the heavy lifting and, in theory, the result should be more seamless.
But the downside is that leaves you locked into one vendor.
Other vendors are relying more on the cloud management platform (CMP) tooling vendor market to provide the ability to manage and move workloads among different providers.
The benefit there is that typically includes the ability to move workloads among different public clouds – and not just between public and private, all from a single management view.
The flip side of this approach is that CMPs discourage use of the derivative services, since they differ from provider to provider.
When most people discuss hybrid cloud, it means that an organization has a portfolio of applications it’s responsible for, and some run best on a public cloud while others run best on a private cloud.
Hybrid cloud applications – in which some components run on one cloud while other components run on a different cloud – are becoming increasingly popular, and only possible if the derivative services a cloud offers can be utilized with lightweight state.
As an example, suppose you have a mobile application that needs to use back ends for speech-to-text, intent analysis and text-to-speech.
Maybe you like IBM Watson for the first two, but prefer the voices that AWS Polly offers for text-to speech.
Those three components have very light state between them, so you can easily mix and match the best of breed from different vendors.
Contrast that with services that require end user authentication and keep state in memory or in a database, which would be difficult to extract.
The factors that separate cloud vendors from one another are far more nuanced than they used to be, to the point where very few people are going all in on a single vendor, but instead using several different ones to gain very specific advantages.
Why choose one when you can take advantage of a buffet of locations, features and services that best suit your application needs?
This selective approach will continue more granularly within applications moving forward, so don’t make the mistake of boxing yourself into a specific provider.