SlideShare a Scribd company logo
1 of 27
Download to read offline
Galera with Docker
How Synchronous Replication and Linux
Containers mesh together
Linux.conf.au 2015
Raghavendra Prabhu
 raghavendra.d.prabhu@gmail.com
Percona  raghavendra.prabhu@percona.com
 randomsurfer  wnohang.net  rdprabhu  ronin13
Galera
Introduction
Galera
▶ Data-centric approach
▶ EVS
▶ Causality and Synchronous
▶ Latency
Raghavendra Prabhu (Percona) Galera with Docker 12 January, 2015 3 / 27
Containers!
Introduction
Containers
▶ Linux namespaces
♦ PID
♦ Network
♦ Mount
♦ User
▶ Cgroups
♦ Metrics
♦ Good fences make good neighbors!
Raghavendra Prabhu (Percona) Galera with Docker 12 January, 2015 5 / 27
Introduction
Containers
▶ Manipulation
♦ nsenter/setns
♦ unshare
♦ clone
▶ CRIU
- Migration and High Availability
Raghavendra Prabhu (Percona) Galera with Docker 12 January, 2015 6 / 27
The uptime whale!
Introduction
Docker
▶ Layers
▶ Volumes
▶ Storage
♦ Btrfs
♦ Device mapper
♦ Union mounts - OverlayFS
▶ Dockerfile and determinism
▶ Simplified networking
♦ Batteries included!
Raghavendra Prabhu (Percona) Galera with Docker 12 January, 2015 8 / 27
Symmetry in replication and
deployment
Introduction
Together
▶ Elastic requirements
▶ Fast scalability
▶ Packing for saturation
♦ Strategies/Filters/Metadata
♦ KSM
▶ Snapshot Transfer and COW
▶ Runtime instantiation
Raghavendra Prabhu (Percona) Galera with Docker 12 January, 2015 10 / 27
Introduction
Together :: Images
▶ Build and start
♦ Minimal
♦ Inheritance
♦ Extensibility
♦ Immutability
♦ Registry: go get!
▶ Minimal Assumptions
▶ Galera images
♦ http://github.com/percona/pxc-docker
♦ https://hub.docker.com/u/ronin/
Raghavendra Prabhu (Percona) Galera with Docker 12 January, 2015 11 / 27
Introduction
Together :: Networking
▶ Linking
▶ Dnsmasq
▶ Weave
▶ libswarm
▶ OVS
▶ Andromeda
Raghavendra Prabhu (Percona) Galera with Docker 12 January, 2015 12 / 27
Introduction
Together :: Networking :: Issues
▶ IP address and restart
▶ dhcpcd
▶ Socket interface
▶ Linking
♦ Patterns
▶ Kernel ABI
Raghavendra Prabhu (Percona) Galera with Docker 12 January, 2015 13 / 27
Introduction
Together :: Use cases
▶ Testing
- https://github.com/percona/pxc-docker/tree/master/chaos-
galera
▶ Benchmarking
▶ Production Deployment
▶ Rolling Upgrades
▶ Rapid Development
♦ https://github.com/percona/pxc-docker/tree/master/
docker-bld
Raghavendra Prabhu (Percona) Galera with Docker 12 January, 2015 14 / 27
Introduction
Together :: Patterns
▶ Systemd and Docker
▶ Packaging testing
▶ Management of process
♦ Supervisor pattern
Raghavendra Prabhu (Percona) Galera with Docker 12 January, 2015 15 / 27
Orchestration
Introduction
Orchestration
▶ Fig && Docker Compose
♦ Limitations
▶ Mesos and Docker swarm
▶ Flannel and Kubernates
Raghavendra Prabhu (Percona) Galera with Docker 12 January, 2015 17 / 27
Container deployment
Introduction
Deployment
▶ Amazon EC2
▶ Google Container Engine
▶ Azure
▶ DigitalOcean
▶ Joyent SmartCloud
▶ Virtual Machines
Raghavendra Prabhu (Percona) Galera with Docker 12 January, 2015 19 / 27
Who contains the containers?
Introduction
Environment
▶ Project Atomic: rpm-ostree
▶ Snappy
▶ CoreOS
▶ Apache Mesos
▶ Docker swarm
Raghavendra Prabhu (Percona) Galera with Docker 12 January, 2015 21 / 27
Introduction
Environment :: CoreOS
▶ Systemd integration
▶ etcd - Raft
▶ fleet
▶ Bootstrapping and voting
♦ Queues
♦ Test and Set
♦ TTL and Watch
♦ Sidekicks
Raghavendra Prabhu (Percona) Galera with Docker 12 January, 2015 22 / 27
Introduction
Others
▶ lxc/lxd
▶ systemd-nspawn
▶ Rocket
♦ App Container Specification
Raghavendra Prabhu (Percona) Galera with Docker 12 January, 2015 23 / 27
What you see is what
you get to attack
Introduction
Security
▶ sVirt
▶ seccomp
▶ Visibility: Namespaces
▶ Capabilities / Privileged
▶ Verifiability upto bare-metal
▶ Remote images
Raghavendra Prabhu (Percona) Galera with Docker 12 January, 2015 25 / 27
Introduction
About
▶ /me: Raghavendra Prabhu, Product Lead, Percona XtraDB
Cluster, Percona.
▶ Slides will be at slideshare.net/slidunder.
▶ About.me: raghavendra.prabhu
▶ Keybase.io: rdprabhu
▶ Presentation under CC BY-SA 4.0
Raghavendra Prabhu (Percona) Galera with Docker 12 January, 2015 26 / 27
Introduction
Image Credits
▶ https://commons.wikimedia.org/wiki/File:
Venice_galley,_rowing_alla_sensile2.jpg
▶ https://commons.wikimedia.org/wiki/File:ShippingContainerSFBay.jpg
▶ https://www.flickr.com/photos/stephanie_in_love/5412368995/
▶ http://en.wikipedia.org/wiki/Orchestra
▶ https://www.google.com/hostednews/getty/article/ALeqM5ht_B847adBMPN2_
8ivClssq937Eg?docId=164893212
▶ http://pixabay.com/en/container-port-hamburg-49538/
▶ https://i.ytimg.com/vi/Q5POuMHxW-0/maxresdefault.jpg
▶ https://upload.wikimedia.org/wikipedia/commons/e/e6/Order-3_heptakis_
heptagonal_tiling.png
Raghavendra Prabhu (Percona) Galera with Docker 12 January, 2015 27 / 27

