In 2018's user conference keynote MariaDB CEO, Michael Howard, announced an initiative to build a MariaDB DBaaS platform. In this session, the DBaaS team shares how MariaDB is approaching DBaaS, then discusses the role of containers and Kubernetes, the need for infrastructure-agnostic provisioning, support for day-two operations and enterprise requirements for large-scale DBaaS deployments.
3. Multi-Cloud
(Kubernetes/OpenShift, Mesosphere, CloudFoundry)
Public Cloud
IaaS
(EC2,Azure, GCP,…)
DBaaS
(MariaDB RDS, Azure
Database for MariaDB, ...)
Private Cloud
PaaS
(Kubernetes/OpenShift,
Mesosphere,
CloudFoundry)
Current State
Unsupported third party images and services
• Customers deploy unsupported MariaDB images on various cloud platforms
(E.g. 99m+ MariaDB image downloads from Docker hub)
• Cloud lock-in due to incompatibility between third party implementations
• Cost surprises and lack of control for long running production applications
5. MariaDB in Private Cloud
• Developed certified Docker images & Docker Sandboxes
• Developed Kubernetes Operator that deploys and manages complex topologies
• Working closely with RedHat & Diamanti for Docker images and Kubernetes operators
• In production at a major financial institution.
Multi-Cloud
(Kubernetes/OpenShift)
Public Cloud
IaaS & RDS
(Ex.AliCloud)
Database-As-A-Service
(@MariaDB.com)
Private Cloud
(Kubernetes/OpenShift)
• Deploy
• Configure
• Manage
• Monitor
• Optimize
MariaDB
Manager
7. X3 Managed Service
• White Glove service using MariaDB Remote DBA's
• Bring your own cloud
• Backup, Recovery, security, query optimization,...
• Enterprise Architect support & Best practices recommendation
Multi-Cloud
(Kubernetes/OpenShift)
Public Cloud
IaaS Database-As-A-Service
(@MariaDB.com)
Private Cloud
(Kubernetes/OpenShift)
• Deploy
• Configure
• Manage
• Monitor
• Optimize
MariaDB
Manager
8. SkySQL
• Platform X3 with HTAP capabilities, adding analytics to transaction workloads...in future Clustrix.
• Multi-Cloud support (Cloud Agnostic)
• SLA based provisioning: Database centric not infrastructure, existing offerings are based on anemic templates
• Automated: QoS, backup/restore, Optimizations.
• MariaDB services: EA, Support, patches, bug fixes, RDBA
Multi-Cloud
(Kubernetes/OpenShift)
Public Cloud
IaaS & RDS
(Ex.AliCloud)
Database-As-A-Service
(@MariaDB.com)
Private Cloud
(Kubernetes/OpenShift)
• Deploy
• Configure
• Manage
• Monitor
• Optimize
MariaDB
Manager
9. CloudTrial
• Free database in the cloud service
• Available in the last week of Mar 2019
• Ability to spin up MariaDB Server and MariaDB ColumnStore with click of a button.
• Essentially SkySQL Alpha service for early experimenters
Multi-Cloud
(Kubernetes/OpenShift)
Public Cloud
IaaS & RDS
(Ex.AliCloud)
Database-As-A-Service
(@MariaDB.com)
Private Cloud
(Kubernetes/OpenShift)
• Deploy
• Configure
• Manage
• Monitor
• Optimize
MariaDB
Manager
10. Alibaba RDS
• Alibaba ApsaraDB RDS for MariaDB launched in Sept 2018
• Thousands of instance of MariaDB running with MariaDB MaxScale
• Second level support by MariaDB team
• Immediate access to patches, bug fixes and professional support
Multi-Cloud
(Kubernetes/OpenShift)
Public Cloud
IaaS & RDS
(AliCloud)
Database-As-A-Service
(@MariaDB.com)
Private Cloud
(Kubernetes/OpenShift)
• Deploy
• Configure
• Manage
• Monitor
• Optimize
MariaDB
Manager
12. Release Timeline
● Docker images/Kubernetes Operator
○ Beta Ready: Mar 6th, 2019 (Ask: Looking for Beta customers)
○ GA: End of Mar 2019
● SkySQL
○ CloudTrial: End of Mar 2019
○ Beta: Summer, 2019
○ GA: Fall, 2019
13. Cloud related sessions
Container Workshops: Monday 9am-12pm & 1:30pm-4:30pm (Buff/AlexAldev)
Docker Sandboxes Session & demo: Tue 2:30pm-3:20pm (Buff)
Best practices: Running high-performance databases on Kubernetes: Tue 5-50pm (Diamanti)
Walgreen’s journey to the Cloud: Wed 1-1:50pm
Caveats of hosting MariaDB on Microsoft Azure Cloud: Wed 2-2:50pm (GIG Sports)
Deploying MariaDB in Containers (Nokia): Wed 3:30pm-4:20pm
15. What benefits customers get?
• Play with a MariaDB instance for a few hours! For Free!
• Have some data to play with!
• No Software to Download!
• Works in your Browser!
19. What’s offered in CloudTrial
● MariaDB Server (Single instance)
● MariaDB Analytics (ColumnStore)
● Sample Data Set
● 8 Hours per day free of charge.
20. What’s NOT offered in CloudTrial
● No security
● No backup
● No production support
● No performance guarantees
● No monitoring
22. DBAAS and SkySQL Technology
● What's important to us in our framework choices:
○ Support multiple private clouds as well public clouds
○ Focus on the specifics of managing MariaDB clusters rather than building our own
automation / orchestration layer.
○ Extensible and flexible to support future requirements.
○ Open source and ability to give back to the community.
● Kubernetes checks all these boxes.
○ De-facto choice for application services.
○ The ecosystem is rapidly evolving to solve the past challenges of stateful containers.
23. MariaDB Containers
MariaDB provides supported container images at https://hub.docker.com/u/mariadb:
• mariadb/server
• mariadb/maxscale
• mariadb/columnstore
These containers provide the building blocks for running MariaDB as a service either as a
single container instance or multi container deployment.
As part of the offering, additional sidecar containers will be provided to provide a complete
solution, e.g. Prometheus exporters for each product.
Coming soon: certified containers in the OpenShift Catalog.
24. Why Kubernetes
• Kubernetes has proven wildly successful for managing containerized applications /
microservices.
• Strong industry desire and investment to support persistent state / databases has
evolved.
• Lets MariaDB focus on building the best developer / dba centric DBAAS capabilities
rather than focussing on orchestration, management and monitoring.
• Matches our strategy to:
– Help you run MariaDB where you want to: MariaDB managed public cloud, self
managed public, hybrid, and private cloud.
– Focus on end user experience rather than infrastructure centric.
– Enable machine learning based autonomous operations.
25. Kubernetes Features for Database Clusters
• Stateful Sets:
– Provides stable DNS and defined order of instantiation: Easier to support special
nodes as the Master.
– Persistent Volumes provide separation of storage from pod: Support failure scenarios
where a Pod may be recreated on a different Node. Smart storage or fast networked
storage can enable very high performance.
• Operator:
– An extensibility SDK that enables creation of an Application that exposes a Custom
Resource Definition (CRD) to manage the database cluster: Use code rather than
yaml & init scripts to handle complex things such as Master identification and pod
scale out.
27. MariaDB Operator Capabilities
• Deploy MariaDB Clusters (following our best practices):
– Master Slave
– Galera
– ColumnStore
– ...
• Scaling a cluster, e.g. add a Slave
– Auto Scale in the future
• Cluster recovery in the event of node failure
• Cluster deletion
• Cluster upgrade
• Backup and Restore
29. SkySQL
• MariaDB managed Database as a Service running on public clouds.
Consume as:
• Web Based GUI with end user design for easily spinning up and managing
MariaDB databases.
• Open Service Broker API to easily consume SkySQL in external tools,
platforms, or your own scripting.
• Builds on our Kubernetes Operator and knowledge in running MariaDB.
• Simple to consume and understand.
30. SkySQL Alpha Architecture
Cloud Provider
SkySQL
Platform
SkySQL UI
OSB
API
Use MariaDB
Instance
Create MariaDB
Instance
3rd Party
Tool / Platform
Create MariaDB
Instance
Request Instance
Binding
Application /
BI Tool
31. SkySQL as a Service
As we were developing the product we came to a realization that we'd benefit ourselves
from using our own platform to:
• Support better regression tests of our application platform by utilizing SkySQL to
create short lived MariaDB instances to provide a full platform stack rather than
mock our data layer.
• Provide a stable MariaDB deployment for new deployments of SkySQL to test
environments.
Our Continuous Integration testing and deployment is developed using GitHub Actions
(which is currently in beta).
To support this we have developed a SkySQL Action to enable consuming the SkySQL OSB
API to provision and deprovision MariaDB server instances to support regression tests as
well as deployments.
32. SkySQL Demo Scenario
To demonstrate this we'll show 3 seperate demos:
- Provisioning a MariaDB Server in the SkySQL UI to demonstrate ad-hoc / manual
creation.
- Setting up a simple GitHub Actions workflow to demonstrate the simplicity of
creating and destroying a SkySQL MariaDB instance to enable full data stack
regression tests.
- A quick look at our actual SkySQL GitHub Actions workflow that runs our test and
deploy automation.