SlideShare a Scribd company logo
The Anti-Pattern Wall of 2011 has Crumbled:
Stateful Applications in Containers
Open Source Summit North America
September 2017
Speaker
Steve Wong
Strategic Open Source Partner Engineer
{code} Dell Technologies
Community participant:
– Container Storage Interface
– DC/OS
– Kubernetes
– Mesos
– REX-Ray
Agenda
1. History of containers & the 12 factors
2. Container Orchestrators vs. Paas
3. Orchestrator Support for Stateful
Services
4. How and why you should get involved
with stateful now
Container History Lesson
Later: growing adoption, by the cognoscenti
Advent of the PaaS platforms
12 factors published
What are the 12 factors?
A collection of patterns and anti patterns intended to guide
designs for the Heroku Platform (PaaS)
A PaaS simplifies application deployment by providing,
managing and abstracting base of foundational services,
with compute and storage infrastructure. Cloud Foundry is
another popular PaaS generally utilized with 12 factor
principles
Docker and container orchestrator history
PaaS vs a Container Orchestrator
A PaaS platform takes more
responsibility – often making
decisions for you
A container orchestrator is less
opinionated
What does the 12 factors say?
Why?
Easy to replace, upgrade,
automate scale-up and scale-down
Don’t useful apps require state retention?
Indeed, it is somebody else’s problem,
and the 12 factors explicitly says this
Twelve factor processes are stateless and share-nothing.
Any data that needs to persist must be stored in a
stateful backing service
What exactly is this stateful backing service?
In the era when the twelve factors was written it was typically a
database.
And the twelve factors goes on to advise that it should be
consumed via an API such as an https network service.
Stateful Backing Services are not just databases
What if it isn’t “the other guys problem”?
Suppose you are that guy maintaining the
“backing store”
There are valid reasons to do this yourself
• You want to pick your own tool and version
• You want to customize
• You want to stay portable across clouds
• You want to avoid database monoliths
Monolithic = bad
Container advantages make sense for stateful too
Container attributes:
• Consistent environment –
same anywhere
• Dependency
management - packaging
Orchestration can add:
• Health monitoring
• Automated rollouts and
rollbacks
• Declarative configuration
• App/package store deploy
experience
The 12 factors was and is still a great tool…
just needs an update
• Still applies when using a PaaS
• Principle of using your stateful DB, NoSQL, etc.
behind an API abstraction still applies
But it’s not
• A religious codicil
• A lawbook
It is something to be respected and considered
when and where it makes sense
Stateful in a container is mainstream
Orchestrators have features specifically for stateful
app support
DC/OS Kubernetes Mesos Swarm
External
persistent
volumes
✓ ✓ ✓ ✓
Frameworks
✓ ✓
Packages
✓
Helm charts
✓
operators
✓
StatefulSets
✓
local storage for state?
Local
● Availability Risk
○ Migrate container to another host – your
storage is gone
○ Host goes down – your service goes
down
● Scale Limitation
○ Need more storage than the host has?
Sorry…
How External Persistent Volume Mounts work
How External Persistent Volume Mounts work
Mesos, DC/OS: Frameworks
• Fine grained control over what gets run, where
• Clustered App: control node startup order,
scaling, placement
• Monitor health, manage backups, upgrades
DC/OS: Packages
• Manage and deploy applications from controlled
curated repository(s)
• provide app store experience
o UI
o CLI
Kubernetes Helm Chart
• App store experience
• Update, Rollback
Kubernetes StatefulSet
• Stable, unique network identifiers.
• Stable, persistent storage.
• Ordered, graceful deployment and
scaling.
• Ordered, graceful deletion and
termination.
• Ordered, automated rolling updates.
Kubernetes Operators
• an application-specific controller that extends
the Kubernetes API
• includes domain or application-specific
knowledge to automate common tasks (create,
configure, update, scale, etc) and manage
instances of complex stateful applications.
Demo
OSS: Tutorial - Introduction to Stateful
Applications on Kubernetes
• Tuesday 10:55am
MesosCon: Building your First Stateful
DC/OS Service
• Thursday 4pm
The 12 factors revisited
What needs improvement in the stateful story
• Backup is ripe for standardization
• Storage “plugin drivers” are not
standardized across platforms
• Replication, Volume resizing has “rough
edges”
Efforts are underway in the community to
address these – but no matter who you are,
we could use your help
Stateful app support is under-construction
#CodeOpen
Thank You
References
Docker
Image
DC/OS
package
Helm
chart
K8s
operator
K8s
StaefulSet
Mesos
Framework
Cassandra ✓ ✓ ✓ ✓
Elastic ✓ ✓ ✓ ✓ ✓ ✓
Hadoop ✓ ✓ ✓
Kafka ✓ ✓ ✓ ✓ ✓
mongoDB ✓ ✓ ✓ ✓
MySQL ✓ ✓ ✓ ✓
PostgreSQL ✓ ✓ ✓ ✓ ✓
Redis ✓ ✓ ✓
References
• Free O’Reilly Book, Beyond the Twelve Factor App:
• http://www.oreilly.com/webops-perf/free/beyond-the-twelv
e-factor-app.csp
• This deck:
• https://www.slideshare.net/SteveWong14/open-source-su
mmit-northamerica-2017-stateful-apps-in-containers
Contacts
Steve Wong
@cantbewong
thecodeteam.com
thecodeteam.com/community/
@codeDellEMC
Open Source Summit NorthAmerica 2017 Stateful Apps in Containers
Open Source Summit NorthAmerica 2017 Stateful Apps in Containers
Open Source Summit NorthAmerica 2017 Stateful Apps in Containers