More Related Content

What's hot

What's hot (19)

Delivering Go.CD with Terraform and Docker
Delivering Go.CD with Terraform and DockerDelivering Go.CD with Terraform and Docker
Delivering Go.CD with Terraform and Docker
 
Docker Demystified - Virtual VMs without the Fat
Docker Demystified - Virtual VMs without the FatDocker Demystified - Virtual VMs without the Fat
Docker Demystified - Virtual VMs without the Fat
 
OSDC 2017 - Dr. Udo Seidel - VMwares (open source) Way of Container
OSDC 2017 - Dr. Udo Seidel - VMwares (open source) Way of ContainerOSDC 2017 - Dr. Udo Seidel - VMwares (open source) Way of Container
OSDC 2017 - Dr. Udo Seidel - VMwares (open source) Way of Container
 
Architectural caching patterns for kubernetes
Architectural caching patterns for kubernetesArchitectural caching patterns for kubernetes
Architectural caching patterns for kubernetes
 
REST in Peace. Long live gRPC!
REST in Peace. Long live gRPC!REST in Peace. Long live gRPC!
REST in Peace. Long live gRPC!
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Terraforming your Infrastructure on GCP
Terraforming your Infrastructure on GCPTerraforming your Infrastructure on GCP
Terraforming your Infrastructure on GCP
 
Scaling and securing node.js apps
Scaling and securing node.js appsScaling and securing node.js apps
Scaling and securing node.js apps
 
There is no container - Ori Pekelman
There is no container - Ori PekelmanThere is no container - Ori Pekelman
There is no container - Ori Pekelman
 
containerd and CRI
containerd and CRIcontainerd and CRI
containerd and CRI
 
[20200720]cloud native develoment - Nelson Lin
[20200720]cloud native develoment - Nelson Lin[20200720]cloud native develoment - Nelson Lin
[20200720]cloud native develoment - Nelson Lin
 
Nomad, l'orchestration made in Hashicorp - Bastien Cadiot
Nomad, l'orchestration made in Hashicorp - Bastien CadiotNomad, l'orchestration made in Hashicorp - Bastien Cadiot
Nomad, l'orchestration made in Hashicorp - Bastien Cadiot
 
markedj: The best of markdown processor on JVM
markedj: The best of markdown processor on JVMmarkedj: The best of markdown processor on JVM
markedj: The best of markdown processor on JVM
 
