SlideShare a Scribd company logo
© 2018 DIAMANTI | CONFIDENTIAL | DO NOT DISTRIBUTE 1
Best Practices For
Building High-Performance
Stateful Databases On
Kubernetes
Wallie Leung, Sr. Dir. Solution Engineering
© 2018 DIAMANTI | CONFIDENTIAL | DO NOT DISTRIBUTE 2
Agenda
 Why Run Databases In Containers?
 Advantages / Disadvantages Of Different Kubernetes Infrastructure Types
 A Look At DIY Kubernetes Infrastructure
 Persistent Storage For Databases
 MariaDB: Architectural Advantages
 Case Study
 Fortune 50 Bank Adopts Containerized DBs, Deploys On Bare Metal Infrastructure
© 2018 DIAMANTI | CONFIDENTIAL | DO NOT DISTRIBUTE 3
Why Run Databases On Bare Metal Kubernetes?
 Better performance
 Higher density per node (no VM tax)
 Accelerated time-to-production,
updates, fixes
 Easier, more granular scalability
 Leveraging open source
technologies eliminates hefty license
costs
 Conducive to DBaaS
© 2018 DIAMANTI | CONFIDENTIAL | DO NOT DISTRIBUTE 4
Where Should You Deploy Your Containerized Databases?
DIY Infrastructure
PROS:
 Low complexity at small scale
 Experience with traditional
technology components
CONS:
 Longer time-to-value
 With a VM layer, resource efficiency
is reduced and complexity
increases
 High complexity and cost at scale
 Difficult to manage at scale
Public Cloud
PROS:
 100% OPEX means lowest cost
at small scale
 Proven, resilient infrastructure
as a service
CONS:
 Highest costs at large scale
 Difficult to optimize efficiency
 Security and compliance
concerns
 No bare metal support
DIY Bare Metal
PROS:
 Flexible, seamlessly scalable
infrastructure
 Better overall performance at scale
 TCO advantages are realized
CONS:
 Specialized skill sets required at
different areas of the stack
© 2018 DIAMANTI | CONFIDENTIAL | DO NOT DISTRIBUTE 5
Do-It-Yourself Approach to Container Infrastructure
DAY 1:
Build a
Container
Environment
Yourself
Vendor Engagement
Equipment Installation
Container Orchestration
Network Storage
Config Management
Orchestration
Network Overlay
Persistent Storage
Clustering
Management
Burn-In Testing
Run Applications
Monitoring
Access Controls
Upgrade Trials
Tribal Knowledge
Support / Handoff
Operationalized
Container
Environment
Is Complete
Ecosystem Research
© 2018 DIAMANTI | CONFIDENTIAL | DO NOT DISTRIBUTE 6
Storage Remains a Top Container Adoption Challenge
“A modern storage solution must provide
DevOps teams with persistent, stateful
application data; allow the consumption of
storage on-demand; and deliver the same
level of availability and performance
provided to traditional application
infrastructures.”
Source: https://containerjournal.com/2019/02/20/new-storage-challenges-emerge-as-container-
adoption-increases/
Container persistent storage
for stateful applications has
proven particularly difficult for
the industry
© 2018 DIAMANTI | CONFIDENTIAL | DO NOT DISTRIBUTE 7
Drilling Down: Storage For Stateful Containers
Network File System
(NFS)
 Offers persistent storage
CHALLENGES
 Performance isn’t
adequate
Local Storage
 Host paths can be mounted
to containers in Docker and
Kubernetes
CHALLENGES
 Persistence
 High Availability (HA)
 Who is managing it?
Traditional SAN Storage
 Either connect by iSCSI or
FC
CHALLENGES
 Persistence
© 2018 DIAMANTI | CONFIDENTIAL | DO NOT DISTRIBUTE 8
Connecting The Ecosystem With FlexVolume / CSI
 FlexVolume is Kubernetes plug-in facility for 3rd party storage
 Allows a standard way of integrating 3rd party storage, including storage with
enterprise features, into Kubernetes
 Developed and contributed to Kubernetes by Diamanti
 Being supplanted by CSI (Container Storage Interface), which Diamanti
continues to contribute to
 Now developers and architects have storage that is accessible and
configurable from the K8s API and PodSpecs
© 2018 DIAMANTI | CONFIDENTIAL | DO NOT DISTRIBUTE 9
Database Container Challenges, According To MariaDB
StatefulSet
 Definition: StatefulSet manages Pods that are based on an identical container spec
 Identical pods: additional scripting required to instantiate different roles
 Complete enterprise cluster requires more StatefulSets (i.e. MaxScale+Master/Slave)
Persistence
 Persistent volumes can add new layers of abstraction (and latency)
 Provisioning / managing of IOPS or throughput is backend storage vendor-specific
Resource Management
 DB instances contend with other apps for CPU, RAM, network and storage I/O resources