More Related Content

What's hot

Debezium POC
Debezium POCDebezium POC
Debezium POC
kloia
 
Accelerate Business Agility with PaaS
Accelerate Business Agility with PaaS Accelerate Business Agility with PaaS
Accelerate Business Agility with PaaS
WSO2
 
VMware vCloud Air Availability Solutions – Data Protection
VMware vCloud Air Availability Solutions – Data ProtectionVMware vCloud Air Availability Solutions – Data Protection
VMware vCloud Air Availability Solutions – Data Protection
VMware
 
Exploring Quarkus on JDK 17
Exploring Quarkus on JDK 17Exploring Quarkus on JDK 17
Exploring Quarkus on JDK 17
Ana-Maria Mihalceanu
 
SQL Server Introduction to Infrastructure Boot Camp
SQL Server Introduction to Infrastructure Boot CampSQL Server Introduction to Infrastructure Boot Camp
SQL Server Introduction to Infrastructure Boot Camp
heraflux
 
Accelerate Your Sales with Application-Centric Storage-as-a-Service Using VMw...
Accelerate Your Sales with Application-Centric Storage-as-a-Service Using VMw...Accelerate Your Sales with Application-Centric Storage-as-a-Service Using VMw...
Accelerate Your Sales with Application-Centric Storage-as-a-Service Using VMw...
VMware
 
Single Slide, OverSimplified VDI Backup Strategy
Single Slide, OverSimplified VDI Backup StrategySingle Slide, OverSimplified VDI Backup Strategy
Single Slide, OverSimplified VDI Backup Strategy
Arun Pc
 
Sql pass summit
Sql pass summitSql pass summit
Sql pass summit
Don Severs
 
Autonomous Database Explained
Autonomous Database ExplainedAutonomous Database Explained
Autonomous Database Explained
Neagu Alexandru Cristian
 
JakartaOne Livestream CN4J: Eclipse MicroProfile - Your Cloud-Native Companion
JakartaOne Livestream CN4J: Eclipse MicroProfile - Your Cloud-Native CompanionJakartaOne Livestream CN4J: Eclipse MicroProfile - Your Cloud-Native Companion
JakartaOne Livestream CN4J: Eclipse MicroProfile - Your Cloud-Native Companion
Jakarta_EE
 
When to select hyper converged 2016 Sydney VMUG
When to select hyper converged 2016 Sydney VMUGWhen to select hyper converged 2016 Sydney VMUG
When to select hyper converged 2016 Sydney VMUG
Keith Townsend
 
Hyperconvergence and Death of the Storage Array - Interop 2015
Hyperconvergence and Death of the Storage Array - Interop 2015Hyperconvergence and Death of the Storage Array - Interop 2015
Hyperconvergence and Death of the Storage Array - Interop 2015
Stuart Miniman
 
Gain Insights, Make Decisions, and Take Action Across a Streamlined and Autom...
Gain Insights, Make Decisions, and Take Action Across a Streamlined and Autom...Gain Insights, Make Decisions, and Take Action Across a Streamlined and Autom...
Gain Insights, Make Decisions, and Take Action Across a Streamlined and Autom...
Arraya Solutions
 
Modernize and Transform your IT with IBM Storage and Catalogic Copy Data Mana...
Modernize and Transform your IT with IBM Storage and Catalogic Copy Data Mana...Modernize and Transform your IT with IBM Storage and Catalogic Copy Data Mana...
Modernize and Transform your IT with IBM Storage and Catalogic Copy Data Mana...
Catalogic Software
 
