As enterprises move more IT operations and development to multiple clouds, a lot of questions are surfacing about combining public cloud services. This is especially true when it comes to the “big players”: Microsoft Azure, Amazon’s AWS, IBM i, and so on. Take, for example, this question about AWS and Azure posted by a developer to the Q&A forum Quora:
“I am developing a SaaS application and I am going to use Azure as a cloud provider. Now the problem is Azure doesn’t have MySQL services. Azure SQL Database is based on MS SQL. Now I am looking at AWS RDS as a MySQL service. Is that bad to have an app that is hosted on Azure and connects to RDS ?”
What could possibly go wrong in such a scenario? On the other hand, are there any benefits to developing applications to work across public cloud platforms?
Possible Issues Using AWS and Azure Together
When we ask about combining AWS and Azure, we have to be clear whether we are talking about using both for a single application, or simply using both in your organization as part of a multi-cloud strategy (but not necessarily both for any single application or service).
Using both for a single application is possible, but there are drawbacks:
- There is inter-cloud latency – When communication passes from AWS to Azure or the reverse, there will be greater latency. Some applications will be able to tolerate this, but not all, especially if traffic is high.
- It can incur egress charges – Just as you would incur egress charges going from Azure zone to Azure zone, you will incur charges going from public cloud to public cloud. Depending on why you want to use multiple clouds, this might be an unnecessary cost.
- Do you have the familiarity – Using two cloud platforms requires staying up-to-date on both. This can be a lot for a single person, or even a small team, to take on. Using multiple clouds might require you to seek out a third-party provider with all of the needed expertise under one roof.
- Resilience can become an issue – One of the main reasons enterprises adopt a multi-cloud strategy is for resilience: If one cloud has an issue, they can simply spin up new instances in the other cloud. As issues rarely affect all clouds equally, at the same time, this guarantees resilience, but that resilience goes away if you need both for an application to function. In fact, by doubling the number of cloud platforms needed, you are essentially doubling your exposure to outages and other problems.
So what about drawbacks to multi-cloud in general?
If you are not using multi-cloud for a single application, many of these worries disappear. However, management is still a huge issue. To handle multi-cloud management, consider using a multi-cloud manager tool (like our own TRiA). This tool will help you with:
- Visibility into your clouds (using one single pane of glass)
- Security & Compliance (ensuring your infrastructure is always compliant)
- Cost Optimization (giving insights on optimizing your cost structure)
- Performance Monitoring (to ensure healthy, operational, and highly performant systems)
A multi-cloud management tool is also a good idea if you have a single application spanning multiple clouds as well. This relieves you of the need to hop onto a different portal and use a different set of tools every time you need to manage the various components of the application.
Advantages of Using Multiple Clouds
There are two main reasons why an organization would want to use multiple clouds: To leverage the strengths of each cloud and to improve availability and resilience.
Leveraging the strengths of each cloud platform
These days, large organizations are selecting different services or features from different providers as part of an overall multi-cloud strategy. This allows them to optimize resources and budgets, as some cloud environments are better suited than others for particular tasks.
Availability and resilience
It’s rare that a given problem would affect two entirely separate cloud platforms. So, if something happens on one platform, you could simply spin up additional infrastructure on another platform. Users might not even notice a dip in availability if you have the structure and failover load balancing set up correctly. Many organizations also use multiple clouds for disaster recovery, even for their private clouds.
What about AWS and Azure specifically?
There are specific reasons why an organization would want to use both AWS and Azure together. A few general-use cases for multi-cloud environments include:
- Site replication and disaster recovery
- On-ramping and off-ramping data
- Load balancing across different clouds
- Cloud switching to take advantage of cost structures
- Keeping development and production environments separate