Design Patterns para Microsserviços com MicroProfile
 Design Patterns para Microsserviços com MicroProfile Design Patterns para Microsserviços com MicroProfile
Design Patterns para Microsserviços com MicroProfile
 
Persistent Storage in Openshift using GlusterFS
Persistent Storage in Openshift using GlusterFSPersistent Storage in Openshift using GlusterFS
Persistent Storage in Openshift using GlusterFS
 
From Zero to Hero - Nexinto
From Zero to Hero - NexintoFrom Zero to Hero - Nexinto
From Zero to Hero - Nexinto
 
Advanced Task Scheduling with Amazon ECS (June 2017)
Advanced Task Scheduling with Amazon ECS (June 2017)Advanced Task Scheduling with Amazon ECS (June 2017)
Advanced Task Scheduling with Amazon ECS (June 2017)
 
Dmytro Patkovskyi "Practical tips regarding build optimization for those who ...
Dmytro Patkovskyi "Practical tips regarding build optimization for those who ...Dmytro Patkovskyi "Practical tips regarding build optimization for those who ...
Dmytro Patkovskyi "Practical tips regarding build optimization for those who ...
 
Netty training
Netty trainingNetty training
Netty training
 

Viewers also liked

Interaksi mengajar belajar
Interaksi mengajar   belajarInteraksi mengajar   belajar
Interaksi mengajar belajar
antum_webid
 
mydreamtee - The #GREATNESS Collection
mydreamtee - The #GREATNESS Collectionmydreamtee - The #GREATNESS Collection
mydreamtee - The #GREATNESS Collection
mydreamtee
 
Reflexiones sobre la_revision_bilingue-_ultima_version-libre Rosa Luna
Reflexiones sobre la_revision_bilingue-_ultima_version-libre Rosa LunaReflexiones sobre la_revision_bilingue-_ultima_version-libre Rosa Luna
Reflexiones sobre la_revision_bilingue-_ultima_version-libre Rosa Luna
Rosa Luna García
 
The #GREATESS Collection - mydreamtee
The #GREATESS Collection - mydreamteeThe #GREATESS Collection - mydreamtee
The #GREATESS Collection - mydreamtee
mydreamtee
 
Abordaje de reacciones adversas a fármacos antituberculosos
Abordaje de reacciones adversas a fármacos  antituberculososAbordaje de reacciones adversas a fármacos  antituberculosos
Abordaje de reacciones adversas a fármacos antituberculosos
TbNuevoLeon
 
5 use adverbs of duration in sentences
5 use adverbs of duration in sentences5 use adverbs of duration in sentences
5 use adverbs of duration in sentences
Jennifer Maderazo
 
Njutn i njutnovi zakoni
Njutn i njutnovi zakoniNjutn i njutnovi zakoni
Njutn i njutnovi zakoni
Sana Ivanović
 
1 give justification to a possible ending to a
1 give justification to a possible ending to a1 give justification to a possible ending to a
1 give justification to a possible ending to a
Jennifer Maderazo
 

Viewers also liked (18)

Interaksi mengajar belajar
Interaksi mengajar   belajarInteraksi mengajar   belajar
Interaksi mengajar belajar
 
Acidic clusters - Review of contemporary ACID-compliant databases with synchr...
Acidic clusters - Review of contemporary ACID-compliant databases with synchr...Acidic clusters - Review of contemporary ACID-compliant databases with synchr...
Acidic clusters - Review of contemporary ACID-compliant databases with synchr...
 
mydreamtee - The #GREATNESS Collection
mydreamtee - The #GREATNESS Collectionmydreamtee - The #GREATNESS Collection
mydreamtee - The #GREATNESS Collection
 
Jutsu or Dô: Open documentation: continuous process than a body
Jutsu or Dô: Open documentation: continuous process than a body Jutsu or Dô: Open documentation: continuous process than a body
Jutsu or Dô: Open documentation: continuous process than a body
 
五個夢 笑容95
五個夢 笑容95五個夢 笑容95
五個夢 笑容95
 
Working from home - fun, facts and scares!
Working from home -  fun, facts and scares!Working from home -  fun, facts and scares!
Working from home - fun, facts and scares!
 