Migrating from Java EE to cloud-native Reactive systems
Migrating from Java EE to cloud-native Reactive systemsMigrating from Java EE to cloud-native Reactive systems
Migrating from Java EE to cloud-native Reactive systems
Markus Eisele
 
Platform as a Service (PaaS) - A cloud service for Developers
Platform as a Service (PaaS) - A cloud service for Developers Platform as a Service (PaaS) - A cloud service for Developers
Platform as a Service (PaaS) - A cloud service for Developers
Ravindra Dastikop
 
VMware Outlines Its Own Journey to the Cloud
VMware Outlines Its Own Journey to the CloudVMware Outlines Its Own Journey to the Cloud
VMware Outlines Its Own Journey to the Cloud
VMware
 
Web scale IT - Nutanix
Web scale IT - NutanixWeb scale IT - Nutanix
Web scale IT - Nutanix
Unitiv
 
Kubernetes: Dive into the Future of Infrastructure
Kubernetes: Dive into the Future of InfrastructureKubernetes: Dive into the Future of Infrastructure
Kubernetes: Dive into the Future of Infrastructure
GlobalLogic Ukraine
 
How Lenovo and Nutanix are delivering the invisible infrastructure
How Lenovo and Nutanix are delivering the invisible infrastructureHow Lenovo and Nutanix are delivering the invisible infrastructure
How Lenovo and Nutanix are delivering the invisible infrastructure
Lenovo Data Center
 

What's hot (20)

Debezium POC
Debezium POCDebezium POC
Debezium POC
 
Accelerate Business Agility with PaaS
Accelerate Business Agility with PaaS Accelerate Business Agility with PaaS
Accelerate Business Agility with PaaS
 
VMware vCloud Air Availability Solutions – Data Protection
VMware vCloud Air Availability Solutions – Data ProtectionVMware vCloud Air Availability Solutions – Data Protection
VMware vCloud Air Availability Solutions – Data Protection
 
Exploring Quarkus on JDK 17
Exploring Quarkus on JDK 17Exploring Quarkus on JDK 17
Exploring Quarkus on JDK 17
 
SQL Server Introduction to Infrastructure Boot Camp
SQL Server Introduction to Infrastructure Boot CampSQL Server Introduction to Infrastructure Boot Camp
SQL Server Introduction to Infrastructure Boot Camp
 
Accelerate Your Sales with Application-Centric Storage-as-a-Service Using VMw...
Accelerate Your Sales with Application-Centric Storage-as-a-Service Using VMw...Accelerate Your Sales with Application-Centric Storage-as-a-Service Using VMw...
Accelerate Your Sales with Application-Centric Storage-as-a-Service Using VMw...
 
Single Slide, OverSimplified VDI Backup Strategy
Single Slide, OverSimplified VDI Backup StrategySingle Slide, OverSimplified VDI Backup Strategy
Single Slide, OverSimplified VDI Backup Strategy
 
Sql pass summit
Sql pass summitSql pass summit
Sql pass summit
 
Autonomous Database Explained
Autonomous Database ExplainedAutonomous Database Explained
Autonomous Database Explained
 
JakartaOne Livestream CN4J: Eclipse MicroProfile - Your Cloud-Native Companion
JakartaOne Livestream CN4J: Eclipse MicroProfile - Your Cloud-Native CompanionJakartaOne Livestream CN4J: Eclipse MicroProfile - Your Cloud-Native Companion
JakartaOne Livestream CN4J: Eclipse MicroProfile - Your Cloud-Native Companion
 
When to select hyper converged 2016 Sydney VMUG
When to select hyper converged 2016 Sydney VMUGWhen to select hyper converged 2016 Sydney VMUG
When to select hyper converged 2016 Sydney VMUG
 
Hyperconvergence and Death of the Storage Array - Interop 2015
Hyperconvergence and Death of the Storage Array - Interop 2015Hyperconvergence and Death of the Storage Array - Interop 2015
Hyperconvergence and Death of the Storage Array - Interop 2015
 
Gain Insights, Make Decisions, and Take Action Across a Streamlined and Autom...
Gain Insights, Make Decisions, and Take Action Across a Streamlined and Autom...Gain Insights, Make Decisions, and Take Action Across a Streamlined and Autom...
Gain Insights, Make Decisions, and Take Action Across a Streamlined and Autom...
 
Modernize and Transform your IT with IBM Storage and Catalogic Copy Data Mana...
Modernize and Transform your IT with IBM Storage and Catalogic Copy Data Mana...Modernize and Transform your IT with IBM Storage and Catalogic Copy Data Mana...
Modernize and Transform your IT with IBM Storage and Catalogic Copy Data Mana...
 
