A quick Google search for multi-cloud deployments reveals that there is surprisingly little information about such deployments available. We think that is unfortunate. The research community, without a vested interest in keeping customers under a single corporate umbrella, has long been thinking in those terms (cf. the European RESERVOIR and Optimis projects, both of which we have been involved with). Now that the technology world is increasingly maturing around the notion of cloud adoption in general, the benefits of multi-cloud deployments compared to single-cloud ones are also becoming more widely recognized:
- increased resilience against failures that can take out an entire cloud region or cloud provider (along with your backups!),
- better performance for end-users, as they can be served by cloud resources that are located geographically closer to them, and
- potentially lower operational expenditures, if end-users in a geographical region can be served well by a less expensive local cloud provider
…to name but a few. The recently published XO Communications-sponsored IDC white paper entitled “Why Are Enterprises Connecting to Multicloud Services?” lists other multi-cloud benefits.
One or More Providers: Still Multi-cloud
As anyone who has used a large cloud provider, e.g., Amazon Web Services (AWS) knows, each AWS region is managed as a separate cloud. They share nothing, except for the APIs used to interact with them. Machine images (AMIs), snapshots, security groups… all managed assets are region-specific. Cloud resource management for non-trivial applications already has a lot of moving parts, so multiplying those with the number of clouds further increases complexity. Other providers might not even have the same APIs. This is an obvious problem for system administrators and DevOps teams. Perhaps this is one of the reasons why multi-cloud information easily found on Google mostly pertains to using multiple cloud storage providers?
Multi-cloud for the Masses
Elastisys Cloud Platform simplifies management of multi-cloud deployments. Not only can you manage a fleet of cloud resources in various regions or zones belonging to a single vendor easily, it also extends your reach to multiple vendors with otherwise incompatible software stacks and APIs. This lets you, e.g., predictively auto-scale your entire service using a single configuration, rather than individual parts (although that is certainly possible, too!), regardless of where your instances are running.
Say that you have wisely chosen to deploy your cloud application with the leading Swedish OpenStack cloud provider City Cloud, now that they have extended their presence from the European market to also include the US. They still do not offer an Asian cloud zone, though, so you also want to use AWS for your Asian end-users. To use the Elastisys Cloud Platform to manage your instances, you would configure your cloud pools to use instances of roughly similar performance, have them start a stable base image with the OS of your choice, and have new instances configure themselves by pulling either Docker containers or their configuration from Chef, Puppet, or similar. After that, the Elastisys Cloud Platform Just Works, and you can manage your entire deployment with ease and peace of mind, reaping all the benefits multiple cloud providers can offer.
What are your multi-cloud deployment experiences? Let us know in the comments below!