Remember that time when S3 went down? How about when SSL certificates in every Azure data centre expired at the same time, bringing every region down at once? Did you enjoy working with an independent public cloud vendor like SoftLayer, only to have them get acquired by IBM?
Whether you’re dealing with downtime, an acquisition, or an exit from the market entirely, how much does the survival of your cloud provider matter? A lot, actually. And that’s why a cloud agnostic approach to your data and applications is best.
Settling of the public cloud market
In recent years, there has been a settling in the public cloud market. Azure and AWS are the big two in that space with Google and IBM close behind, but sometimes organisations explore other options.
Regional service providers have grown adept at hosting VMware-based clouds, and their intimate knowledge of their customer base enables them to customise the experience in a way that the big guys can’t scale down to quite as well.
>See also: Want to understand agile working methods? Look at start ups
Similarly, Digital Ocean continues to be successful across multiple geographic regions by catering to the developer market.
In fairness to the big guys mentioned above, AWS and Azure have done an excellent job at combatting high availability issues that caused them to suffer highly publicised downtime.
The truth of the matter is, they possess resources and expertise on a scale that is difficult to match elsewhere, and they now provide great guidance on how to best use their platforms to ensure your own data protection and security.
But, fool me once, shame on you, fool me twice, shame on me. It doesn’t happen a lot, but it’s not unprecedented for an entire public cloud infrastructure across multiple locations to go down.
You’ll need to find a way to operate if it happens again or if some unforeseen acquisition misaligns with your enterprise agreements.
The services trade-off
One aspect of examining a cloud agnostic approach is the appeal of the extended services that the larger public cloud providers offer, such as managed databases, load balancers, queues, and notification services.
These services can dramatically accelerate time to market for applications and allow developers to focus on the business logic to solve the problems specific to your needs.
>See also: Staying ahead of the digital wave
The trade-off is that their use also tends to lock you into a particular provider, given that there is little to no commonality between such services across different providers.
Cloud agnostic approaches
So, how can you take a more cloud agnostic approach to protect yourself from one of these scenarios where your cloud provider goes away, goes down, or gets acquired by someone you aren’t as in sync with? Here are a few approaches to consider:
1. Multi-cloud backups
The simplest approach is to simply back up your data to a different provider than the one you use to collect that data in the first place. This also allows you to take advantage of that data by spinning up your applications that depend on it on the second cloud.
In other words, treat cloud providers like you treat individual private data centres. Run production on one, but back up and have a cold standby on another.
2. Hybrid cloud applications
A more complicated but more robust approach is to build your applications in such a way that they have a global load balancer on top of application stacks that run on different clouds.
Imagine one set of web and database servers running on one cloud, a second set running on another, and a global load balancer that either actively sends traffic to both stacks (in which case the trick is keeping application state synchronised between them) or sends all traffic to one stack but treats the other as a warm standby.
This approach takes more effort, but shrinks turnaround time to get up and running on the alternate cloud.
3. Cloud management platforms
Instead of trying to manage all of this yourself—or to make it easier to choose which of the two approaches discussed here to use on an application-by-application basis — consider enlisting the help of a cloud management platform (CMP).
>See also: Consolidation: a database prediction
While still an emerging product family for which Gartner has a Market Guide but not yet a Magic Quadrant, these tools provide a single view of application deployments across different cloud providers and tend to provide an abstraction layer to make it easy to migrate an application from one vendor to another.
Some provide governance and metering/billing tools so that system administrators can dictate who is allowed to deploy applications to which cloud and put some guide rails on spending. Benchmarking tolls within a CMP can be useful as well so that more direct price/performance comparisons can be made among different vendors.
There are several ways you can proceed toward a world where you aren’t locked into one cloud vendor and subject to problems that can occur if that vendor has downtime, gets acquired, or disappears.
Deciding between the time to market speed of utilising cloud-specific services but increasing lock-in is among the most difficult decisions to make when trying to build a cloud agnostic solution.
That’s where CMPs can help by adding abstraction on top of multiple clouds. Regardless of your approach, giving yourself options as cloud models mature is key to being nimble enough to take advantage of future benefits as they unfold.
Sourced by Pete Johnson, technical solutions architect for cloud in the Global Partner Organisation at Cisco Systems