Before juming into a Multi cloud strategy, take a moment to review all the different challenges you are likely encounter for a Disaster recovery or High availablity site on AWS GCP or Azure
2. High Level Challenges
● Management of multi cloud services and servers from single GUI
● Automation (CI , CD, CT)
● Procurement, Accounting, and Billing
● Network considerations of HA
● High level motivation :
○ Active/Active HA on multi cloud ?
○ Active/Passive DR multi cloud?
3. Understand your application
● What stays the same:
○ Should run the same on all cloud: Services or servers?
■ IaaS
■ PaaS
○ Same operational procedures on all clouds
● What changes
○ Security
○ Accounting
4. Testing on multi cloud
● Performance
○ Mostly load balancer
○ NoSQL DB and In memory (redis)
● Data accuracy
● Usability
● backup cloud platform is expected to fall a bit
short in performance since it's intended for
temporary use, but data accuracy must be on
the money.
5. Cloud Redundancy & Failover strategy
● Think about ACID
○ How to ensure data won't be lost during a switch from one cloud to
another
○ Strongly Consistency? Eventually consistent?
○ Isolation?
○ Durability - Persistence -
■ RAM - not durable.
■ Disk? - may perform less.
■ Hybrid? May lose several second.
6. Cloud Redundancy & Failover strategy
● think through your data sync operations
(synchronic, synchronic, qurum, replicas etc).
● Network Latency … :(
○ Geographic (cross continent vs. cross city)
○ WAN latency across datacenters
○ LAN latency across datacenters
● Failover
○ Application layer failover? Or DevOPS layer
failover?
○ Time to fail over? 20min? >1H? > 1D?
○ Graceful failure?
7. Cost
● Data: If collocate all your data - it is not going to be cheap :(
● Compute: elastic
● HR: Will increase complexity of your DevOps team
○ Headcount
○ DevOps Skill set of 2 cloud vendors...