Infrastructure-as-a-service cloud providers differentiate themselves by offering hosted web services that augment...
basic compute services. For enterprises using multicloud, these differences require constant attention to ensure applications continue to run on the optimal public cloud platform. There are three factors that can help admins determine multicloud app placement: public cloud feature set, overall application cost and traffic flow.
First, ensure the public cloud platform you're targeting for a specific application supports the features that application needs -- including security and compliance. During the application development stage, some teams might decide that the capabilities of a platform-as-a-service-centric cloud, such as Azure, would accelerate development and facilitate integration with on-premises applications. However, this kind of optimization could make it difficult, or even impossible, to move applications around in a multicloud environment.
This issue becomes even more complex when you use infrastructure as a service that's augmented by hosted functions. Amazon Web Services and Azure have several dozen special hosted features, ranging from simple database tools to complex functional programming or internet of things support. Even if two cloud providers offer the same hosted features, they most likely don't support them via the same APIs. This means that, to move an application from one platform to another, developers would have to rewrite the application components that use that hosted service, or develop multiple versions of those components to have one for each cloud provider.
Carefully review the software development implications of each service or feature you plan to use in a multicloud app deployment. If you want portability, pick providers and use features that don't lock your applications and their components into one place.
Total application cost
Generally, a cloud provider charges for a basic service, adds a premium fee for each hosted feature you use and assesses traffic charges for data movement.
There are tools available to help you evaluate the cost of your cloud provider choices. RightScale has a free tool that works with major cloud providers, and Cloudorado has a tool that covers more complicated situations like cloud bursting and failover. These tools are helpful to compare basic cloud hosting costs, but can fall a little short when dealing with add-on services.
If you start planning for multicloud app placement with the assumption that you will pick the best cloud provider for each application, and keep the applications' workflows within that selected provider, you can build a multicloud environment that's cost-efficient.
Traffic flows and charges
The biggest problem with cloud cost assessment tools is that it's difficult to accurately reflect the impact of inter-component traffic in multicloud. As data bounces between application components, users generally incur a cost each time it passes into or out of a given cloud platform. When determining multicloud app placement, remember that the best place to host an application component might be in a cloud that costs more outright, but avoids these traffic charges.
Map application component workflows to understand traffic fees. The general rule is to not place components that exchange work regularly on different cloud platforms. If you want to do that, measure the traffic and assess the cost to decide if the benefits justify the impact on your budget.
When to say 'no' to multicloud
Some users go through the steps above and find that multicloud computing is almost impossible to price out accurately, or that the costs could vary widely. This means it might be best to forgo the multicloud model, and focus on just a single cloud provider.
If applications, individual application components or other resources are highly interconnected, an organization should probably host them within its own data center or private cloud to minimize traffic charges and reduce integration complexity. This is also the case if an application has security and compliance needs that are difficult to meet, or to sustain, with multicloud integration, even with DevOps tools.
Multicloud app placement isn't easy. Always watch for signs that your deployment, or application lifecycle management, is getting too complicated. Even the best cloud strategy is only as good as IT teams make it through execution.
Learn all you need to know about multicloud
Avoid common multicloud management challenges
Where to start your multicloud computing preparations