33
Business problem
●Indonesian Cloud provider
●Competition from hyperscalers
●Data sovereignty / data privacy
●Data gravity
●Needs to broaden beyond IaaS
●DBaaS is foundational service
44
DBaaS Options
●Trove
●Custom / DIY e.g
Ansible/TF/OpenTofu
●Work with a DBaaS provider
55
Solution
●Leverage Severalnines CCX DBaaS
with Lintasarta Cloudeka infra
●Controlplane in K8s
●Dataplane in Openstack VMs
●Supporting multiple databases
○MySQL, MariaDB, Postgres,
Redis, MS SQL Server
8
Helm install CCX
Installation steps
Setup OpenStack
credentials and
config
Specify flavors
and volumes that
should be
exposed
3 21
https://artifacthub.io/packages/helm/clustercontrol/ccx
9
OpenStack integration options
9
White-label
the CCX frontend
Full API
integration
Your branding here
10
Integration options
JWT
(White label UI)
Service Account
(Full API Integration)
CCX DBaaS
Controlplane
User auth
(Web UI)
11
OpenStack integration
11
12
JWT
Login request
Create JWT
- PROJECTID
- USERID
- ORGID
- EMAIL
Sign with
private key
Receive JWT
Public Key
User exists?
Provision user
Control
Plane
CSP
Create SessionLoad UI
13
Now what?!
13
Our DBaaS is up and running
14
Now what?!
14
Our DBaaS is up and running
Create infra and databases
15
Now what?!
15
Lifecycle management
Our DBaaS is up and running
Create infra and databases
1616
Day 2 Operations
●State handing
●Database Configuration management
●Backup and Restore
●Scaling
●Failover
●Automatic Failure Handling
●Upgrades
1717
Day 2 Operations
●State handing
●Database Configuration management
●Backup and Restore
●Scaling
●Failover
●Automatic Failure Handling
●Upgrades
… while operating at scale
… while requiring no human interaction
18
ControllerControl loop
Controlplane Dataplane
datastore state
FAILED
STARTED
etc.
PRIMARY
1.1.2.4
REPLICA
1.1.2.5
OpenStack VM
OpenStack VM
datastore
State handling
19
DNS - Application Failover
ExternalDNS
Controlplane Dataplane
End-user Apps
replica.datastore.example.com
1.1.2.4datastore.example.com
1.1.2.5replica.datastore.example.com
REPLICA
1.1.2.5
OpenStack
VM
PRIMAR
Y 1.1.2.4
OpenStack
VM
datastore.example.com
20
DNS - Application Failover
ExternalDNS
Controlplane Dataplane
End-user Apps
replica.datastore.example.com
1.1.2.4datastore.example.com
1.1.2.5replica.datastore.example.com
REPLICA
1.1.2.5
OpenStack
VM
PRIMAR
Y 1.1.2.4
OpenStack
VM
datastore.example.com
21
DNS - Application Failover: Failover and update DNS
ExternalDNS
Controlplane Dataplane
End-user Apps
datastore.example.com
replica.datastore.example.com
1.1.2.4datastore.example.com
1.1.2.5replica.datastore.example.com
1.1.2.5datastore.example.com
PRIMAR
Y 1.1.2.5
OpenStack
VM
PRIMAR
Y 1.1.2.4
OpenStack
VM
2222
Immutable
infrastructure principle
●Error handling
●Do not attempt to login to the servers
and fix things. No SSH.
●No agent that intelligently tries to do
things on the datastore
→ Rely on simple procedures.
23
How does CCX resolve this?
ExternalDNS
Controlplane Dataplane
End-user Apps
datastore.example.com
replica.datastore.example.com
1.1.2.4datastore.example.com
1.1.2.5replica.datastore.example.com
1.1.2.5datastore.example.com
PRIMAR
Y 1.1.2.5
OpenStack
VM
PRIMAR
Y 1.1.2.4
OpenStack
VM
24
Add new infrastructure
ExternalDNS
Controlplane Dataplane
End-user Apps
datastore.example.com
replica.datastore.example.com
1.1.2.4datastore.example.com
1.1.2.6replica.datastore.example.com
1.1.2.5datastore.example.com
REPLICA
1.1.2.6
OpenStack
VM
PRIMAR
Y 1.1.2.5
OpenStack
VM
PRIMAR
Y 1.1.2.4
OpenStack
VM
25
Remove broken infrastructure & clean up
ExternalDNS
Controlplane Dataplane
End-user Apps
datastore.example.com
1.1.2.6replica.datastore.example.com
1.1.2.5datastore.example.com
REPLICA
1.1.2.6
OpenStack
VM
PRIMAR
Y 1.1.2.5
OpenStack
VM
replica.datastore.example.com
26 26
Observability/logging is key for troubleshooting