Migrating from Java EE to cloud-native Reactive systems
Migrating from Java EE to cloud-native Reactive systemsMigrating from Java EE to cloud-native Reactive systems
Migrating from Java EE to cloud-native Reactive systems
 
Platform as a Service (PaaS) - A cloud service for Developers
Platform as a Service (PaaS) - A cloud service for Developers Platform as a Service (PaaS) - A cloud service for Developers
Platform as a Service (PaaS) - A cloud service for Developers
 
VMware Outlines Its Own Journey to the Cloud
VMware Outlines Its Own Journey to the CloudVMware Outlines Its Own Journey to the Cloud
VMware Outlines Its Own Journey to the Cloud
 
Web scale IT - Nutanix
Web scale IT - NutanixWeb scale IT - Nutanix
Web scale IT - Nutanix
 
Kubernetes: Dive into the Future of Infrastructure
Kubernetes: Dive into the Future of InfrastructureKubernetes: Dive into the Future of Infrastructure
Kubernetes: Dive into the Future of Infrastructure
 
How Lenovo and Nutanix are delivering the invisible infrastructure
How Lenovo and Nutanix are delivering the invisible infrastructureHow Lenovo and Nutanix are delivering the invisible infrastructure
How Lenovo and Nutanix are delivering the invisible infrastructure
 

Similar to Open Source Summit NorthAmerica 2017 Stateful Apps in Containers

Data Agility for Devops - OSI 2018
Data Agility for Devops - OSI 2018Data Agility for Devops - OSI 2018
Data Agility for Devops - OSI 2018
OpenEBS
 
{code} and containers
{code} and containers{code} and containers
{code} and containers
{code} by Dell EMC
 
Enabling Fast IT using Containers, Microservices and DevOps Model
Enabling Fast IT using Containers, Microservices and DevOps ModelEnabling Fast IT using Containers, Microservices and DevOps Model
Enabling Fast IT using Containers, Microservices and DevOps Model
Cisco DevNet
 
Red Hat Storage Day Atlanta - Persistent Storage for Linux Containers
Red Hat Storage Day Atlanta - Persistent Storage for Linux Containers Red Hat Storage Day Atlanta - Persistent Storage for Linux Containers
Red Hat Storage Day Atlanta - Persistent Storage for Linux Containers
Red_Hat_Storage
 
'Cloud-Native' Ecosystem - Aug 2015
'Cloud-Native' Ecosystem - Aug 2015'Cloud-Native' Ecosystem - Aug 2015
'Cloud-Native' Ecosystem - Aug 2015
Lenny Pruss
 
SCALE 16x on-prem container orchestrator deployment
SCALE 16x on-prem container orchestrator deploymentSCALE 16x on-prem container orchestrator deployment
SCALE 16x on-prem container orchestrator deployment
Steve Wong
 
{code} and Containers - Open Source Infrastructure within Dell Technologies
{code} and Containers - Open Source Infrastructure within Dell Technologies{code} and Containers - Open Source Infrastructure within Dell Technologies
{code} and Containers - Open Source Infrastructure within Dell Technologies
The {code} Team
 
How Container Schedulers and Software-based Storage will Change the Cloud
How Container Schedulers and Software-based Storage will Change the CloudHow Container Schedulers and Software-based Storage will Change the Cloud
How Container Schedulers and Software-based Storage will Change the Cloud
David vonThenen
 
SCaLE 15x - How Container Schedulers and Software-Defined Storage will Change...
SCaLE 15x - How Container Schedulers and Software-Defined Storage will Change...SCaLE 15x - How Container Schedulers and Software-Defined Storage will Change...
SCaLE 15x - How Container Schedulers and Software-Defined Storage will Change...
David vonThenen
 
OpenStack Marketing Meeting - Icehouse Release
OpenStack Marketing Meeting - Icehouse ReleaseOpenStack Marketing Meeting - Icehouse Release
OpenStack Marketing Meeting - Icehouse Release
OpenStack Foundation
 
Choosing PaaS: Cisco and Open Source Options: an overview
Choosing PaaS:  Cisco and Open Source Options: an overviewChoosing PaaS:  Cisco and Open Source Options: an overview
Choosing PaaS: Cisco and Open Source Options: an overview
Cisco DevNet
 
Container orchestration overview
Container orchestration overviewContainer orchestration overview
Container orchestration overview
Wyn B. Van Devanter
 
A Tight Ship: How Containers and SDS Optimize the Enterprise
 A Tight Ship: How Containers and SDS Optimize the Enterprise A Tight Ship: How Containers and SDS Optimize the Enterprise
