1
1
Building a Flexible &
Scalable Database
Strategy Across
Multiple Clouds
Divine Odazie, Severalnines
Localhost Conference 2024, Virtual
<img src="Divine.jpg" alt="Divine"
width="300" height="300">
2
2
Divine Odazie
● Technology Evangelist
at Severalnines
● Electrical/Electronics Engineer
● Certified Kubernetes Application
Developer (CKAD)
● Data on Kubernetes Ambassador
● Certified AWS Solutions Architect
● I’m excited to speak at Localhost
2024!
Database ops, your way
3
1. What is a multi-cloud database?
2. Use cases of multi-cloud database
deployment
3. DEMO: Deploying a multi-cloud
database
4. Maintaining a multi-cloud
database deployment
4
Multi-cloud = Multiple different clouds
89% of enterprises operate multi-cloud - Flexera 2023 State of the Cloud Report
Database ops, your way
5
What is a multi-cloud database?
A database deployment that operates across two or more clouds.
This could can be on public cloud, private clouds or hybrid (a mixture
of both).
Any database type is a candidate for multi-cloud deployment
- Relational (MySQL, PostgreSQL),
- NoSQL (MongoDB, Elasticsearch)
- Key-value (Redis), etc
Database ops, your way
6
Use cases for
multi-cloud
databases
Database ops, your way
7
Disaster recovery
● Organizations need to safeguard against
major outages.
● The worst that could happen, can happen!!
● Eliminates single points of failure
Database ops, your way
8
8
Environment
optimization
● Improve application performance
& latency
● Decrease overhead costs
● Better support mission-critical
functionality
● Prices change over time
Database ops, your way
9
Scaling out
Database
usage
frequency
Database uptime duration
● No shortage of specific instance types
● Cheaper option for compute resources
● Cloud bursting: overflow traffic on
private cloud to a public cloud
Database ops, your way
10
10
Control over data
Organizations need to:
● Stay ahead of regulatory changes
● Remove vendor and environment
lock-in
● Predictable licenses
Today, we are seeing the rise of
Sovereign DBaaS (Database-as-service).
Database ops, your way
11
Deploying a
multi-cloud
database
Database ops, your way
12
Is deploying and managing a multi-cloud
database easy?
The short answer is…NO!
Database ops, your way
13
Using Managed DBaaS vs Compute
Instances
Cloud specific DBaaS
● Limited interoperability with other
cloud providers.
● Replication focus on data import,
not scalability.
● There are significant limits in terms
of what you can or cannot do.
Building with compute
instances
● Greater flexibility in inter-cloud
connectivity.
● More control over database
configuration.
● Option to leverage cloud provider
tools or open-source software for
a cloud-agnostic setup.
vs
Database ops, your way
14
How do you deploy and manage a database
across multiple compute instances on different
clouds?
Database ops, your way
15
Steps to deploying a multi-cloud database
Configure cloud credentials, SSH and allow traffic
Enable necessary ports: SSH (22), xtrabackup (9999), and MySQL (3306)).
Deploy the database on the primary cloud provider
Deploy a VPN
Choose replication type: Synchronous or asynchronous, or both.
Create one or more replica on your secondary cloud provider
Launch load balancers (ProxySQL)
Deploy monitoring tools (Prometheus, grafana, etc)
Database ops, your way
16
Manual deployment vs Cloud agnostic
tooling
Manual deployment
● Set up connectivity between each
cloud
● Install the database on each
instance
● Configure the replication between
the cloud
● Configure Backup/restore across the
clouds
Agnostic tooling e.g
ClusterControl
● Only worry about connectivity
between the clouds
● Automate the rest
○ Database installation
○ Replication across each clouds
○ Failover
○ Backups
● Observability from the start
● And so much more!!
vs
Database ops, your way
17
Database ops, your way
18
Let’s get started!
Database ops, your way
19
19
AWS EC2 Instance DigitalOcean Droplet
MySQL Replication
Primary Replica
Database ops, your way
20
Maintaining a
multi-cloud
database
Database ops, your way
21
21
Key Activities
Setup monitoring and alerts
Database specific alerts:
● Database health
● Cluster health
● Replication
● Queries etc.
Operating system alerts:
● CPU Usage
● RAM or SWAP usage
● Disk usage, etc.
Investigating database
issues and errors
● Start with the logs
● Check the host system’s
health
Database ops, your way
22
22
Security
● Firewalls and VPN
● Encrypt data at rest and in
transit
● RBAC
● Regular audits
The Best Practices Checklist
Scaling
● Can you database scale?
Replication, LB, read/write
split.
● Vertical or horizontal
scaling
● Automate where possible
Performance
● Reduce latency in your
cloud connections
● Implement observability
● Automate health checks
Governance
● Create a practical
governance framework
● Comply to data privacy
laws like GDPR, HIPAA
Backups and disasters
● Store backups in multiple
locations
● Use proper replication
● Automatic backup
verification
Miscellaneous
● Automated database
deployment tools.
● Bring DevOps practice into
database deployment
Database ops, your way
23
Want to try out ClusterControl for free?
Other CSPs
Contact me
divine@severalnines.com
@Severalnines
Severalnines