© 2018 DIAMANTI | CONFIDENTIAL | DO NOT DISTRIBUTE 10
MariaDB Servers
DBaaS: Sample Architecture
MaxScale Instances
MS1 MS2
Application Pod
App 1
DB-1
(master)
DB-2
(slave)
DB-N
(slave)
PV-1 PV-2 PV-N
DB reads
Mirrored volumes
.
.
.
.
.
.
.
.
DB writes
© 2018 DIAMANTI | CONFIDENTIAL | DO NOT DISTRIBUTE 11
Why MariaDB Is Suited For Kubernetes
 Lightweight, portable database runtime
 Well-suited for containers
 Implementation in Kubernetes enables load balancing of reads and
writes
 Master DB and Slave DBs can be scaled independently
 Offer different topologies, depending on specific use case
 Offer CPU/Memory usage resources management
© 2018 DIAMANTI | CONFIDENTIAL | DO NOT DISTRIBUTE 12
Containers And Database-as-a-Service
The Goal of DBaaS
 Service model that provides users the ability to provision DBs without the need
for setting up physical hardware, installing software or configuring for
performance
 Operational advantages with container-based DBaaS
 App developers can check out DBs without burdening DBAs or IT Admins
 Scaling capacity on-demand
 Auto-recovery via Statefulset (in Kubernetes)
 Built-in resource management for memory and CPU per pod
© 2018 DIAMANTI | CONFIDENTIAL | DO NOT DISTRIBUTE 13
 Operational advantages with container-based DBaaS
 App developers can check out DBs without burdening DBAs or IT Admins
 Scaling capacity on-demand
 Auto-recovery via Statefulset (in Kubernetes)
 Built-in resource management for memory and CPU per pod
 User defined policy for QoS – Network and Storage - per pod
 Out-of-the-box high-performance persistent storage (500k IOPS per node)
 Plug-n-play networking setup
Containers And Database-as-a-Service On Diamanti
© 2018 DIAMANTI | CONFIDENTIAL | DO NOT DISTRIBUTE 14
Diamanti Bare-Metal Kubernetes Platform
Complete turnkey Kubernetes stack
 Hyperconverged 1U appliance built on x86 architecture
 Features container-optimized networking and storage
models
 24/7 full-stack support
Built for public cloud experience, on-prem
 Per container pod network and storage QoS
 Enterprise DP/DR features: mirroring/synchronous
replication, snapshots/asynchronous replication
 No vendor lock-in: freedom for moving workload
between on-perm Diamant to the cloud
 IaaS for containers
Benefits:
 High performance
 Efficient
 Secure
 Installs in minutes
 Low TCO
© 2018 DIAMANTI | CONFIDENTIAL | DO NOT DISTRIBUTE 15
Customer Success: Fortune 50 Bank
Challenge:
 Migration away from Oracle for cost,
agility
 ~4 weeks to deploy new DBs on
traditional infrastructure
Profile:
 Large global bank serving 16M
Canadian, American, and
international customers
 81,000 employees, worldwide
Initial approach:
 DIY infrastructure to support
containerized DBaaS
 2 FTE for 18 months and still cannot
operationalize the platform
Solution:
 Installed and configured 3-node
Diamanti D10 cluster
 Deployed PostgreSQL, MongoDB,
and MariaDB on Diamanti in a day,
vs. weeks
 Added addition Diamanti nodes
dynamically with zero service
disruption
16x
Footprint
reduction
$14M
TCO savings over 5 years
23x
Faster deployment
Minimal Downtime
© 2018 | CONFIDENTIAL: DO NOT DISTRIBUTE 16
Next Steps
 Visit www.diamanti.com
 Follow @diamanticom
 Email
demo@diamanti.com
for a briefing and live
demo
 Stop by Diamanti Booth
for more detailed
discussion
© 2018 DIAMANTI | CONFIDENTIAL | DO NOT DISTRIBUTE 17
Thank You

More Related Content

What's hot (20)

Oracle GoldenGate Performance Tuning
Oracle GoldenGate Performance Tuning
Bobby Curtis
 
2020 - OCI Key Concepts for Oracle DBAs
2020 - OCI Key Concepts for Oracle DBAs
Marcus Vinicius Miguel Pedro
 
Master Canary Forging by Yuki Koike - CODE BLUE 2015
Master Canary Forging by Yuki Koike - CODE BLUE 2015
CODE BLUE
 
DevOps for Databricks
DevOps for Databricks
Databricks
 
Presto best practices for Cluster admins, data engineers and analysts
Presto best practices for Cluster admins, data engineers and analysts
Shubham Tagra
 
Infrastructure as Code for Network
Infrastructure as Code for Network
Damien Garros
 
What is the State of my Kafka Streams Application? Unleashing Metrics. | Neil...
What is the State of my Kafka Streams Application? Unleashing Metrics. | Neil...
HostedbyConfluent
 
From cache to in-memory data grid. Introduction to Hazelcast.
From cache to in-memory data grid. Introduction to Hazelcast.
Taras Matyashovsky
 
Zero Data Loss Recovery Applianceのご紹介
Zero Data Loss Recovery Applianceのご紹介
オラクルエンジニア通信
 
MySQL Replication Performance Tuning for Fun and Profit!
MySQL Replication Performance Tuning for Fun and Profit!
Vitor Oliveira
 