A Tight Ship: How Containers and SDS Optimize the Enterprise
Eric Kavanagh
 
SoCal DevOps Meetup 1/26/2017 - Habitat by Chef
SoCal DevOps Meetup 1/26/2017 - Habitat by ChefSoCal DevOps Meetup 1/26/2017 - Habitat by Chef
SoCal DevOps Meetup 1/26/2017 - Habitat by Chef
Trevor Hess
 
Kubernetes Basics - ICP Workshop Batch II
Kubernetes Basics - ICP Workshop Batch IIKubernetes Basics - ICP Workshop Batch II
Kubernetes Basics - ICP Workshop Batch II
PT Datacomm Diangraha
 
What is DevOps?
What is DevOps?What is DevOps?
What is DevOps?
Mesut Güneş
 
Simplify DevOps with Microservices and Mobile Backends.pptx
Simplify DevOps with Microservices and Mobile Backends.pptxSimplify DevOps with Microservices and Mobile Backends.pptx
Simplify DevOps with Microservices and Mobile Backends.pptx
ssuser5faa791
 
Enabling Fast IT using Containers, Microservices and DAVROS models: an overview
Enabling Fast IT using Containers, Microservices and DAVROS models: an overviewEnabling Fast IT using Containers, Microservices and DAVROS models: an overview
Enabling Fast IT using Containers, Microservices and DAVROS models: an overview
Cisco DevNet
 
Sviluppare velocemente applicazioni sicure con SUSE CaaS Platform e SUSE Manager
Sviluppare velocemente applicazioni sicure con SUSE CaaS Platform e SUSE ManagerSviluppare velocemente applicazioni sicure con SUSE CaaS Platform e SUSE Manager
Sviluppare velocemente applicazioni sicure con SUSE CaaS Platform e SUSE Manager
SUSE Italy
 
Cloud Foundry Compared With Other PaaSes (Cloud Foundry Summit 2014)
Cloud Foundry Compared With Other PaaSes (Cloud Foundry Summit 2014)Cloud Foundry Compared With Other PaaSes (Cloud Foundry Summit 2014)
Cloud Foundry Compared With Other PaaSes (Cloud Foundry Summit 2014)
VMware Tanzu
 

Similar to Open Source Summit NorthAmerica 2017 Stateful Apps in Containers (20)

Data Agility for Devops - OSI 2018
Data Agility for Devops - OSI 2018Data Agility for Devops - OSI 2018
Data Agility for Devops - OSI 2018
 
{code} and containers
{code} and containers{code} and containers
{code} and containers
 
Enabling Fast IT using Containers, Microservices and DevOps Model
Enabling Fast IT using Containers, Microservices and DevOps ModelEnabling Fast IT using Containers, Microservices and DevOps Model
Enabling Fast IT using Containers, Microservices and DevOps Model
 
Red Hat Storage Day Atlanta - Persistent Storage for Linux Containers
Red Hat Storage Day Atlanta - Persistent Storage for Linux Containers Red Hat Storage Day Atlanta - Persistent Storage for Linux Containers
Red Hat Storage Day Atlanta - Persistent Storage for Linux Containers
 
'Cloud-Native' Ecosystem - Aug 2015
'Cloud-Native' Ecosystem - Aug 2015'Cloud-Native' Ecosystem - Aug 2015
'Cloud-Native' Ecosystem - Aug 2015
 
SCALE 16x on-prem container orchestrator deployment
SCALE 16x on-prem container orchestrator deploymentSCALE 16x on-prem container orchestrator deployment
SCALE 16x on-prem container orchestrator deployment
 
{code} and Containers - Open Source Infrastructure within Dell Technologies
{code} and Containers - Open Source Infrastructure within Dell Technologies{code} and Containers - Open Source Infrastructure within Dell Technologies
{code} and Containers - Open Source Infrastructure within Dell Technologies
 
How Container Schedulers and Software-based Storage will Change the Cloud
How Container Schedulers and Software-based Storage will Change the CloudHow Container Schedulers and Software-based Storage will Change the Cloud
How Container Schedulers and Software-based Storage will Change the Cloud
 
SCaLE 15x - How Container Schedulers and Software-Defined Storage will Change...
SCaLE 15x - How Container Schedulers and Software-Defined Storage will Change...SCaLE 15x - How Container Schedulers and Software-Defined Storage will Change...
SCaLE 15x - How Container Schedulers and Software-Defined Storage will Change...
 
OpenStack Marketing Meeting - Icehouse Release
OpenStack Marketing Meeting - Icehouse ReleaseOpenStack Marketing Meeting - Icehouse Release
OpenStack Marketing Meeting - Icehouse Release
 
