Multi-Cloud Kubernetes Series Part 4

Parker Smits • February 1, 2024

Multi-Cloud Kubernetes:

A Guide to the Galaxy

The good, the bad, and the data


This week we are diving into storage challenges.  This is the most challenging part of the equation, so it is important to consider and accept trade-offs. At the risk of sounding like a broken record I’m going to highlight that every advantage comes with its own set of disadvantages. Keeping your data in sync across different clouds requires significant engineering, intentional storage considerations, and a lot of negative consequences.


Before going into the details lets define some terms that we will use throughout the post. First is “XDCR”, which stands for cross datacenter replication. Next is “multi-active”. Multi-active is a database that accepts write operations on multiple primary instances. Combined is what you need in a system for your data to be available and modifiable in any cloud at any time. Note this shouldn't be the goal, there are places we can make concessions as a truly read anywhere write anywhere database system is generally unecessary.


I’m going to start this segment like I started the first segment.  I’m going to present some questions you should be asking yourself early and often to see if cross-cloud data is feasible for your team and if not what are your options. The goal is to surface issues early so you don’t spend months of effort to find out you must make a trade-off that you or your leaders are not willing to make.


Here will be a series of decision trees to understand the constraints and if solutions are available.



Summary


The summary here is not to rain on everyone's parade, in fact its the opposite.  Not every organization needs a Lamborghini when a Honda works just fine.  Often you don't need the most elaborate data solutions, and can make do with with one primary database and read replicas in other clouds or regions. Copying your data all over the internet and having multi-active databases is a recipe for disaster. It will have application performance impact, budget impacts and sink vasts amount of the engineering organization time if done right.  So if you have the time and resources look into some of the amazing database systems that can support these workloads some of them are even designed for kubernetes like Cockroach DB. Otherwise try the simplest solution first of keeping your data single cloud. If it works great! If not starting thinking about these conversations above.


In the last segment we will go over trade-offs and conclusions on our multi-cloud journey.


By Parker Smits May 23, 2024
Ops as a Suffix
By Parker Smits January 3, 2024
Multi-Cloud Kubernetes: A Guide to the Galaxy
By Parker Smits November 13, 2023
Multi-Cloud Kubernetes: A Guide to the Galaxy