Oracle MAA (Maximum Availability Architecture) 18c - An Overview
Oracle MAA (Maximum Availability Architecture) 18c - An Overview
Markus Michalewicz
 
Oracle GoldenGate Cloud Service(GGCS)概要
Oracle GoldenGate Cloud Service(GGCS)概要
オラクルエンジニア通信
 
Introduction to github slideshare
Introduction to github slideshare
Rakesh Sukumar
 
Tutorial ceph-2
Tutorial ceph-2
Tommy Lee
 
Deletes Without Tombstones or TTLs (Eric Stevens, ProtectWise) | Cassandra Su...
Deletes Without Tombstones or TTLs (Eric Stevens, ProtectWise) | Cassandra Su...
DataStax
 
dbt Python models - GoDataFest by Guillermo Sanchez
dbt Python models - GoDataFest by Guillermo Sanchez
GoDataDriven
 
Partner Briefing_January 25 (FINAL).pptx
Partner Briefing_January 25 (FINAL).pptx
Cloudera, Inc.
 
オンプレミスからクラウドへ:Oracle Databaseの移行ベストプラクティスを解説 (Oracle Cloudウェビナーシリーズ: 2021年2月18日)
オンプレミスからクラウドへ:Oracle Databaseの移行ベストプラクティスを解説 (Oracle Cloudウェビナーシリーズ: 2021年2月18日)
オラクルエンジニア通信
 
Oracle backup and recovery basics
Oracle backup and recovery basics
Akira Kusakabe
 
Cloud Pub_Sub
Cloud Pub_Sub
Knoldus Inc.
 
Oracle GoldenGate Performance Tuning
Oracle GoldenGate Performance Tuning
Bobby Curtis
 
Master Canary Forging by Yuki Koike - CODE BLUE 2015
Master Canary Forging by Yuki Koike - CODE BLUE 2015
CODE BLUE
 
DevOps for Databricks
DevOps for Databricks
Databricks
 
Presto best practices for Cluster admins, data engineers and analysts
Presto best practices for Cluster admins, data engineers and analysts
Shubham Tagra
 
Infrastructure as Code for Network
Infrastructure as Code for Network
Damien Garros
 
What is the State of my Kafka Streams Application? Unleashing Metrics. | Neil...
What is the State of my Kafka Streams Application? Unleashing Metrics. | Neil...
HostedbyConfluent
 
From cache to in-memory data grid. Introduction to Hazelcast.
From cache to in-memory data grid. Introduction to Hazelcast.
Taras Matyashovsky
 
MySQL Replication Performance Tuning for Fun and Profit!
MySQL Replication Performance Tuning for Fun and Profit!
Vitor Oliveira
 
Oracle MAA (Maximum Availability Architecture) 18c - An Overview
Oracle MAA (Maximum Availability Architecture) 18c - An Overview
Markus Michalewicz
 
Introduction to github slideshare
Introduction to github slideshare
Rakesh Sukumar
 
Tutorial ceph-2
Tutorial ceph-2
Tommy Lee
 
Deletes Without Tombstones or TTLs (Eric Stevens, ProtectWise) | Cassandra Su...
Deletes Without Tombstones or TTLs (Eric Stevens, ProtectWise) | Cassandra Su...
DataStax
 
dbt Python models - GoDataFest by Guillermo Sanchez
dbt Python models - GoDataFest by Guillermo Sanchez
GoDataDriven
 
Partner Briefing_January 25 (FINAL).pptx
Partner Briefing_January 25 (FINAL).pptx
Cloudera, Inc.
 
オンプレミスからクラウドへ:Oracle Databaseの移行ベストプラクティスを解説 (Oracle Cloudウェビナーシリーズ: 2021年2月18日)
オンプレミスからクラウドへ:Oracle Databaseの移行ベストプラクティスを解説 (Oracle Cloudウェビナーシリーズ: 2021年2月18日)
オラクルエンジニア通信
 
Oracle backup and recovery basics
Oracle backup and recovery basics
Akira Kusakabe
 

Similar to Best practices: running high-performance databases on Kubernetes (20)

SREDAY London 2024 | Cloud Native Technologies: The Building Blocks of Modern...
SREDAY London 2024 | Cloud Native Technologies: The Building Blocks of Modern...
Severalnines
 
Running database infrastructure on containers
Running database infrastructure on containers
MariaDB plc
 
Microservices and Cloud Native Apps Meetup with Diamanti and Nirmata
Microservices and Cloud Native Apps Meetup with Diamanti and Nirmata
Fred Love
 
Kubernetes for the VI Admin
Kubernetes for the VI Admin
Kendrick Coleman
 
An Architectural Deep Dive With Kubernetes And Containers Powerpoint Presenta...
An Architectural Deep Dive With Kubernetes And Containers Powerpoint Presenta...
SlideTeam
 
{code} and Containers - Open Source Infrastructure within Dell Technologies
{code} and Containers - Open Source Infrastructure within Dell Technologies
The {code} Team
 
