Those three terms are appearing a lot at the moment, you hear consultancies and companies discussing the right approach. However, in our experience, we have found out that there is a lot of confusion and misconceptions, causing issues. That’s why we decide to write this article to help you better understand opportunity, challenges and issues with either of those.
So let’s start with definitions:
Single Cloud
In a single cloud approach, you are running all your cloud workload with only one provider.
Whether it’s AWS, Azure, Google or someone else you are all in on one.
Benefits:
Easy of operations and training, you need to train up on the single platform
Ability to leverage unique offering from the vendor allowing you to optimise the workload
Cost – the more you use of one vendor, the more discounts you are offered, as you have a position of strength.
Issues:
You rely on a single vendor, while rare an outage does happen even to cloud providers, and can impact your business in negative ways
Your vendor might not have all the innovation that might be beneficial for your business, while the vendors work hard to release new features each offer unique strength
Lack of skills in the team – in the modern world the technology is changing dramatically, and you need to keep on top of releases and updates from different vendors, but if you invest in one ecosystem you are don’t have incentive to look at other vendors as closely
Multi-Cloud
In a Multi-cloud approach, you are running the same workloads on multiple vendors,
allowing you to remove the points of failure related to specific vendors
Benefits:
You are mitigating any possible issues that might affect specific provider or location
You have a higher skills level as you are working with multiple providers and leveraging their offerings.
Offer value in providing you with the ability to host in location where another vendor isn’t present, good example is China.
You offload a lot of workloads to Docker or Kubernetes allowing you for highly scalable platforms
Issues:
You are forced to use basic/common resources to achieve compatibility between vendors
You are not able to leverage the highly customised tools from a specific vendor, as they would require you to create multiple version of the application
You are not able to leverage your spend with one vendor to achieve a higher level of savings
It’s harder to find engineers who are skilled across multiple vendors
Poly Cloud
Poly Cloud is often mistaken for multi-cloud. However there are key differences, and we find Poly Cloud to be a very interesting opportunity for business. In Poly Cloud approach you run specific parts of your workloads on the best provider for that specific function. For example you might be running your API on Lambda, but your data lake on Google.
Benefits:
You are mix and match parts of your solution based on best offering from vendors
You get performance and costs benefits
You are leveraging the most advanced offerings to provide the best value
Issues:
You are relying on the cloud-to-cloud vendor connectivity, where there might be increased latency
You are relying on different vendors availability; outage on one vendor can cause other parts of the application to stop performing.
Increased complexity due to the need to manage and deploy to different vendors
You are not able to leverage your spend to achieve a higher level of savings
A need to review and revise approach as offerings get updated and might need re-assessment
Conclusion
In conclusion, the best approach to the cloud depends on what you are trying to achieve. All three of the above-mentioned options work well in the right context, and they all supplement the right cloud strategy. If you want to pick the right approach, you will have to work your way back from the question: what am I trying to achieve? Once you have answered this crucial point, you will be able to trust your decision in picking the right strategy.