Those of you who read my posts know that I work for IBM, and that I work in the Cloud and Cognitive spaces. Recently I have seen some articles on Multi-Cloud Strategies (like this one from the O’Reilly site), and it puzzles me why so many of the things that I see on this topic seem to miss some of the most basic things. The O’Reilly article simplifies things, and misses some very important points. I don’t blame them, it’s hard to boil down a complex concept into a blog post that can be read in 5 minutes. So after explaining this more than once to someone, I figured it was time to write about it.
Getting Started with Cloud Computing
Cloud computing should be thought of as a tool – a tool to squeeze more computing power from a limited budget. At the highest level it allows a customer to stop buying and maintaining their own sever hardware, and “lease” this capability from a Cloud vendor. Now there are multiple things that you need to account for: security, availability, service availability (what kind of services are available), reliability, cost, etc. Due to some of the current limitations of cloud technologies, not ALL workloads are suitable to be moved to the cloud. There is a lot to understand, and it can be overwhelming.
For this reason, many companies decide to move slowly to the cloud, so they can learn and gain experience as they go. This is a great way to learn about what is important, learn about the limitations and concerns that you should have, and to get some experience with cloud. So they select a single cloud provider, and try a couple of pilot projects, moving some portion of their production computing to the cloud.
This is what I would consider a sane and reasonable approach to starting your journey to the cloud. This approach reduces your risk, and allows you to learn as you go, gaining valuable experience and expertise as your initial projects get deployed. Your team will understand he capabilities of your initial cloud vendor, both positive and negative, and will begin to become more comfortable with the whole cloud paradigm. At this point you are not able to leverage the strengths of various cloud vendors, but you don’t really care because you are in learning mode.
Once these initial pilot projects have been completed, you will then branch out to doing some other projects with your original cloud provider, as well as doing some pilot projects with a second cloud provider. This is the next step on your journey to a true multi-cloud strategy. This second cloud provider will seem quite strange, they may have some different terminology, different billing, and different capabilities. At first your teams will not like them, because they are comfortable with what they already know from your initial cloud provider. Give them time to learn – over time your teams will get a more balanced view of the positives and negatives of the cloud vendors.
At this point you should begin building your own knowledge base of the types of use cases and workloads that work particularly well for each cloud vendor, and you should have some kind of rough order of magnitude way to price workloads that have moved to each cloud vendor. Your team should also have a much better understanding of cloud concepts, and understand the differences in terminology between the cloud vendors.
A True Multi-Cloud Strategy
Once you have branched out to a couple of cloud vendors, branching out and evaluating additional vendors should be easy. Your team will be experienced and will understand some of the key capabilities to look for, the things that are important for your organization. You will be able to intelligently pick and choose between cloud vendors, based on price, capability, reliability, and based on your own experience. You’ll be able to make well informed decisions based on your use case, the workload, and choose the best cloud vendor for that particular job. So let’s look at what the positives and negatives of this approach are.
- Time – who wants to wait for two years while your team gets the knowledge that they need? Why not just pick a single cloud vendor and be done with it?
- Administration – monitoring and managing one cloud supplier can be a pain – managing 4 or 5 of them can be 4-5 times more painful.
- Reduced Risk – your investment portfolio should be well diversified, it reduces the risk you face should one of you investments fail. Your portfolio of cloud technology providers should be diversified for the same reason. It allows you to quickly take advantage of new capabilities and technologies, and gives you FLEXIBILITY. If you remember nothing else from this post – remember this point. It is what all of the other articles that I see miss – and it is the single most important benefit.
- Avoiding Vendor Lock In – have a cloud provider that is charging you too much? If you’re familiar with other vendors, moving workloads between cloud providers can be easy (especially if you use container technology).
- Best of Breed – giving your business the flexibility to choose a cloud provider that best fits their needs allows you to avoid overpaying for capabilities that might go unused with some cloud providers.
- Best Practices – each cloud vendor may be strong in a particular area, but your team can generalize these best practices across ALL of your cloud implementations.
So wrapping things up, I think that a multi-cloud strategy IS important. I strongly believe that the benefits of reduced risk and flexibility far outweigh the costs in terms of time (and patience) and administrative overhead. It also allows your IT teams to focus on your core business, and pushes many of the “bread and butter” IT tasks off onto the cloud provider. This allows you to focus and innovate.