Kubernetes solutions
Kubernetes solutions
Eric Cattoir
 
MayaData Datastax webinar - Operating Cassandra on Kubernetes with the help ...
MayaData Datastax webinar - Operating Cassandra on Kubernetes with the help ...
MayaData Inc
 
Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
DevOps.com
 
{code} and containers
{code} and containers
{code} by Dell EMC
 
How to manage state with a Kubernetes Application
How to manage state with a Kubernetes Application
Bahubali Shetti
 
Containers as Infrastructure for New Gen Apps
Containers as Infrastructure for New Gen Apps
Khalid Ahmed
 
Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
DevOps.com
 
Containers and Kubernetes without limits
Containers and Kubernetes without limits
Antje Barth
 
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
SlideTeam
 
Container Landscape in 2019
Container Landscape in 2019
Anusha Ragunathan
 
Platform as a Service with Kubernetes and Mesos
Platform as a Service with Kubernetes and Mesos
Miguel Zuniga
 
Containerized Storage for Containers
Containerized Storage for Containers
OpenEBS
 
Containerized Storage for Containers
Containerized Storage for Containers
Murat Karslioglu
 
Strategy, planning and governance for enterprise deployments of containers - ...
Strategy, planning and governance for enterprise deployments of containers - ...
The Incredible Automation Day
 
SREDAY London 2024 | Cloud Native Technologies: The Building Blocks of Modern...
SREDAY London 2024 | Cloud Native Technologies: The Building Blocks of Modern...
Severalnines
 
Running database infrastructure on containers
Running database infrastructure on containers
MariaDB plc
 
Microservices and Cloud Native Apps Meetup with Diamanti and Nirmata
Microservices and Cloud Native Apps Meetup with Diamanti and Nirmata
Fred Love
 
Kubernetes for the VI Admin
Kubernetes for the VI Admin
Kendrick Coleman
 
An Architectural Deep Dive With Kubernetes And Containers Powerpoint Presenta...
An Architectural Deep Dive With Kubernetes And Containers Powerpoint Presenta...
SlideTeam
 
{code} and Containers - Open Source Infrastructure within Dell Technologies
{code} and Containers - Open Source Infrastructure within Dell Technologies
The {code} Team
 
Kubernetes solutions
Kubernetes solutions
Eric Cattoir
 
MayaData Datastax webinar - Operating Cassandra on Kubernetes with the help ...
MayaData Datastax webinar - Operating Cassandra on Kubernetes with the help ...
MayaData Inc
 
Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
DevOps.com
 
How to manage state with a Kubernetes Application
How to manage state with a Kubernetes Application
Bahubali Shetti
 
Containers as Infrastructure for New Gen Apps
Containers as Infrastructure for New Gen Apps
Khalid Ahmed
 
Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
DevOps.com
 
Containers and Kubernetes without limits
Containers and Kubernetes without limits
Antje Barth
 
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
SlideTeam
 
Platform as a Service with Kubernetes and Mesos
Platform as a Service with Kubernetes and Mesos
Miguel Zuniga
 
Containerized Storage for Containers
Containerized Storage for Containers
OpenEBS
 
Containerized Storage for Containers
Containerized Storage for Containers
Murat Karslioglu
 
Strategy, planning and governance for enterprise deployments of containers - ...
Strategy, planning and governance for enterprise deployments of containers - ...
The Incredible Automation Day
 
Ad

More from MariaDB plc (20)

MariaDB Berlin Roadshow Slides - 8 April 2025
MariaDB Berlin Roadshow Slides - 8 April 2025
MariaDB plc
 
MariaDB München Roadshow - 24 September, 2024
MariaDB München Roadshow - 24 September, 2024
MariaDB plc
 
MariaDB Paris Roadshow - 19 September 2024
MariaDB Paris Roadshow - 19 September 2024
MariaDB plc
 
MariaDB Amsterdam Roadshow: 19 September, 2024
MariaDB Amsterdam Roadshow: 19 September, 2024
MariaDB plc
 
MariaDB Paris Workshop 2023 - MaxScale 23.02.x
MariaDB Paris Workshop 2023 - MaxScale 23.02.x
MariaDB plc
 
MariaDB Paris Workshop 2023 - Newpharma
MariaDB Paris Workshop 2023 - Newpharma
MariaDB plc
 
MariaDB Paris Workshop 2023 - Cloud
MariaDB Paris Workshop 2023 - Cloud
MariaDB plc
 
MariaDB Paris Workshop 2023 - MariaDB Enterprise
MariaDB Paris Workshop 2023 - MariaDB Enterprise
MariaDB plc
 
MariaDB Paris Workshop 2023 - Performance Optimization
MariaDB Paris Workshop 2023 - Performance Optimization
MariaDB plc
 
MariaDB Paris Workshop 2023 - MaxScale
MariaDB Paris Workshop 2023 - MaxScale
MariaDB plc
 
MariaDB Paris Workshop 2023 - novadys presentation
MariaDB Paris Workshop 2023 - novadys presentation
MariaDB plc
 
