One is spoiled for choice when it comes to choosing a cloud provider. Cloud platforms have come a long way since their humble beginnings and now offer a myriad of services to suit most use cases customers might have. The question on every CTO's mind is, “Which cloud platform is the best for my business?”
So, what should you look for when choosing a cloud provider in 2019? Let’s look at some common factors about how to choose the best cloud computing option.
This is where most cloud platform evaluations start, as the desire to save on costs is natural to any company. It also makes sense as the cloud is consumption-based. The cheaper the cloud platform services are to start with, the less recurring cost it will have.
If an audit of existing infrastructure has been carried out, estimated costs for an equivalent deployment on the different clouds in scope shouldn’t be too difficult. Network traffic charges and applications might not be as straightforward, so some guesstimates, based on realistic assumptions, might be necessary.
However, bear in mind that even if it seems cheaper, those costs are estimates at this point and might change as a result of the eventual design. The same cloud might also become more expensive if the infrastructure profile changes in the long term, perhaps due to refactoring.
Cost should never be the only factor considered for this decision. There are many others, and existing infrastructure is among them.
Traditional infrastructure has grown organically for every company in the past. Platform and technology choices were driven by the needs of the company at the time. Some went the open-source way, while many had no choice but to have proprietary software.
When moving to the cloud
, that history can influence the choice of platform. This is especially true for larger companies that might have enterprise licenses for software, translating into discounts on the platform and lowering costs.
Existing infrastructure also affects the expertise that exists within the teams that will be working with the chosen platform going forward. It’s important to take that into consideration, given that learning a new cloud platform takes a lot of time and effort.
Consider that the teams have worked with their existing environment for years to develop their expertise, but for the new platform, they’re expected to be up and running in a fraction of that. It helps if the platform chosen reuses at least some of their existing expertise.
What will application development and infrastructure look like in the future? Platforms aren’t changed frequently, and the ones that fit that vision should weigh heavier than the ones that don’t when considering a cloud platform.
Be careful here. Popular opinion might put one cloud platform in front of the other for certain services, but is the company likely to use those services, and if so, would it use the features that differentiate it from other platforms?
Assuming the migration needs to happen soon, does the cloud platform cover (or provide equivalents for) all the services required today? Keeping the on-premises environment and going hybrid might be an option if some applications are not suitable for migration or too difficult to refactor, but it’s safer to look for a cloud provider that can provide the needed services from the start.
One significant consideration here is database platforms that may not have a natively licensed version on that platform. A workaround for that problem is to migrate to another cloud-based database platform
, but it’s difficult, especially in the timescales for migration, and comes with a certain amount of risk. Another way is to host it on dedicated instances, but that’s an expensive and inflexible workaround, and is best avoided.
Some organizations have their sights set on a multi-cloud deployment, which, if successful, reduces the risk of choosing the wrong cloud. It might work, but only if there’s existing knowledge of those cloud platforms and compelling reasons to do so, e.g., some functionality that a platform excels in.
However, if there’s no existing knowledge and experience, then it could be a risky strategy. Becoming comfortable with one cloud platform is difficult enough with all the innovation and options available. Adding another platform will stretch the teams too much, without much gain in capability.
A better way is to focus on one platform and do it really well and in-depth. Cloud concepts translate well between all, so there’s no reason the other platform can’t be added to the overall infrastructure later.
In the meantime, applications should be built on platform-agnostic infrastructure with standard interfaces between services and that should allow cloud mobility when more options become available.
Picking the best cloud provider is no easy task and a lot of thought goes into it. Comparative cost is never the only factor, and there are many other considerations that can influence the decision.
There’s so many choices available that it’s hard to find a use case that cannot be catered for by the cloud platforms available today. While it makes the decision-making harder, it’s a nice problem to have.