Reflexiones sobre la_revision_bilingue-_ultima_version-libre Rosa Luna
Reflexiones sobre la_revision_bilingue-_ultima_version-libre Rosa LunaReflexiones sobre la_revision_bilingue-_ultima_version-libre Rosa Luna
Reflexiones sobre la_revision_bilingue-_ultima_version-libre Rosa Luna
 
The #GREATESS Collection - mydreamtee
The #GREATESS Collection - mydreamteeThe #GREATESS Collection - mydreamtee
The #GREATESS Collection - mydreamtee
 
Abordaje de reacciones adversas a fármacos antituberculosos
Abordaje de reacciones adversas a fármacos  antituberculososAbordaje de reacciones adversas a fármacos  antituberculosos
Abordaje de reacciones adversas a fármacos antituberculosos
 
Corpus collapsum: Partition tolerance of Galera in a noisy high load environment
Corpus collapsum: Partition tolerance of Galera in a noisy high load environmentCorpus collapsum: Partition tolerance of Galera in a noisy high load environment
Corpus collapsum: Partition tolerance of Galera in a noisy high load environment
 
5 use adverbs
5 use adverbs5 use adverbs
5 use adverbs
 
New spaper
New spaperNew spaper
New spaper
 
Xtrabackup and FTWRL
Xtrabackup and FTWRLXtrabackup and FTWRL
Xtrabackup and FTWRL
 
5 use adverbs of duration in sentences
5 use adverbs of duration in sentences5 use adverbs of duration in sentences
5 use adverbs of duration in sentences
 
Njutn i njutnovi zakoni
Njutn i njutnovi zakoniNjutn i njutnovi zakoni
Njutn i njutnovi zakoni
 
1 give justification to a possible ending to a
1 give justification to a possible ending to a1 give justification to a possible ending to a
1 give justification to a possible ending to a
 
MySQL-and-virtualization
MySQL-and-virtualizationMySQL-and-virtualization
MySQL-and-virtualization
 
20080618 Suivi Lecteurs Epsa
20080618 Suivi Lecteurs Epsa20080618 Suivi Lecteurs Epsa
20080618 Suivi Lecteurs Epsa
 

Similar to Galera with Docker: How Synchronous Replication and Linux Containers mesh together

Percona XtraDB Cluster before every release: Glimpse into CI testing
Percona XtraDB Cluster before every release: Glimpse into CI testingPercona XtraDB Cluster before every release: Glimpse into CI testing
Percona XtraDB Cluster before every release: Glimpse into CI testing
Raghavendra Prabhu
 

Similar to Galera with Docker: How Synchronous Replication and Linux Containers mesh together (20)

Dock'em: Distributed Systems Testing with NetEm and Docker
Dock'em: Distributed Systems Testing with NetEm and Docker Dock'em: Distributed Systems Testing with NetEm and Docker
Dock'em: Distributed Systems Testing with NetEm and Docker
 
Running virtualized Galera instances for fun and profit
Running virtualized Galera instances for fun and profitRunning virtualized Galera instances for fun and profit
Running virtualized Galera instances for fun and profit
 
Joomla Continuous Delivery with Docker
Joomla Continuous Delivery with DockerJoomla Continuous Delivery with Docker
Joomla Continuous Delivery with Docker
 
Percona XtraDB Cluster before every release: Glimpse into CI testing
Percona XtraDB Cluster before every release: Glimpse into CI testingPercona XtraDB Cluster before every release: Glimpse into CI testing
Percona XtraDB Cluster before every release: Glimpse into CI testing
 
Docker Workshop for beginner
Docker Workshop for beginnerDocker Workshop for beginner
Docker Workshop for beginner
 
Use open stack to run java programs inside a Docker container
Use open stack to run java programs inside a Docker containerUse open stack to run java programs inside a Docker container
Use open stack to run java programs inside a Docker container
 
Dockerizing the Hard Services: Neutron and Nova
Dockerizing the Hard Services: Neutron and NovaDockerizing the Hard Services: Neutron and Nova
Dockerizing the Hard Services: Neutron and Nova
 
Clusternaut: Orchestrating Percona XtraDB Cluster with Kubernetes.
Clusternaut: Orchestrating Percona XtraDB Cluster with Kubernetes.Clusternaut: Orchestrating Percona XtraDB Cluster with Kubernetes.
Clusternaut: Orchestrating Percona XtraDB Cluster with Kubernetes.
 