MariaDB Paris Workshop 2023 - DARVA presentation
MariaDB Paris Workshop 2023 - DARVA presentation
MariaDB plc
 
MariaDB Tech und Business Update Hamburg 2023 - MariaDB Enterprise Server
MariaDB Tech und Business Update Hamburg 2023 - MariaDB Enterprise Server
MariaDB plc
 
MariaDB SkySQL Autonome Skalierung, Observability, Cloud-Backup
MariaDB SkySQL Autonome Skalierung, Observability, Cloud-Backup
MariaDB plc
 
Einführung : MariaDB Tech und Business Update Hamburg 2023
Einführung : MariaDB Tech und Business Update Hamburg 2023
MariaDB plc
 
Hochverfügbarkeitslösungen mit MariaDB
Hochverfügbarkeitslösungen mit MariaDB
MariaDB plc
 
Die Neuheiten in MariaDB Enterprise Server
Die Neuheiten in MariaDB Enterprise Server
MariaDB plc
 
Global Data Replication with Galera for Ansell Guardian®
Global Data Replication with Galera for Ansell Guardian®
MariaDB plc
 
Introducing workload analysis
Introducing workload analysis
MariaDB plc
 
Under the hood: SkySQL monitoring
Under the hood: SkySQL monitoring
MariaDB plc
 
MariaDB Berlin Roadshow Slides - 8 April 2025
MariaDB Berlin Roadshow Slides - 8 April 2025
MariaDB plc
 
MariaDB München Roadshow - 24 September, 2024
MariaDB München Roadshow - 24 September, 2024
MariaDB plc
 
MariaDB Paris Roadshow - 19 September 2024
MariaDB Paris Roadshow - 19 September 2024
MariaDB plc
 
MariaDB Amsterdam Roadshow: 19 September, 2024
MariaDB Amsterdam Roadshow: 19 September, 2024
MariaDB plc
 
MariaDB Paris Workshop 2023 - MaxScale 23.02.x
MariaDB Paris Workshop 2023 - MaxScale 23.02.x
MariaDB plc
 
MariaDB Paris Workshop 2023 - Newpharma
MariaDB Paris Workshop 2023 - Newpharma
MariaDB plc
 
MariaDB Paris Workshop 2023 - Cloud
MariaDB Paris Workshop 2023 - Cloud
MariaDB plc
 
MariaDB Paris Workshop 2023 - MariaDB Enterprise
MariaDB Paris Workshop 2023 - MariaDB Enterprise
MariaDB plc
 
MariaDB Paris Workshop 2023 - Performance Optimization
MariaDB Paris Workshop 2023 - Performance Optimization
MariaDB plc
 
MariaDB Paris Workshop 2023 - MaxScale
MariaDB Paris Workshop 2023 - MaxScale
MariaDB plc
 
MariaDB Paris Workshop 2023 - novadys presentation
MariaDB Paris Workshop 2023 - novadys presentation
MariaDB plc
 
MariaDB Paris Workshop 2023 - DARVA presentation
MariaDB Paris Workshop 2023 - DARVA presentation
MariaDB plc
 
MariaDB Tech und Business Update Hamburg 2023 - MariaDB Enterprise Server
MariaDB Tech und Business Update Hamburg 2023 - MariaDB Enterprise Server
MariaDB plc
 
MariaDB SkySQL Autonome Skalierung, Observability, Cloud-Backup
MariaDB SkySQL Autonome Skalierung, Observability, Cloud-Backup
MariaDB plc
 
Einführung : MariaDB Tech und Business Update Hamburg 2023
Einführung : MariaDB Tech und Business Update Hamburg 2023
MariaDB plc
 
Hochverfügbarkeitslösungen mit MariaDB
Hochverfügbarkeitslösungen mit MariaDB
MariaDB plc
 
Die Neuheiten in MariaDB Enterprise Server
Die Neuheiten in MariaDB Enterprise Server
MariaDB plc
 
Global Data Replication with Galera for Ansell Guardian®
Global Data Replication with Galera for Ansell Guardian®
MariaDB plc
 
Introducing workload analysis
Introducing workload analysis
MariaDB plc
 
Under the hood: SkySQL monitoring
Under the hood: SkySQL monitoring
MariaDB plc
 
Ad

Recently uploaded (20)

Migrating to Azure Cosmos DB the Right Way
Migrating to Azure Cosmos DB the Right Way
Alexander (Alex) Komyagin
 
Software Engineering Process, Notation & Tools Introduction - Part 4
Software Engineering Process, Notation & Tools Introduction - Part 4
Gaurav Sharma
 
OpenTelemetry 101 Cloud Native Barcelona
OpenTelemetry 101 Cloud Native Barcelona
Imma Valls Bernaus
 
Advanced Token Development - Decentralized Innovation
Advanced Token Development - Decentralized Innovation
arohisinghas720
 
Artificial Intelligence Applications Across Industries
Artificial Intelligence Applications Across Industries
SandeepKS52
 
