Pros and Cons of Multi-Cloud Environments
Multi-cloud environment – using public cloud services from multiple providers like AWS, Google Cloud, and Azure in a single heterogeneous architecture to power applications – presents organizations with some opportunities, and some challenges.
In this article we’ll explore key issues VPs of Development, CTOs and CIOs will want to consider as they think about Multi-Cloud Strategy.
Specifically, we will try to answer the following questions:
- Why is multi-cloud an attractive option?
- What are some benefits of multi-cloud?
- What are some of challenges that multi-cloud environments pose?
We will walk through some of the key benefits and issues to keep in mind for anyone thinking of deploying a multi-cloud environment.
Reasons why CIOs, CTOs and VPs of Development should think about using Multi-Cloud Environments
There are a three main benefits of multi-cloud environments:
- Avoiding vendor lock-In
- Picking the best tools available from different cloud providers for different tasks
- Various niche use-cases
Let’s look at each of these.
Avoiding Vendor Lock-In
Avoiding vendor lock-in gives you more complication in the short-term, but it avoids several risks of using a single cloud vendor for all your infrastructure:
- Vendor Going Out of Business – When we consider the main Cloud vendors – like AWS, Microsoft, and Google – it’s fairly safe to believe they (as much as any technology vendor) will be in business for years to come. However, there are many other cloud providers, including Rackspace, IBM, Internap, Bluerock, Softlayer, and Netsuite. Each may have something interesting to offer, depending on your needs and situation. But they are also relatively more vulnerable to bad business cycles.
- Unsatisfactory Level of Service – A multi-cloud deployment architecture can give you flexibility and alternatives if you experience unsatisfactory levels of customer or technical service. For example you want to know how your cloud providers handle breaches to their SLAs. Different types of cloud SLAs include: IaaS SLAs (with a distinction between compute and storage services), PaaS SLAs, and SaaS SLAs.
- Unexpected Price Changes – Cloud costs have generally be been coming down, thanks to competition between providers. This is good for customers. But you have to stay vigilant. Price changes can catch you by surprise. If you have a multi-cloud architecture, you’re in a better position to take advantage of drops in pricing from new discounts, instances, options and billing arrangements that providers might offer.
After choosing a single cloud provider and investing significant resources into development on their cloud platform, it can be very costly to move infrastructure to a different provider. However, if you do need to move, there are three “costs” to keep in mind:
- Data transfer – which can be slow and expensive
- Software change – potentially large software changes might be necessary
- Lack of expertise in the new cloud vendor – new tools and APIs will need to be learned
Pick Best Tools for the Task
Having access to multiple cloud environments gives you access best-of-breed tools available on the market. While different clouds have very similar offerings, some services are distinct and might work better in specific cases than others. Having more options to choose from is always great.
If you’re a .Net development shop, you might think Microsoft Azure would offer better tools. However, AWS has strong offerings for .Net developers as well.
If you leverage a lot of Open Source development tools, you might think AWS is a better option. However, for a few years already, Microsoft has aggressively embraced open source technologies.
If you’re responsible for local and municipal government computing environments, the good news is that the big cloud providers all have special sections for government users, where workloads do not share computing, networking or other resources with other business users.
Increasingly, the major cloud providers also promise compliance with various regulations, such as the HIPAA, DISA, FIPS, among many others.
If you are considering a multi-cloud strategy it is important to understand what future initiatives are coming and what changes in your business model or operation are anticipated. You also need to take a close look at the available tools and services across various cloud providers to see what best matches your organization’s skills, IT environment and business goals.
Niche Use Cases
Two different workload contexts might both benefit from spreading storage across different cloud vendors:
- Having many Points of Presence globally
Thinking about security first: You may want to avoid giving access to all your data to a single vendor. By striping/encrypting data, and spreading the stripes between different vendors, it is possible to achieve the highest possible security and availability of your data.
If you need as many Points of Presence on a global scale as possible – for IoT workloads, for example – you would want to utilize many public cloud vendors.
Multi-Cloud strategy is not only beneficial from the pricing and toolset standpoint, but also from the standpoint of “physical” presence to help increase application speed and availability.
Disadvantages of Multi-Cloud Environments CIOs, CTOs and VPs of Development should keep in mind
There’re few important challenges that come adopting a multi-cloud strategy
- Need for cross-cloud tools (usually, additional cost)
- Lowest common denominator
- Traffic costs, Architecture limitations
- No volume discounts
Let’s look at them one by one.
Need for Cross-Cloud Tools
Using multi-cloud architecture means that most likely the built-in provider management tools will not let you manage all of your infrastructure from a single dashboard.
This means that you’ll need to do some additional manual work to manage all you clouds and invest into third-party cross-vendor tools. Those tools – like DataDog, AppDynamics, or NewRelic – are usually not cheap.
Lowest Common Denominator
When you architect solutions for multi-cloud environments, you’ll always be tempted to use only those services that are available on all cloud platforms, because this simplifies your architecture, and simplicity is very valuable. But this also means you will miss the unique features of the cloud vendors. And those unique features are usually the best ones, and which give you the most value out of the cloud.
Traffic Costs and Architecture Limitations
All cloud vendors try to structure their prices and services in a way that makes it hard for you to take your data out of their environments. In a multi-cloud environment, it’s most likely that data will always be going in and out of those clouds – and this brings additional costs or limits to your infrastructure architecture to keep those costs reasonable.
No Volume Discounts
Obviously, it will be much easier to get volume discounts from a single vendor if you have a 3x-4x larger spend on one account than trying to get similar discounts from 3-4 different providers.
Achieving some of the benefits of multi-cloud strategy without becoming embroiled in all the challenges
As an alternative to a full-fledged multi-cloud deployment, strategies can also be implemented to use different cloud vendors in specific and limited ways. For example:
- Having a DR strategy which uses a different cloud vendor
- Having a clear exit strategy from a specific vendor with pre-calculated costs and prepared plans in case an exit
Those approaches can limit the Cons associated with multi-cloud environments, while still reaping some of the benefits.
Looking at our experience at Kanda Software, and the experiences of our customers, most companies find great success using a single cloud approach: as we say, “Choose and Commit”. A few companies can successfully leverage niche use cases for multi-cloud deployments, and/or limited multi-cloud use. They Do Exist. But we have yet to see a successful fully-fledged large-scale multi-cloud deployment. In most cases, the complexity and costs outweigh the benefits.