Choosing PaaS: Cisco and Open Source Options: an overview
Choosing PaaS:  Cisco and Open Source Options: an overviewChoosing PaaS:  Cisco and Open Source Options: an overview
Choosing PaaS: Cisco and Open Source Options: an overview
 
Container orchestration overview
Container orchestration overviewContainer orchestration overview
Container orchestration overview
 
A Tight Ship: How Containers and SDS Optimize the Enterprise
 A Tight Ship: How Containers and SDS Optimize the Enterprise A Tight Ship: How Containers and SDS Optimize the Enterprise
A Tight Ship: How Containers and SDS Optimize the Enterprise
 
SoCal DevOps Meetup 1/26/2017 - Habitat by Chef
SoCal DevOps Meetup 1/26/2017 - Habitat by ChefSoCal DevOps Meetup 1/26/2017 - Habitat by Chef
SoCal DevOps Meetup 1/26/2017 - Habitat by Chef
 
Kubernetes Basics - ICP Workshop Batch II
Kubernetes Basics - ICP Workshop Batch IIKubernetes Basics - ICP Workshop Batch II
Kubernetes Basics - ICP Workshop Batch II
 
What is DevOps?
What is DevOps?What is DevOps?
What is DevOps?
 
Simplify DevOps with Microservices and Mobile Backends.pptx
Simplify DevOps with Microservices and Mobile Backends.pptxSimplify DevOps with Microservices and Mobile Backends.pptx
Simplify DevOps with Microservices and Mobile Backends.pptx
 
Enabling Fast IT using Containers, Microservices and DAVROS models: an overview
Enabling Fast IT using Containers, Microservices and DAVROS models: an overviewEnabling Fast IT using Containers, Microservices and DAVROS models: an overview
Enabling Fast IT using Containers, Microservices and DAVROS models: an overview
 
Sviluppare velocemente applicazioni sicure con SUSE CaaS Platform e SUSE Manager
Sviluppare velocemente applicazioni sicure con SUSE CaaS Platform e SUSE ManagerSviluppare velocemente applicazioni sicure con SUSE CaaS Platform e SUSE Manager
Sviluppare velocemente applicazioni sicure con SUSE CaaS Platform e SUSE Manager
 
Cloud Foundry Compared With Other PaaSes (Cloud Foundry Summit 2014)
Cloud Foundry Compared With Other PaaSes (Cloud Foundry Summit 2014)Cloud Foundry Compared With Other PaaSes (Cloud Foundry Summit 2014)
Cloud Foundry Compared With Other PaaSes (Cloud Foundry Summit 2014)
 

More from Steve Wong

Kubernetes Disaster Recovery - Los Angeles K8s meetup Dec 10 2019
Kubernetes Disaster Recovery - Los Angeles K8s meetup Dec 10 2019Kubernetes Disaster Recovery - Los Angeles K8s meetup Dec 10 2019
Kubernetes Disaster Recovery - Los Angeles K8s meetup Dec 10 2019
Steve Wong
 
Kubernetes for IoT and Edge - Instrument Society of America Meeting
Kubernetes for IoT and Edge - Instrument Society of America MeetingKubernetes for IoT and Edge - Instrument Society of America Meeting
Kubernetes for IoT and Edge - Instrument Society of America Meeting
Steve Wong
 
OSS Japan 2019 service mesh bridging Kubernetes and legacy
OSS Japan 2019 service mesh bridging Kubernetes and legacyOSS Japan 2019 service mesh bridging Kubernetes and legacy
OSS Japan 2019 service mesh bridging Kubernetes and legacy
Steve Wong
 
KubeCon China June 2019 - Survey of Kubernetes related solutions for IoT and ...
KubeCon China June 2019 - Survey of Kubernetes related solutions for IoT and ...KubeCon China June 2019 - Survey of Kubernetes related solutions for IoT and ...
KubeCon China June 2019 - Survey of Kubernetes related solutions for IoT and ...
Steve Wong
 
Why you need a private container image registry SCALE 2019
Why you need a private container image registry SCALE 2019Why you need a private container image registry SCALE 2019
Why you need a private container image registry SCALE 2019
Steve Wong
 
Production grade edge computing on Kubernetes OSS EU 2018
Production grade edge computing on Kubernetes   OSS EU 2018Production grade edge computing on Kubernetes   OSS EU 2018
Production grade edge computing on Kubernetes OSS EU 2018
Steve Wong
 
Learn how to use Harbor
Learn how to use HarborLearn how to use Harbor
Learn how to use Harbor
Steve Wong
 