MOVIE RECOMMENDATION SYSTEM, UDUMULA GOPI REDDY, Y24MC13085.pptx
MOVIE RECOMMENDATION SYSTEM, UDUMULA GOPI REDDY, Y24MC13085.pptx
Maharshi Mallela
 
Open Source Software Development Methods
Open Source Software Development Methods
VICTOR MAESTRE RAMIREZ
 
SAP PM Module Level-IV Training Complete.ppt
SAP PM Module Level-IV Training Complete.ppt
MuhammadShaheryar36
 
Who will create the languages of the future?
Who will create the languages of the future?
Jordi Cabot
 
Microsoft Business-230T01A-ENU-PowerPoint_01.pptx
Microsoft Business-230T01A-ENU-PowerPoint_01.pptx
soulamaabdoulaye128
 
Agile Software Engineering Methodologies
Agile Software Engineering Methodologies
Gaurav Sharma
 
AI-Powered Compliance Solutions for Global Regulations | Certivo
AI-Powered Compliance Solutions for Global Regulations | Certivo
certivoai
 
GDG Douglas - Google AI Agents: Your Next Intern?
GDG Douglas - Google AI Agents: Your Next Intern?
felipeceotto
 
How Insurance Policy Management Software Streamlines Operations
How Insurance Policy Management Software Streamlines Operations
Insurance Tech Services
 
Code and No-Code Journeys: The Coverage Overlook
Code and No-Code Journeys: The Coverage Overlook
Applitools
 
Porting Qt 5 QML Modules to Qt 6 Webinar
Porting Qt 5 QML Modules to Qt 6 Webinar
ICS
 
Agentic Techniques in Retrieval-Augmented Generation with Azure AI Search
Agentic Techniques in Retrieval-Augmented Generation with Azure AI Search
Maxim Salnikov
 
Smart Financial Solutions: Money Lender Software, Daily Pigmy & Personal Loan...
Smart Financial Solutions: Money Lender Software, Daily Pigmy & Personal Loan...
Intelli grow
 
Women in Tech: Marketo Engage User Group - June 2025 - AJO with AWS
Women in Tech: Marketo Engage User Group - June 2025 - AJO with AWS
BradBedford3
 
Reimagining Software Development and DevOps with Agentic AI
Reimagining Software Development and DevOps with Agentic AI
Maxim Salnikov
 
Software Engineering Process, Notation & Tools Introduction - Part 4
Software Engineering Process, Notation & Tools Introduction - Part 4
Gaurav Sharma
 
OpenTelemetry 101 Cloud Native Barcelona
OpenTelemetry 101 Cloud Native Barcelona
Imma Valls Bernaus
 
Advanced Token Development - Decentralized Innovation
Advanced Token Development - Decentralized Innovation
arohisinghas720
 
Artificial Intelligence Applications Across Industries
Artificial Intelligence Applications Across Industries
SandeepKS52
 
MOVIE RECOMMENDATION SYSTEM, UDUMULA GOPI REDDY, Y24MC13085.pptx
MOVIE RECOMMENDATION SYSTEM, UDUMULA GOPI REDDY, Y24MC13085.pptx
Maharshi Mallela
 
Open Source Software Development Methods
Open Source Software Development Methods
VICTOR MAESTRE RAMIREZ
 
SAP PM Module Level-IV Training Complete.ppt
SAP PM Module Level-IV Training Complete.ppt
MuhammadShaheryar36
 
Who will create the languages of the future?
Who will create the languages of the future?
Jordi Cabot
 
Microsoft Business-230T01A-ENU-PowerPoint_01.pptx
Microsoft Business-230T01A-ENU-PowerPoint_01.pptx
soulamaabdoulaye128
 
Agile Software Engineering Methodologies
Agile Software Engineering Methodologies
Gaurav Sharma
 
AI-Powered Compliance Solutions for Global Regulations | Certivo
AI-Powered Compliance Solutions for Global Regulations | Certivo
certivoai
 
GDG Douglas - Google AI Agents: Your Next Intern?
GDG Douglas - Google AI Agents: Your Next Intern?
felipeceotto
 
How Insurance Policy Management Software Streamlines Operations
How Insurance Policy Management Software Streamlines Operations
Insurance Tech Services
 
Code and No-Code Journeys: The Coverage Overlook
Code and No-Code Journeys: The Coverage Overlook
Applitools
 
Porting Qt 5 QML Modules to Qt 6 Webinar
Porting Qt 5 QML Modules to Qt 6 Webinar
ICS
 
Agentic Techniques in Retrieval-Augmented Generation with Azure AI Search
Agentic Techniques in Retrieval-Augmented Generation with Azure AI Search
Maxim Salnikov
 
Smart Financial Solutions: Money Lender Software, Daily Pigmy & Personal Loan...
Smart Financial Solutions: Money Lender Software, Daily Pigmy & Personal Loan...
Intelli grow
 
Women in Tech: Marketo Engage User Group - June 2025 - AJO with AWS
Women in Tech: Marketo Engage User Group - June 2025 - AJO with AWS
BradBedford3
 
Reimagining Software Development and DevOps with Agentic AI
Reimagining Software Development and DevOps with Agentic AI
Maxim Salnikov
 

