Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

M|18 Running MariaDB TX on Containers

216 views

Published on

M|18 Running MariaDB TX on Containers

Published in: Data & Analytics
  • Be the first to comment

  • Be the first to like this

M|18 Running MariaDB TX on Containers

  1. 1. MariaDB TX on Containers Thomas Boyd Solutions Architect Modern RDBMS on Modern Infrastructure
  2. 2. Agenda • The Promise of Containers • Orchestration and Management – Kubernetes • Databases, MariaDB & Containers • Q&A
  3. 3. The Promise of Containers
  4. 4. Existing Deployment Models Are Broken Version control 1. Development 2. Test 3. Stage / Production Developer QA / QE Sysadmin
  5. 5. Dockerfile - Example FROM centos:7 ... COPY cnf/ /etc/my.cnf.d/ ... RUN mkdir -p /var/lib/mariadb-socket /var/lib/mariadb-load-data /var/lib/mysql/mysql /home/mariadb && yum -y update && yum -y install hostname ... && usermod -d /home/mariadb mysql ... USER mysql WORKDIR /home/mariadb VOLUME /var/lib/mysql /var/lib/mariadb-socket /var/lib/mariadb-load-data EXPOSE 3306 ... ENTRYPOINT ["mariadb-server-entry"]
  6. 6. Architectures Are Complex & Static Challenges • Orchestration • Complexity • Maintainability • Durability • Consistency • Scalability • Cost ($) • (Hybrid) CloudEnterprise Environment Legacy Mainframe Operational Database Caching Layer Pricing / Inventory / Billing Real-time Decisioning Real-time Consumer facing Streaming Data Data Warehouse Data Lake RDBMS Transactional Systems
  7. 7. What do Containers give me? Encapsulation of Dependencies • O/S packages & Patches • Execution environment (e.g. Python 2.7) • Application Code & Dependencies Process Isolation • Isolate the process from anything else running Faster, Lightweight virtualization
  8. 8. Virtual Machines vs. Containers App 1 App 2 App 3 Bins/Libs Bins/Libs Bins/Libs Guest OS Guest OS Guest OS Hypervisor Host Operating System Infrastructure Docker Engine Operating System Infrastructure App 1 App 2 App 3 Bins/Libs Bins/Libs Bins/Libs
  9. 9. Open Container Initiative (OCI) – Polyglot Vendors Coalition of industry leaders join forces to eliminate fragmentation • Form a vendor-neutral, open source governance model under the Linux Foundation • Establish common standards for container format and runtime • Docker donated its container format, runtime and associated specifications • Appoint maintainers for the libcontainer project
  10. 10. Orchestration and Management
  11. 11. Docker Toolchain Machine provisions Docker Engines Swarm clusters Docker Engines Compose orchestrates Container deployment Containers instantiate an image and are run by Docker Engine Docker Machine Docker Compose Docker Swarm Docker Engine Image Images encapsulates your code, dependencies…
  12. 12. What about orchestration and Management? Orchestration and Management of Containers and higher-level constructs (services, deployments, etc….) is evolving Amazon ECS Google Container Engine Azure Container Service
  13. 13. docker kubelet docker kubelet docker kubelet node node node kubernetes master(s) kubectl REST Kubernetes Components kubernetes interfaces volumes containers volumes containers volumes containers
  14. 14. mysql: 3306 mysql: 3306 port: 3306 Kubernetes Objects pods services spec: controllers mysql: 3306 spec: deployments provide access to manage manage
  15. 15. Databases, MariaDB and Containers
  16. 16. Data Durability Container Storage • Ephemeral • AUFS / Copy on Write • Stateless versus Stateful Applications Volume Storage • Persistent • “Volume” differs between docker and Kubernetes • Kubernetes provides MANY volume types – Local, EBS, Azure, GCE, Ceph, flocker, etc… • Stateful sets and persistent storage claims
  17. 17. Data Durability (Redux) Redundant Storage vs. Master Slave vs. Galera Cluster
  18. 18. Cluster Formation Injection of Information • Passwords, etc... • Environment variables versus Secrets Configuring Complex Clusters • Master / Slave, Galera Cluster, MariaDB AX, Maxscale Location of Config Logic • Outside scripts • Entrypoint Scripts • Customer Operators • Event streams
  19. 19. Self Healing How does Cluster Handle Container Failure?
  20. 20. MariaDB TX / Server • “Official” Single Instance Docker Image github.com/docker-library/mariadb • Bitnami curated Master->Slave github.com/bitnami/bitnami-docker-mariadb • Galera Cluster (with Docker Swarm Support) github.com/colinmollenhour/mariadb-galera-swarm • Sample App using Galera on Docker mariadb.com/resources/webinars/how-build-and-scale-application-mariadb-docker
  21. 21. MariaDB AX / ColumnStore • Single Instance Docker for Dev & Evaluations –github.com/mariadb-corporation/mariadb-columnstore-docker • Multi-node on Kubernetes – mariadb.com/resources/webinars/get-started-analytics-easy-way-mari adb-ax-kubernetes –github.com/WonkyWumpus/mdb-cs-easy-sshd-ubuntu-1604
  22. 22. Questions?

×