Clusternaut: Orchestrating  Percona XtraDB Cluster with Kubernetes
Clusternaut:  Orchestrating  Percona XtraDB Cluster with KubernetesClusternaut:  Orchestrating  Percona XtraDB Cluster with Kubernetes
Clusternaut: Orchestrating  Percona XtraDB Cluster with Kubernetes
 
Kubernetes at (Organizational) Scale
Kubernetes at (Organizational) ScaleKubernetes at (Organizational) Scale
Kubernetes at (Organizational) Scale
 
Docker Workshop Birthday #3
Docker Workshop Birthday #3Docker Workshop Birthday #3
Docker Workshop Birthday #3
 
Corpus collapsum: Partition tolerance testing of Galera with Docker and NetEm
Corpus collapsum: Partition tolerance testing of Galera with Docker and NetEm Corpus collapsum: Partition tolerance testing of Galera with Docker and NetEm
Corpus collapsum: Partition tolerance testing of Galera with Docker and NetEm
 
Unlock cassandra data for application developers using graphQL
Unlock cassandra data for application developers using graphQLUnlock cassandra data for application developers using graphQL
Unlock cassandra data for application developers using graphQL
 
Corpus collapsum: Partition tolerance of Galera put to test
Corpus collapsum: Partition tolerance of Galera put to testCorpus collapsum: Partition tolerance of Galera put to test
Corpus collapsum: Partition tolerance of Galera put to test
 
[Szjug] Docker. Does it matter for java developer?
[Szjug] Docker. Does it matter for java developer?[Szjug] Docker. Does it matter for java developer?
[Szjug] Docker. Does it matter for java developer?
 
Docker for Java Developers
Docker for Java DevelopersDocker for Java Developers
Docker for Java Developers
 
Using Docker Platform to Provide Services
Using Docker Platform to Provide ServicesUsing Docker Platform to Provide Services
Using Docker Platform to Provide Services
 
New Docker Features for Orchestration and Containers
New Docker Features for Orchestration and ContainersNew Docker Features for Orchestration and Containers
New Docker Features for Orchestration and Containers
 
Docker Dhahran Nov 2016 meetup
Docker Dhahran Nov 2016 meetupDocker Dhahran Nov 2016 meetup
Docker Dhahran Nov 2016 meetup
 
Developing a user-friendly OpenResty application
Developing a user-friendly OpenResty applicationDeveloping a user-friendly OpenResty application
Developing a user-friendly OpenResty application
 

More from Raghavendra Prabhu

More from Raghavendra Prabhu (14)

Orchestrating Cassandra with Kubernetes Operator and PaaSTA
Orchestrating Cassandra with Kubernetes Operator and PaaSTAOrchestrating Cassandra with Kubernetes Operator and PaaSTA
Orchestrating Cassandra with Kubernetes Operator and PaaSTA
 
Orchestrating Cassandra with Kubernetes
Orchestrating Cassandra with KubernetesOrchestrating Cassandra with Kubernetes
Orchestrating Cassandra with Kubernetes
 
Cassandra Operator with Yelp PaaSTA
Cassandra Operator with Yelp PaaSTACassandra Operator with Yelp PaaSTA
Cassandra Operator with Yelp PaaSTA
 
Safe and Fast Automation on AWS for Fun and Profit
Safe and Fast Automation on AWS for Fun and ProfitSafe and Fast Automation on AWS for Fun and Profit
Safe and Fast Automation on AWS for Fun and Profit
 
Orchestrating Cassandra with Kubernetes: Challenges and Opportunities
Orchestrating Cassandra with Kubernetes: Challenges and OpportunitiesOrchestrating Cassandra with Kubernetes: Challenges and Opportunities
Orchestrating Cassandra with Kubernetes: Challenges and Opportunities
 
Pass Elk: CAP Theorem since 90s and Beyond
Pass Elk: CAP Theorem since 90s and BeyondPass Elk: CAP Theorem since 90s and Beyond
Pass Elk: CAP Theorem since 90s and Beyond
 
Cassandra in Docker at Yelp: Opportunities and Challenges
Cassandra in Docker at Yelp: Opportunities and ChallengesCassandra in Docker at Yelp: Opportunities and Challenges
Cassandra in Docker at Yelp: Opportunities and Challenges
 
Taskerman: A Distributed Cluster Task Manager
Taskerman: A Distributed Cluster Task ManagerTaskerman: A Distributed Cluster Task Manager
Taskerman: A Distributed Cluster Task Manager
 