Introduction to Apache Mesos and DC/OS
Introduction to Apache Mesos and DC/OSIntroduction to Apache Mesos and DC/OS
Introduction to Apache Mesos and DC/OS
Steve Wong
 
Smart Cities and IOT: with opportunity comes risk
Smart Cities and IOT: with opportunity comes riskSmart Cities and IOT: with opportunity comes risk
Smart Cities and IOT: with opportunity comes risk
Steve Wong
 
Open Source Storage Summit Tokyo 2016 - Storage for Containers
Open Source Storage Summit Tokyo 2016 - Storage for ContainersOpen Source Storage Summit Tokyo 2016 - Storage for Containers
Open Source Storage Summit Tokyo 2016 - Storage for Containers
Steve Wong
 
Heresey in the church of 12 factors
Heresey in the church of 12 factorsHeresey in the church of 12 factors
Heresey in the church of 12 factors
Steve Wong
 

More from Steve Wong (11)

Kubernetes Disaster Recovery - Los Angeles K8s meetup Dec 10 2019
Kubernetes Disaster Recovery - Los Angeles K8s meetup Dec 10 2019Kubernetes Disaster Recovery - Los Angeles K8s meetup Dec 10 2019
Kubernetes Disaster Recovery - Los Angeles K8s meetup Dec 10 2019
 
Kubernetes for IoT and Edge - Instrument Society of America Meeting
Kubernetes for IoT and Edge - Instrument Society of America MeetingKubernetes for IoT and Edge - Instrument Society of America Meeting
Kubernetes for IoT and Edge - Instrument Society of America Meeting
 
OSS Japan 2019 service mesh bridging Kubernetes and legacy
OSS Japan 2019 service mesh bridging Kubernetes and legacyOSS Japan 2019 service mesh bridging Kubernetes and legacy
OSS Japan 2019 service mesh bridging Kubernetes and legacy
 
KubeCon China June 2019 - Survey of Kubernetes related solutions for IoT and ...
KubeCon China June 2019 - Survey of Kubernetes related solutions for IoT and ...KubeCon China June 2019 - Survey of Kubernetes related solutions for IoT and ...
KubeCon China June 2019 - Survey of Kubernetes related solutions for IoT and ...
 
Why you need a private container image registry SCALE 2019
Why you need a private container image registry SCALE 2019Why you need a private container image registry SCALE 2019
Why you need a private container image registry SCALE 2019
 
Production grade edge computing on Kubernetes OSS EU 2018
Production grade edge computing on Kubernetes   OSS EU 2018Production grade edge computing on Kubernetes   OSS EU 2018
Production grade edge computing on Kubernetes OSS EU 2018
 
Learn how to use Harbor
Learn how to use HarborLearn how to use Harbor
Learn how to use Harbor
 
Introduction to Apache Mesos and DC/OS
Introduction to Apache Mesos and DC/OSIntroduction to Apache Mesos and DC/OS
Introduction to Apache Mesos and DC/OS
 
Smart Cities and IOT: with opportunity comes risk
Smart Cities and IOT: with opportunity comes riskSmart Cities and IOT: with opportunity comes risk
Smart Cities and IOT: with opportunity comes risk
 
Open Source Storage Summit Tokyo 2016 - Storage for Containers
Open Source Storage Summit Tokyo 2016 - Storage for ContainersOpen Source Storage Summit Tokyo 2016 - Storage for Containers
Open Source Storage Summit Tokyo 2016 - Storage for Containers
 
Heresey in the church of 12 factors
Heresey in the church of 12 factorsHeresey in the church of 12 factors
Heresey in the church of 12 factors
 

Recently uploaded

Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
Gerardo Pardo-Castellote
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Envertis Software Solutions
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
Hironori Washizaki
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
Quickdice ERP
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
rodomar2
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
mz5nrf0n
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
Grant Fritchey
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
Peter Muessig
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
Yara Milbes
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Undress Baby
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 

Recently uploaded (20)

Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 