Localhost Conference 2024_ Building a Flexible and Scalable Database Strategy Across Multiple Clouds

  • 1.
    1 1 Building a Flexible& Scalable Database Strategy Across Multiple Clouds Divine Odazie, Severalnines Localhost Conference 2024, Virtual <img src="Divine.jpg" alt="Divine" width="300" height="300">
  • 2.
    2 2 Divine Odazie ● TechnologyEvangelist at Severalnines ● Electrical/Electronics Engineer ● Certified Kubernetes Application Developer (CKAD) ● Data on Kubernetes Ambassador ● Certified AWS Solutions Architect ● I’m excited to speak at Localhost 2024! Database ops, your way
  • 3.
    3 1. What isa multi-cloud database? 2. Use cases of multi-cloud database deployment 3. DEMO: Deploying a multi-cloud database 4. Maintaining a multi-cloud database deployment
  • 4.
    4 Multi-cloud = Multipledifferent clouds 89% of enterprises operate multi-cloud - Flexera 2023 State of the Cloud Report Database ops, your way
  • 5.
    5 What is amulti-cloud database? A database deployment that operates across two or more clouds. This could can be on public cloud, private clouds or hybrid (a mixture of both). Any database type is a candidate for multi-cloud deployment - Relational (MySQL, PostgreSQL), - NoSQL (MongoDB, Elasticsearch) - Key-value (Redis), etc Database ops, your way
  • 6.
  • 7.
    7 Disaster recovery ● Organizationsneed to safeguard against major outages. ● The worst that could happen, can happen!! ● Eliminates single points of failure Database ops, your way
  • 8.
    8 8 Environment optimization ● Improve applicationperformance & latency ● Decrease overhead costs ● Better support mission-critical functionality ● Prices change over time Database ops, your way
  • 9.
    9 Scaling out Database usage frequency Database uptimeduration ● No shortage of specific instance types ● Cheaper option for compute resources ● Cloud bursting: overflow traffic on private cloud to a public cloud Database ops, your way
  • 10.
    10 10 Control over data Organizationsneed to: ● Stay ahead of regulatory changes ● Remove vendor and environment lock-in ● Predictable licenses Today, we are seeing the rise of Sovereign DBaaS (Database-as-service). Database ops, your way
  • 11.
  • 12.
    12 Is deploying andmanaging a multi-cloud database easy? The short answer is…NO! Database ops, your way
  • 13.
    13 Using Managed DBaaSvs Compute Instances Cloud specific DBaaS ● Limited interoperability with other cloud providers. ● Replication focus on data import, not scalability. ● There are significant limits in terms of what you can or cannot do. Building with compute instances ● Greater flexibility in inter-cloud connectivity. ● More control over database configuration. ● Option to leverage cloud provider tools or open-source software for a cloud-agnostic setup. vs Database ops, your way
  • 14.
    14 How do youdeploy and manage a database across multiple compute instances on different clouds? Database ops, your way
  • 15.
    15 Steps to deployinga multi-cloud database Configure cloud credentials, SSH and allow traffic Enable necessary ports: SSH (22), xtrabackup (9999), and MySQL (3306)). Deploy the database on the primary cloud provider Deploy a VPN Choose replication type: Synchronous or asynchronous, or both. Create one or more replica on your secondary cloud provider Launch load balancers (ProxySQL) Deploy monitoring tools (Prometheus, grafana, etc) Database ops, your way
  • 16.
    16 Manual deployment vsCloud agnostic tooling Manual deployment ● Set up connectivity between each cloud ● Install the database on each instance ● Configure the replication between the cloud ● Configure Backup/restore across the clouds Agnostic tooling e.g ClusterControl ● Only worry about connectivity between the clouds ● Automate the rest ○ Database installation ○ Replication across each clouds ○ Failover ○ Backups ● Observability from the start ● And so much more!! vs Database ops, your way
  • 17.
  • 18.
  • 19.
    19 19 AWS EC2 InstanceDigitalOcean Droplet MySQL Replication Primary Replica Database ops, your way
  • 20.
  • 21.
    21 21 Key Activities Setup monitoringand alerts Database specific alerts: ● Database health ● Cluster health ● Replication ● Queries etc. Operating system alerts: ● CPU Usage ● RAM or SWAP usage ● Disk usage, etc. Investigating database issues and errors ● Start with the logs ● Check the host system’s health Database ops, your way
  • 22.
    22 22 Security ● Firewalls andVPN ● Encrypt data at rest and in transit ● RBAC ● Regular audits The Best Practices Checklist Scaling ● Can you database scale? Replication, LB, read/write split. ● Vertical or horizontal scaling ● Automate where possible Performance ● Reduce latency in your cloud connections ● Implement observability ● Automate health checks Governance ● Create a practical governance framework ● Comply to data privacy laws like GDPR, HIPAA Backups and disasters ● Store backups in multiple locations ● Use proper replication ● Automatic backup verification Miscellaneous ● Automated database deployment tools. ● Bring DevOps practice into database deployment Database ops, your way
  • 23.
    23 Want to tryout ClusterControl for free? Other CSPs Contact me divine@severalnines.com @Severalnines Severalnines