Best practices: running high-performance databases on Kubernetes

  • 1. © 2018 DIAMANTI | CONFIDENTIAL | DO NOT DISTRIBUTE 1 Best Practices For Building High-Performance Stateful Databases On Kubernetes Wallie Leung, Sr. Dir. Solution Engineering
  • 2. © 2018 DIAMANTI | CONFIDENTIAL | DO NOT DISTRIBUTE 2 Agenda  Why Run Databases In Containers?  Advantages / Disadvantages Of Different Kubernetes Infrastructure Types  A Look At DIY Kubernetes Infrastructure  Persistent Storage For Databases  MariaDB: Architectural Advantages  Case Study  Fortune 50 Bank Adopts Containerized DBs, Deploys On Bare Metal Infrastructure
  • 3. © 2018 DIAMANTI | CONFIDENTIAL | DO NOT DISTRIBUTE 3 Why Run Databases On Bare Metal Kubernetes?  Better performance  Higher density per node (no VM tax)  Accelerated time-to-production, updates, fixes  Easier, more granular scalability  Leveraging open source technologies eliminates hefty license costs  Conducive to DBaaS
  • 4. © 2018 DIAMANTI | CONFIDENTIAL | DO NOT DISTRIBUTE 4 Where Should You Deploy Your Containerized Databases? DIY Infrastructure PROS:  Low complexity at small scale  Experience with traditional technology components CONS:  Longer time-to-value  With a VM layer, resource efficiency is reduced and complexity increases  High complexity and cost at scale  Difficult to manage at scale Public Cloud PROS:  100% OPEX means lowest cost at small scale  Proven, resilient infrastructure as a service CONS:  Highest costs at large scale  Difficult to optimize efficiency  Security and compliance concerns  No bare metal support DIY Bare Metal PROS:  Flexible, seamlessly scalable infrastructure  Better overall performance at scale  TCO advantages are realized CONS:  Specialized skill sets required at different areas of the stack
  • 5. © 2018 DIAMANTI | CONFIDENTIAL | DO NOT DISTRIBUTE 5 Do-It-Yourself Approach to Container Infrastructure DAY 1: Build a Container Environment Yourself Vendor Engagement Equipment Installation Container Orchestration Network Storage Config Management Orchestration Network Overlay Persistent Storage Clustering Management Burn-In Testing Run Applications Monitoring Access Controls Upgrade Trials Tribal Knowledge Support / Handoff Operationalized Container Environment Is Complete Ecosystem Research
  • 6. © 2018 DIAMANTI | CONFIDENTIAL | DO NOT DISTRIBUTE 6 Storage Remains a Top Container Adoption Challenge “A modern storage solution must provide DevOps teams with persistent, stateful application data; allow the consumption of storage on-demand; and deliver the same level of availability and performance provided to traditional application infrastructures.” Source: https://containerjournal.com/2019/02/20/new-storage-challenges-emerge-as-container- adoption-increases/ Container persistent storage for stateful applications has proven particularly difficult for the industry
  • 7. © 2018 DIAMANTI | CONFIDENTIAL | DO NOT DISTRIBUTE 7 Drilling Down: Storage For Stateful Containers Network File System (NFS)  Offers persistent storage CHALLENGES  Performance isn’t adequate Local Storage  Host paths can be mounted to containers in Docker and Kubernetes CHALLENGES  Persistence  High Availability (HA)  Who is managing it? Traditional SAN Storage  Either connect by iSCSI or FC CHALLENGES  Persistence
  • 8. © 2018 DIAMANTI | CONFIDENTIAL | DO NOT DISTRIBUTE 8 Connecting The Ecosystem With FlexVolume / CSI  FlexVolume is Kubernetes plug-in facility for 3rd party storage  Allows a standard way of integrating 3rd party storage, including storage with enterprise features, into Kubernetes  Developed and contributed to Kubernetes by Diamanti  Being supplanted by CSI (Container Storage Interface), which Diamanti continues to contribute to  Now developers and architects have storage that is accessible and configurable from the K8s API and PodSpecs
  • 9. © 2018 DIAMANTI | CONFIDENTIAL | DO NOT DISTRIBUTE 9 Database Container Challenges, According To MariaDB StatefulSet  Definition: StatefulSet manages Pods that are based on an identical container spec  Identical pods: additional scripting required to instantiate different roles  Complete enterprise cluster requires more StatefulSets (i.e. MaxScale+Master/Slave) Persistence  Persistent volumes can add new layers of abstraction (and latency)  Provisioning / managing of IOPS or throughput is backend storage vendor-specific Resource Management  DB instances contend with other apps for CPU, RAM, network and storage I/O resources
  • 10. © 2018 DIAMANTI | CONFIDENTIAL | DO NOT DISTRIBUTE 10 MariaDB Servers DBaaS: Sample Architecture MaxScale Instances MS1 MS2 Application Pod App 1 DB-1 (master) DB-2 (slave) DB-N (slave) PV-1 PV-2 PV-N DB reads Mirrored volumes . . . . . . . . DB writes
  • 11. © 2018 DIAMANTI | CONFIDENTIAL | DO NOT DISTRIBUTE 11 Why MariaDB Is Suited For Kubernetes  Lightweight, portable database runtime  Well-suited for containers  Implementation in Kubernetes enables load balancing of reads and writes  Master DB and Slave DBs can be scaled independently  Offer different topologies, depending on specific use case  Offer CPU/Memory usage resources management
  • 12. © 2018 DIAMANTI | CONFIDENTIAL | DO NOT DISTRIBUTE 12 Containers And Database-as-a-Service The Goal of DBaaS  Service model that provides users the ability to provision DBs without the need for setting up physical hardware, installing software or configuring for performance  Operational advantages with container-based DBaaS  App developers can check out DBs without burdening DBAs or IT Admins  Scaling capacity on-demand  Auto-recovery via Statefulset (in Kubernetes)  Built-in resource management for memory and CPU per pod
  • 13. © 2018 DIAMANTI | CONFIDENTIAL | DO NOT DISTRIBUTE 13  Operational advantages with container-based DBaaS  App developers can check out DBs without burdening DBAs or IT Admins  Scaling capacity on-demand  Auto-recovery via Statefulset (in Kubernetes)  Built-in resource management for memory and CPU per pod  User defined policy for QoS – Network and Storage - per pod  Out-of-the-box high-performance persistent storage (500k IOPS per node)  Plug-n-play networking setup Containers And Database-as-a-Service On Diamanti
  • 14. © 2018 DIAMANTI | CONFIDENTIAL | DO NOT DISTRIBUTE 14 Diamanti Bare-Metal Kubernetes Platform Complete turnkey Kubernetes stack  Hyperconverged 1U appliance built on x86 architecture  Features container-optimized networking and storage models  24/7 full-stack support Built for public cloud experience, on-prem  Per container pod network and storage QoS  Enterprise DP/DR features: mirroring/synchronous replication, snapshots/asynchronous replication  No vendor lock-in: freedom for moving workload between on-perm Diamant to the cloud  IaaS for containers Benefits:  High performance  Efficient  Secure  Installs in minutes  Low TCO
  • 15. © 2018 DIAMANTI | CONFIDENTIAL | DO NOT DISTRIBUTE 15 Customer Success: Fortune 50 Bank Challenge:  Migration away from Oracle for cost, agility  ~4 weeks to deploy new DBs on traditional infrastructure Profile:  Large global bank serving 16M Canadian, American, and international customers  81,000 employees, worldwide Initial approach:  DIY infrastructure to support containerized DBaaS  2 FTE for 18 months and still cannot operationalize the platform Solution:  Installed and configured 3-node Diamanti D10 cluster  Deployed PostgreSQL, MongoDB, and MariaDB on Diamanti in a day, vs. weeks  Added addition Diamanti nodes dynamically with zero service disruption 16x Footprint reduction $14M TCO savings over 5 years 23x Faster deployment Minimal Downtime
  • 16. © 2018 | CONFIDENTIAL: DO NOT DISTRIBUTE 16 Next Steps  Visit www.diamanti.com  Follow @diamanticom  Email [email protected] for a briefing and live demo  Stop by Diamanti Booth for more detailed discussion
  • 17. © 2018 DIAMANTI | CONFIDENTIAL | DO NOT DISTRIBUTE 17 Thank You