Open Source Summit NorthAmerica 2017 Stateful Apps in Containers

  • 1. The Anti-Pattern Wall of 2011 has Crumbled: Stateful Applications in Containers Open Source Summit North America September 2017
  • 2. Speaker Steve Wong Strategic Open Source Partner Engineer {code} Dell Technologies Community participant: – Container Storage Interface – DC/OS – Kubernetes – Mesos – REX-Ray
  • 3. Agenda 1. History of containers & the 12 factors 2. Container Orchestrators vs. Paas 3. Orchestrator Support for Stateful Services 4. How and why you should get involved with stateful now
  • 5. Later: growing adoption, by the cognoscenti
  • 6. Advent of the PaaS platforms
  • 8. What are the 12 factors? A collection of patterns and anti patterns intended to guide designs for the Heroku Platform (PaaS) A PaaS simplifies application deployment by providing, managing and abstracting base of foundational services, with compute and storage infrastructure. Cloud Foundry is another popular PaaS generally utilized with 12 factor principles
  • 9. Docker and container orchestrator history
  • 10. PaaS vs a Container Orchestrator A PaaS platform takes more responsibility – often making decisions for you A container orchestrator is less opinionated
  • 11. What does the 12 factors say? Why? Easy to replace, upgrade, automate scale-up and scale-down
  • 12. Don’t useful apps require state retention?
  • 13. Indeed, it is somebody else’s problem, and the 12 factors explicitly says this Twelve factor processes are stateless and share-nothing. Any data that needs to persist must be stored in a stateful backing service
  • 14. What exactly is this stateful backing service? In the era when the twelve factors was written it was typically a database. And the twelve factors goes on to advise that it should be consumed via an API such as an https network service.
  • 15. Stateful Backing Services are not just databases
  • 16. What if it isn’t “the other guys problem”? Suppose you are that guy maintaining the “backing store” There are valid reasons to do this yourself • You want to pick your own tool and version • You want to customize • You want to stay portable across clouds • You want to avoid database monoliths
  • 18. Container advantages make sense for stateful too Container attributes: • Consistent environment – same anywhere • Dependency management - packaging Orchestration can add: • Health monitoring • Automated rollouts and rollbacks • Declarative configuration • App/package store deploy experience
  • 19. The 12 factors was and is still a great tool… just needs an update • Still applies when using a PaaS • Principle of using your stateful DB, NoSQL, etc. behind an API abstraction still applies But it’s not • A religious codicil • A lawbook It is something to be respected and considered when and where it makes sense
  • 20. Stateful in a container is mainstream
  • 21. Orchestrators have features specifically for stateful app support DC/OS Kubernetes Mesos Swarm External persistent volumes ✓ ✓ ✓ ✓ Frameworks ✓ ✓ Packages ✓ Helm charts ✓ operators ✓ StatefulSets ✓
  • 22. local storage for state? Local ● Availability Risk ○ Migrate container to another host – your storage is gone ○ Host goes down – your service goes down ● Scale Limitation ○ Need more storage than the host has? Sorry…
  • 23. How External Persistent Volume Mounts work
  • 24. How External Persistent Volume Mounts work
  • 25. Mesos, DC/OS: Frameworks • Fine grained control over what gets run, where • Clustered App: control node startup order, scaling, placement • Monitor health, manage backups, upgrades
  • 26. DC/OS: Packages • Manage and deploy applications from controlled curated repository(s) • provide app store experience o UI o CLI
  • 27. Kubernetes Helm Chart • App store experience • Update, Rollback
  • 28. Kubernetes StatefulSet • Stable, unique network identifiers. • Stable, persistent storage. • Ordered, graceful deployment and scaling. • Ordered, graceful deletion and termination. • Ordered, automated rolling updates.
  • 29. Kubernetes Operators • an application-specific controller that extends the Kubernetes API • includes domain or application-specific knowledge to automate common tasks (create, configure, update, scale, etc) and manage instances of complex stateful applications.
  • 30. Demo OSS: Tutorial - Introduction to Stateful Applications on Kubernetes • Tuesday 10:55am MesosCon: Building your First Stateful DC/OS Service • Thursday 4pm
  • 31. The 12 factors revisited
  • 32. What needs improvement in the stateful story • Backup is ripe for standardization • Storage “plugin drivers” are not standardized across platforms • Replication, Volume resizing has “rough edges”
  • 33. Efforts are underway in the community to address these – but no matter who you are, we could use your help Stateful app support is under-construction
  • 35. References Docker Image DC/OS package Helm chart K8s operator K8s StaefulSet Mesos Framework Cassandra ✓ ✓ ✓ ✓ Elastic ✓ ✓ ✓ ✓ ✓ ✓ Hadoop ✓ ✓ ✓ Kafka ✓ ✓ ✓ ✓ ✓ mongoDB ✓ ✓ ✓ ✓ MySQL ✓ ✓ ✓ ✓ PostgreSQL ✓ ✓ ✓ ✓ ✓ Redis ✓ ✓ ✓
  • 36. References • Free O’Reilly Book, Beyond the Twelve Factor App: • http://www.oreilly.com/webops-perf/free/beyond-the-twelv e-factor-app.csp • This deck: • https://www.slideshare.net/SteveWong14/open-source-su mmit-northamerica-2017-stateful-apps-in-containers