Multi-Cloud Architecture
In order to build highly scalable and reliable applications, a multi-cloud architecture design is appropriate. Our objective is to provide architectural guidance for migrating cloud-based systems that run on multiple independent clouds. Let’s take a look at some of the prominent multi-cloud architectures and migration strategy.
Cloudification
In this architecture, application component is hosted on-premise and after migration, it can use different cloud services of other cloud platforms to improve performance.

Here application component C1 is been hosted on-premise but after adopting multi-cloud, it uses AWS storage service AWS S3 and for compute, it uses Azure virtual machines.
Benefits: Improves availability as application re-hosting in multiple cloud platforms and avoid vendor lock-in.
Multi-Cloud Relocation
In this architecture application component is re-hosted on cloud platform and use other cloud services of multiple cloud platform to enhance capabilities.

Here application component C1 is re-hosted on AWS platform after migration and open to use environmental services of Azure. It is using AWS S3 for storage and has option available for compute either AWS or Azure.
Benefits: Improves availability as application re-hosting in multiple cloud platforms and avoid vendor lock-in.
Multi-Cloud Refactor
To provide better QoS, an on-premise application is re-architected for deployment on multiple cloud platforms. Here application needs to re-architected as fine-grained components so that deployment of high-usage components can be optimized independently. Here deployment of high-usage components is optimized independently of low-usage ones. The parallel design enables better throughput to multi-cloud platforms.

Here AC1 and AC2 are two application components hosted on-premise before migration. As both the components are independent integrity units, AC1 is deployed on AWS using AWS S3. On the other hand, AC2 is deployed on Azure and it can use any Azure’s cloud service as per requirements.
Benefits: Optimal scalability/performance, range of multi-cloud deployment options, agility to respond to business/IT change.
Challenges: On-premise application is modernized in isolation. Modernization is performed primarily for technical reasons. Component architecture which is only determined bottom-up may need to be re-evaluated because of multi-cloud environment.
Multi-Cloud Rebinding
A re-architected application is deployed partially on multiple cloud environments and enables the application to continue to function using secondary deployment when there is a failure with the primary platform.

Here AC1 and AC2 are two application components hosted on-premise before migration. As both the components are independent integrity units, AC1 is remains on-premise while two AC2 are deployed on AWS and Azure for disaster recovery. AC1 and two AC2 components are connected via EBS or Service bus.
Benefits: As unhealthy services become healthy again, traffic can be delivered, returning system responsiveness to maximum.
Challenges: This architecture does not guarantee seamless failover. There will be downtime.
Multi-Cloud Rebinding with Cloud Brokerage
A re-architected application is deployed partially on multiple cloud environments. This enables the application to continue to function using secondary deployment when there is a failure with the primary platform using cloud brokerage services.

In this architecture AC1 has been deployed on-premise and two re-architected AC2 are deployed on two cloud platforms AWS and Azure. Here Cloud broker services integrates all three components and provides flexibility to choose services from multiple providers (Cloud platforms AWS and Azure).
Benefits: As unhealthy services become healthy again, traffic can be delivered, returning system responsiveness to maximum.
Challenges: This architecture does not guarantee seamless failover. There will be downtime.
Multi-Application Modernization
Different on-premise applications A1/A2, AC1 are re-architected as a portfolio and deployed on cloud environment.

Benefits: It provides consistent information and rules in shared components. Reduced operation and maintenance costs for shared components is another benefit.
Challenges: Lack of business commitment to shared capabilities.
This was originally posted here.

Like
Report
*This post is locked for comments