Editor's Notes

  • #10: This content was taken from one of MariaDB’s slides from the roadshow presentation during November 2018.
  • #12: MariaDB is a full-featured database solution with a lightweight, portable runtime that’s well- suited for containers. The performance it achieves is a function of MariaDB’s innovative Kubernetes implementation that enables load balancing of database reads and writes. For example, if the database is configured to support an IOPS-intensive application, read operations can be farmed out to a set of slave databases, while the master database handles write operations. MariaDB also features a smart layer that monitors the underlying databases and enables scaling of the deployment accordingly.
  • #13: MariaDB is a full-featured database solution with a lightweight, portable runtime that’s well- suited for containers. The performance it achieves is a function of MariaDB’s innovative Kubernetes implementation that enables load balancing of database reads and writes. For example, if the database is configured to support an IOPS-intensive application, read operations can be farmed out to a set of slave databases, while the master database handles write operations. MariaDB also features a smart layer that monitors the underlying databases and enables scaling of the deployment accordingly.
  • #14: MariaDB is a full-featured database solution with a lightweight, portable runtime that’s well- suited for containers. The performance it achieves is a function of MariaDB’s innovative Kubernetes implementation that enables load balancing of database reads and writes. For example, if the database is configured to support an IOPS-intensive application, read operations can be farmed out to a set of slave databases, while the master database handles write operations. MariaDB also features a smart layer that monitors the underlying databases and enables scaling of the deployment accordingly.
  • #15: Sean
  • #17: Visit diamanti.com for videos, white papers, and analyst reports. Email me to schedule a briefing. Or join us for a meetup and networking event at Bourbon & Branch in SF tomorrow!