Taskerman - a distributed cluster task manager
Taskerman - a distributed cluster task managerTaskerman - a distributed cluster task manager
Taskerman - a distributed cluster task manager
 
NUMA and Java Databases
NUMA and Java DatabasesNUMA and Java Databases
NUMA and Java Databases
 
Linux NUMA & Databases: Perils and Opportunities
Linux NUMA & Databases: Perils and OpportunitiesLinux NUMA & Databases: Perils and Opportunities
Linux NUMA & Databases: Perils and Opportunities
 
Securing databases with systemd for containers and services
Securing databases with systemd for containers and services Securing databases with systemd for containers and services
Securing databases with systemd for containers and services
 
ACIDic Clusters: Review of current relation databases with synchronous replic...
ACIDic Clusters: Review of current relation databases with synchronous replic...ACIDic Clusters: Review of current relation databases with synchronous replic...
ACIDic Clusters: Review of current relation databases with synchronous replic...
 
Feed me more: MySQL Memory analysed
Feed me more: MySQL Memory analysedFeed me more: MySQL Memory analysed
Feed me more: MySQL Memory analysed
 

Recently uploaded

Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Kandungan 087776558899
 
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
AldoGarca30
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ssuser89054b
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakes
MayuraD1
 
Hospital management system project report.pdf
Hospital management system project report.pdfHospital management system project report.pdf
Hospital management system project report.pdf
Kamal Acharya
 

Recently uploaded (20)

Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
 
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
 
PE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiesPE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and properties
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxHOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxA CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakes
 
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxS1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
 
A Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityA Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna Municipality
 
Engineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planesEngineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planes
 
Computer Networks Basics of Network Devices
Computer Networks  Basics of Network DevicesComputer Networks  Basics of Network Devices
Computer Networks Basics of Network Devices
 
Hospital management system project report.pdf
Hospital management system project report.pdfHospital management system project report.pdf
Hospital management system project report.pdf
 
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best ServiceTamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.ppt
 
Online electricity billing project report..pdf
Online electricity billing project report..pdfOnline electricity billing project report..pdf
Online electricity billing project report..pdf
 
Moment Distribution Method For Btech Civil
Moment Distribution Method For Btech CivilMoment Distribution Method For Btech Civil
Moment Distribution Method For Btech Civil
 

