Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

How MariaDB is approaching DBaaS

454 Aufrufe

Veröffentlicht am

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.

Veröffentlicht in: Software
  • Als Erste(r) kommentieren

How MariaDB is approaching DBaaS

  1. 1. MariaDB - DBaaS Approach Saravana Krishnamurthy VP of Product Management David Thompson VP of Engineering Mike Danko Senior Engineer
  2. 2. Agenda • Our Vision • Progress & Future • Technology • Demo: SkySQL CloudTrial • Q & A
  3. 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
  4. 4. MariaDB - Vision and Roadmap • Certified and supported MariaDB images • Cloud agnostic deployment and usage • Universal portability of applications, enable cost elasticity. 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
  5. 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
  6. 6. Organizational approach to public cloud
  7. 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. 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. 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. 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
  11. 11. MariaDB Manager • MariaDB Manager v1 : Summer 2019 • Support for Kubernetes environment. • Resource monitoring • Query monitoring 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
  12. 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. 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
  14. 14. CloudTrial(End of Mar 2019)
  15. 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!
  16. 16. MariaDB CloudTrial - Select Service Type
  17. 17. SkySQL: Time-to-Joy
  18. 18. SkySQL: Quick Productivity
  19. 19. What’s offered in CloudTrial ● MariaDB Server (Single instance) ● MariaDB Analytics (ColumnStore) ● Sample Data Set ● 8 Hours per day free of charge.
  20. 20. What’s NOT offered in CloudTrial ● No security ● No backup ● No production support ● No performance guarantees ● No monitoring
  21. 21. Technology
  22. 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. 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. 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. 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.
  26. 26. MariaDB Cluster StatefulSet MariaDB Kubernetes Operator MariaDB Operator MariaDB Cluster StatefulSet MariaDB Cluster kubectl apply Create mariadb cluster request
  27. 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
  28. 28. Pod-0: Master MariaDB Kubernetes HA Master Slave Cluster StatefulSet: MariaDB Server instance replicas: 2 Deployment: MaxScale instance replicas: 2 Service: (maria) 4006: RW 4008: RO Pod-1: Slave Client Application Pod-0/1: MaxScale jdbc:mariadb://maria:4006/mydb maxscale prometheus fluentd mysqld prometheus fluentd mysqld prometheus fluentd Persistent Volumes mariadb-vol-0 mariadb-vol-1
  29. 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. 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. 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. 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.
  33. 33. Demo SkySQL with GitHub Actions
  34. 34. Q & A