Galera with Docker: How Synchronous Replication and Linux Containers mesh together

  • 1. Galera with Docker How Synchronous Replication and Linux Containers mesh together Linux.conf.au 2015 Raghavendra Prabhu  raghavendra.d.prabhu@gmail.com Percona  raghavendra.prabhu@percona.com  randomsurfer  wnohang.net  rdprabhu  ronin13
  • 3. Introduction Galera ▶ Data-centric approach ▶ EVS ▶ Causality and Synchronous ▶ Latency Raghavendra Prabhu (Percona) Galera with Docker 12 January, 2015 3 / 27
  • 5. Introduction Containers ▶ Linux namespaces ♦ PID ♦ Network ♦ Mount ♦ User ▶ Cgroups ♦ Metrics ♦ Good fences make good neighbors! Raghavendra Prabhu (Percona) Galera with Docker 12 January, 2015 5 / 27
  • 6. Introduction Containers ▶ Manipulation ♦ nsenter/setns ♦ unshare ♦ clone ▶ CRIU - Migration and High Availability Raghavendra Prabhu (Percona) Galera with Docker 12 January, 2015 6 / 27
  • 8. Introduction Docker ▶ Layers ▶ Volumes ▶ Storage ♦ Btrfs ♦ Device mapper ♦ Union mounts - OverlayFS ▶ Dockerfile and determinism ▶ Simplified networking ♦ Batteries included! Raghavendra Prabhu (Percona) Galera with Docker 12 January, 2015 8 / 27
  • 9. Symmetry in replication and deployment
  • 10. Introduction Together ▶ Elastic requirements ▶ Fast scalability ▶ Packing for saturation ♦ Strategies/Filters/Metadata ♦ KSM ▶ Snapshot Transfer and COW ▶ Runtime instantiation Raghavendra Prabhu (Percona) Galera with Docker 12 January, 2015 10 / 27
  • 11. Introduction Together :: Images ▶ Build and start ♦ Minimal ♦ Inheritance ♦ Extensibility ♦ Immutability ♦ Registry: go get! ▶ Minimal Assumptions ▶ Galera images ♦ http://github.com/percona/pxc-docker ♦ https://hub.docker.com/u/ronin/ Raghavendra Prabhu (Percona) Galera with Docker 12 January, 2015 11 / 27
  • 12. Introduction Together :: Networking ▶ Linking ▶ Dnsmasq ▶ Weave ▶ libswarm ▶ OVS ▶ Andromeda Raghavendra Prabhu (Percona) Galera with Docker 12 January, 2015 12 / 27
  • 13. Introduction Together :: Networking :: Issues ▶ IP address and restart ▶ dhcpcd ▶ Socket interface ▶ Linking ♦ Patterns ▶ Kernel ABI Raghavendra Prabhu (Percona) Galera with Docker 12 January, 2015 13 / 27
  • 14. Introduction Together :: Use cases ▶ Testing - https://github.com/percona/pxc-docker/tree/master/chaos- galera ▶ Benchmarking ▶ Production Deployment ▶ Rolling Upgrades ▶ Rapid Development ♦ https://github.com/percona/pxc-docker/tree/master/ docker-bld Raghavendra Prabhu (Percona) Galera with Docker 12 January, 2015 14 / 27
  • 15. Introduction Together :: Patterns ▶ Systemd and Docker ▶ Packaging testing ▶ Management of process ♦ Supervisor pattern Raghavendra Prabhu (Percona) Galera with Docker 12 January, 2015 15 / 27
  • 17. Introduction Orchestration ▶ Fig && Docker Compose ♦ Limitations ▶ Mesos and Docker swarm ▶ Flannel and Kubernates Raghavendra Prabhu (Percona) Galera with Docker 12 January, 2015 17 / 27
  • 19. Introduction Deployment ▶ Amazon EC2 ▶ Google Container Engine ▶ Azure ▶ DigitalOcean ▶ Joyent SmartCloud ▶ Virtual Machines Raghavendra Prabhu (Percona) Galera with Docker 12 January, 2015 19 / 27
  • 20. Who contains the containers?
  • 21. Introduction Environment ▶ Project Atomic: rpm-ostree ▶ Snappy ▶ CoreOS ▶ Apache Mesos ▶ Docker swarm Raghavendra Prabhu (Percona) Galera with Docker 12 January, 2015 21 / 27
  • 22. Introduction Environment :: CoreOS ▶ Systemd integration ▶ etcd - Raft ▶ fleet ▶ Bootstrapping and voting ♦ Queues ♦ Test and Set ♦ TTL and Watch ♦ Sidekicks Raghavendra Prabhu (Percona) Galera with Docker 12 January, 2015 22 / 27
  • 23. Introduction Others ▶ lxc/lxd ▶ systemd-nspawn ▶ Rocket ♦ App Container Specification Raghavendra Prabhu (Percona) Galera with Docker 12 January, 2015 23 / 27
  • 24. What you see is what you get to attack
  • 25. Introduction Security ▶ sVirt ▶ seccomp ▶ Visibility: Namespaces ▶ Capabilities / Privileged ▶ Verifiability upto bare-metal ▶ Remote images Raghavendra Prabhu (Percona) Galera with Docker 12 January, 2015 25 / 27
  • 26. Introduction About ▶ /me: Raghavendra Prabhu, Product Lead, Percona XtraDB Cluster, Percona. ▶ Slides will be at slideshare.net/slidunder. ▶ About.me: raghavendra.prabhu ▶ Keybase.io: rdprabhu ▶ Presentation under CC BY-SA 4.0 Raghavendra Prabhu (Percona) Galera with Docker 12 January, 2015 26 / 27
  • 27. Introduction Image Credits ▶ https://commons.wikimedia.org/wiki/File: Venice_galley,_rowing_alla_sensile2.jpg ▶ https://commons.wikimedia.org/wiki/File:ShippingContainerSFBay.jpg ▶ https://www.flickr.com/photos/stephanie_in_love/5412368995/ ▶ http://en.wikipedia.org/wiki/Orchestra ▶ https://www.google.com/hostednews/getty/article/ALeqM5ht_B847adBMPN2_ 8ivClssq937Eg?docId=164893212 ▶ http://pixabay.com/en/container-port-hamburg-49538/ ▶ https://i.ytimg.com/vi/Q5POuMHxW-0/maxresdefault.jpg ▶ https://upload.wikimedia.org/wikipedia/commons/e/e6/Order-3_heptakis_ heptagonal_tiling.png Raghavendra Prabhu (Percona) Galera with Docker 12 January, 2015 27 / 27