SlideShare a Scribd company logo
Juan Herrera
Sales Engineer
juan.herrera@suse.com
Statefull apps on Kubernetes
Use cases for traditional apps on the containerized world
2
”State” is the question!
What happens if we want to explore the benefits of
containerization for already existing applications
not really architected to be deployed on containers?
And, if container native, what to do if some services
in our app need to store state? ?
3
May I move ANY application to containers?
• Even technically possible, not really practical in many cases. Short
answer: NO
• Containers have a stateless behaviour ”per definition” so persistent
local storage (overlayFS) is lost during container’s destroy/create
cycles. That local storage can’t be either shared with other
containers.
• Network visibility between containers is not usually possible.
4
Is that the end of the world?
Kubernetes Volume Management and
StatefulSets, to the rescue!
Kubernetes provides all the required resources and services needed by
containerized applications to overcome those limitations.
5
Dealing with state: Volume management
Stateless
container
Stateful
container
SUSE
Enterprise
Storage
RBD Pool,
iSCSI
Volume, NFS
share , …
External DB
Object Store
…
6
Why use Stateful Containers in traditional apps?
Scale easier
• Simplified deployment to scale faster
• Less manual work
More reliable
• Repeatable and consistent declarative deployment config stored in
git
• User Kubernetes to monitor and maintain desired state
7
Volume management plugins
Different volume plugins (+20) covering any possible storage need
Remote storage
• GCE Persistent Disk
• AWS EBS
• Azure File Storage
• Azure Data Disk
• Dell EMC
• iSCSI
• NFS
• SES – Ceph RBD
• SES – CephFS
• FibreChannel
• OpenStack Cinder
• vSphere
• …..
Ephemeral
• Empty dir (tmpfs)
• K8S API (Secret,
ConfigMap, ..)
• …
Other
• Host path
Kubernetes node
kubelet Container RT
POD
Volume
8
Persistent Volumes & Persistent Volume Claims
Persistent Volume
• First class cluster resources, comparable to Nodes
• API captures de implementation details (NFS, iSCSI, RBD, …)
• Can be provisioned statically or dinamically
• Have capacity, access mode, storage class and reclaim policy
Persistent Volume Claim
• A request for storage
• Includes size and access mode
• Optionally includes a storage class and selectors
9
Static vs Dynamic Provisioning
Static
• Requires admin intervention!
• Volumes are defined beforehand. Volume request may be less or equal the
size of the volume so space may be wasted
Dynamic
• Based on classes of storage (Gold-Silver, Dev-Prod, …)
• Abstracts user requests from implementation. Portable!
• No manual intervention!
10
Example
Persistent volume definition and claim for MySQL storage:
https://kubernetes.io/docs/tutorials/stateful-application/mysql-
wordpress-persistent-volume/
11
Last step … Stateful Sets
Kubernetes feature that give us the required services to do real stateful
app scaling like the one needed to set up database clusters.
The 4 main features are:
• Assign PersistentVolumeClaim for each Pod
• Stable network identifier for Pods (predictable hostnames)
• Ordered deployment (scheduled in order, safe from race conditions
where a service is waiting for another one not ready. Predictable
order solves that)
• Double checking: running + ready (e.g. Swarm only running)
12
Is that enough? Two main patterns to deal with “real world”
Example cluster management operations:
• New member joining a MongoDB cluster …
• Handle node failover, master promotion in a PostgreSQL DB
• Dealing with software upgrades and patching
Two patterns:
• Bot / sidecar pattern (deals with each specific cluster constraints)
• Operator (develop custom resource type)
13
Final notes on Stateful Apps
1
Remember that not all stateful applications scale nicely if their architecture
was not designed for containerization.
Always do extensive testing!!!
1414
Real world examples
15
Real world examples from SUSE
SUSE OpenStack Cloud
• Control panel containerization lead to remove PostgreSQL (active-
pasive) and deploy N-active-active MariaDB/Galera instead
• Other services like Neutron, Cinder or RabbitMQ, where straight
forward.
SUSE Cloud Application Platform
• Deal with CloudFoundry certification
• All possible use cases in one product
16
SUSE Cloud Application Platform (CloudFoundry)
SUSE CAP
SUSE CaaS Platform
SUSE Cloud Foundry
Router
SLE
CC API
SLE
Router
SLE
Diego
Logging
SLE
Diego
SLESLECF
Diego
Diego
CFSLE
Diego
DiegoSLE
SLESLE
UAA
SLE
CF Volume
SLE
SUSE
Enterprise Storage
(CEPH)
Broker
SLE
Portus
SLE
Git
SLE
CI/CD
SLE
SLE SLE
17
Q & A
Casos de uso para aplicaciones tradicionales en un mundo de contenedores
1919
Unpublished Work of SUSE LLC. All Rights Reserved.
This work is an unpublished work and contains confidential, proprietary and trade secret information of SUSE LLC.
Access to this work is restricted to SUSE employees who have a need to know to perform tasks within the scope of their
assignments. No part of this work may be practiced, performed, copied, distributed, revised, modified, translated,
abridged, condensed, expanded, collected, or adapted without the prior written consent of SUSE.
Any use or exploitation of this work without authorization could subject the perpetrator to criminal and civil liability.
General Disclaimer
This document is not to be construed as a promise by any participating company to develop, deliver, or market a
product. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making
purchasing decisions. SUSE makes no representations or warranties with respect to the contents of this document, and
specifically disclaims any express or implied warranties of merchantability or fitness for any particular purpose. The
development, release, and timing of features or functionality described for SUSE products remains at the sole discretion
of SUSE. Further, SUSE reserves the right to revise this document and to make changes to its content, at any time,
without obligation to notify any person or entity of such revisions or changes. All SUSE marks referenced in this
presentation are trademarks or registered trademarks of Novell, Inc. in the United States and other countries. All third-
party trademarks are the property of their respective owners.

More Related Content

PDF
Containerizing stateful apps with Kubernetes and SUSE CaaS Platform
Juan Herrera Utande
 
PPTX
Introduction to OS LEVEL Virtualization & Containers
Vaibhav Sharma
 
PPTX
A brief study on Kubernetes and its components
Ramit Surana
 
PDF
Musings on Mesos: Docker, Kubernetes, and Beyond.
Timothy St. Clair
 
PPTX
HA Kubernetes on Mesos / Marathon
Cobus Bernard
 
PPTX
Cloudera - Docker on hadoop
Adam Doyle
 
PDF
ACROPOLIS CONTAINER SERVICES
TREEPTIK
 
PPTX
Platform as a Service with Kubernetes and Mesos
Miguel Zuniga
 
Containerizing stateful apps with Kubernetes and SUSE CaaS Platform
Juan Herrera Utande
 
Introduction to OS LEVEL Virtualization & Containers
Vaibhav Sharma
 
A brief study on Kubernetes and its components
Ramit Surana
 
Musings on Mesos: Docker, Kubernetes, and Beyond.
Timothy St. Clair
 
HA Kubernetes on Mesos / Marathon
Cobus Bernard
 
Cloudera - Docker on hadoop
Adam Doyle
 
ACROPOLIS CONTAINER SERVICES
TREEPTIK
 
Platform as a Service with Kubernetes and Mesos
Miguel Zuniga
 

What's hot (20)

PDF
What Is Kubernetes | Kubernetes Introduction | Kubernetes Tutorial For Beginn...
Edureka!
 
PDF
Vs host clustering
rickythekid
 
PDF
Virtual Server Host Clustering Step-by- Step Guide for ...
webhostingguy
 
PDF
Cluster management with Kubernetes
Satnam Singh
 
PPTX
Mesos and Kubernetes ecosystem overview
Krishna-Kumar
 
PDF
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
SlideTeam
 
PDF
Monitoring microservices: Docker, Mesos and Kubernetes visibility at scale
Alessandro Gallotta
 
PDF
Moving to Kubernetes - Tales from SoundCloud
Tobias Schmidt
 
PDF
SUSE Container as a Service Platform
SUSE
 
PDF
Kubernetes 101 for Developers
Ross Kukulinski
 
PDF
Multi-Container Apps spanning Docker, Mesos and OpenStack
Docker, Inc.
 
PPT
Building Clustered Applications with Kubernetes and Docker
Steve Watt
 
PDF
Kubernetes and CoreOS @ Athens Docker meetup
Mist.io
 
PDF
Kubernetes Introduction
Peng Xiao
 
PDF
Open stack solidfire-mavenspire-meetup
Gene Dubensky
 
PDF
Mesos vs kubernetes comparison
Krishna-Kumar
 
PDF
Doing Big Data for Real with Docker
Mesosphere Inc.
 
PPTX
Kubernetes Presentation
Crevise Technologies
 
PDF
Crossing the Streams Mesos <> Kubernetes
Timothy St. Clair
 
PDF
Highly scalable caching service on cloud - Redis
Krishna-Kumar
 
What Is Kubernetes | Kubernetes Introduction | Kubernetes Tutorial For Beginn...
Edureka!
 
Vs host clustering
rickythekid
 
Virtual Server Host Clustering Step-by- Step Guide for ...
webhostingguy
 
Cluster management with Kubernetes
Satnam Singh
 
Mesos and Kubernetes ecosystem overview
Krishna-Kumar
 
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
SlideTeam
 
Monitoring microservices: Docker, Mesos and Kubernetes visibility at scale
Alessandro Gallotta
 
Moving to Kubernetes - Tales from SoundCloud
Tobias Schmidt
 
SUSE Container as a Service Platform
SUSE
 
Kubernetes 101 for Developers
Ross Kukulinski
 
Multi-Container Apps spanning Docker, Mesos and OpenStack
Docker, Inc.
 
Building Clustered Applications with Kubernetes and Docker
Steve Watt
 
Kubernetes and CoreOS @ Athens Docker meetup
Mist.io
 
Kubernetes Introduction
Peng Xiao
 
Open stack solidfire-mavenspire-meetup
Gene Dubensky
 
Mesos vs kubernetes comparison
Krishna-Kumar
 
Doing Big Data for Real with Docker
Mesosphere Inc.
 
Kubernetes Presentation
Crevise Technologies
 
Crossing the Streams Mesos <> Kubernetes
Timothy St. Clair
 
Highly scalable caching service on cloud - Redis
Krishna-Kumar
 
Ad

Similar to Casos de uso para aplicaciones tradicionales en un mundo de contenedores (20)

PDF
Introducción a Microservicios, SUSE CaaS Platform y Kubernetes
SUSE España
 
PDF
Containers and Kubernetes without limits
Antje Barth
 
PPTX
01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMware
VMUG IT
 
PDF
Productos de SUSE basados en CaaSP
SUSE España
 
PDF
stupid-simple-kubernetes-final.pdf
DaniloQueirozMota
 
PDF
Seminar Modernizing Your Development Using Microservices, Container & Kubernetes
PT Datacomm Diangraha
 
PPTX
Progress for big data in Kubernetes
Ted Dunning
 
PDF
Red Hat Storage Day LA - Persistent Storage for Linux Containers
Red_Hat_Storage
 
PDF
Kubernetes: My BFF
Jonathan Yu
 
PDF
Google Cloud Platform and Kubernetes
Kasper Nissen
 
PDF
Docker's Jérôme Petazzoni: Best Practices in Dev to Production Parity for Con...
Heavybit
 
PDF
Introduction to containers, k8s, Microservices & Cloud Native
Terry Wang
 
PDF
Azure meetup cloud native concepts - may 28th 2018
Jim Bugwadia
 
PDF
Kubernetes Basics - ICP Workshop Batch II
PT Datacomm Diangraha
 
PPTX
Kubernetes 101
Vishwas N
 
PDF
Microservices with Kubernetes, Docker, and Jenkins
Rafael Benevides
 
PDF
Microservices with Docker, Kubernetes, and Jenkins
Red Hat Developers
 
PDF
Javaone kubernetesjenkins
Pravat Bhusan Parida
 
PDF
Lunar Way and the Cloud Native "stack"
Kasper Nissen
 
PDF
Kubernetes deep dive - - Huawei 2015-10
Vishnu Kannan
 
Introducción a Microservicios, SUSE CaaS Platform y Kubernetes
SUSE España
 
Containers and Kubernetes without limits
Antje Barth
 
01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMware
VMUG IT
 
Productos de SUSE basados en CaaSP
SUSE España
 
stupid-simple-kubernetes-final.pdf
DaniloQueirozMota
 
Seminar Modernizing Your Development Using Microservices, Container & Kubernetes
PT Datacomm Diangraha
 
Progress for big data in Kubernetes
Ted Dunning
 
Red Hat Storage Day LA - Persistent Storage for Linux Containers
Red_Hat_Storage
 
Kubernetes: My BFF
Jonathan Yu
 
Google Cloud Platform and Kubernetes
Kasper Nissen
 
Docker's Jérôme Petazzoni: Best Practices in Dev to Production Parity for Con...
Heavybit
 
Introduction to containers, k8s, Microservices & Cloud Native
Terry Wang
 
Azure meetup cloud native concepts - may 28th 2018
Jim Bugwadia
 
Kubernetes Basics - ICP Workshop Batch II
PT Datacomm Diangraha
 
Kubernetes 101
Vishwas N
 
Microservices with Kubernetes, Docker, and Jenkins
Rafael Benevides
 
Microservices with Docker, Kubernetes, and Jenkins
Red Hat Developers
 
Javaone kubernetesjenkins
Pravat Bhusan Parida
 
Lunar Way and the Cloud Native "stack"
Kasper Nissen
 
Kubernetes deep dive - - Huawei 2015-10
Vishnu Kannan
 
Ad

More from SUSE España (11)

PDF
SUSE y Big Data
SUSE España
 
PDF
Introducción Evento SUSE CaaSP 2017
SUSE España
 
PDF
Defina su futuro con SUSE
SUSE España
 
PDF
SUSE Manager y Salt
SUSE España
 
PDF
Software Defined Datacenter
SUSE España
 
PDF
DevOps: Arquitectura, Estrategia y Modelo
SUSE España
 
PDF
Transformación Digital: Sistemas de Misión Crítica, SAP, Zero Downtime y High...
SUSE España
 
PDF
La Transformación Digital, por Arturo Gil
SUSE España
 
PDF
SUSE Expert Days 2017 LENOVO
SUSE España
 
PDF
SUSE Expert Days 2017 FUJITSU
SUSE España
 
PDF
SUSE Expert Days 2017 HPE
SUSE España
 
SUSE y Big Data
SUSE España
 
Introducción Evento SUSE CaaSP 2017
SUSE España
 
Defina su futuro con SUSE
SUSE España
 
SUSE Manager y Salt
SUSE España
 
Software Defined Datacenter
SUSE España
 
DevOps: Arquitectura, Estrategia y Modelo
SUSE España
 
Transformación Digital: Sistemas de Misión Crítica, SAP, Zero Downtime y High...
SUSE España
 
La Transformación Digital, por Arturo Gil
SUSE España
 
SUSE Expert Days 2017 LENOVO
SUSE España
 
SUSE Expert Days 2017 FUJITSU
SUSE España
 
SUSE Expert Days 2017 HPE
SUSE España
 

Recently uploaded (20)

PDF
PFAS Reporting Requirements 2026 Are You Submission Ready Certivo.pdf
Certivo Inc
 
PDF
Become an Agentblazer Champion Challenge
Dele Amefo
 
PDF
Bandai Playdia The Book - David Glotz
BluePanther6
 
PPTX
Role Of Python In Programing Language.pptx
jaykoshti048
 
PDF
Micromaid: A simple Mermaid-like chart generator for Pharo
ESUG
 
PDF
Protecting the Digital World Cyber Securit
dnthakkar16
 
PDF
Microsoft Teams Essentials; The pricing and the versions_PDF.pdf
Q-Advise
 
PPTX
Odoo Integration Services by Candidroot Solutions
CandidRoot Solutions Private Limited
 
DOCX
The Future of Smart Factories Why Embedded Analytics Leads the Way
Varsha Nayak
 
PDF
Build Multi-agent using Agent Development Kit
FadyIbrahim23
 
PPTX
AI-Ready Handoff: Auto-Summaries & Draft Emails from MQL to Slack in One Flow
bbedford2
 
PDF
Teaching Reproducibility and Embracing Variability: From Floating-Point Exper...
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
PPTX
Presentation of Computer CLASS 2 .pptx
darshilchaudhary558
 
PDF
49784907924775488180_LRN2959_Data_Pump_23ai.pdf
Abilash868456
 
PPTX
ConcordeApp: Engineering Global Impact & Unlocking Billions in Event ROI with AI
chastechaste14
 
PDF
49785682629390197565_LRN3014_Migrating_the_Beast.pdf
Abilash868456
 
PDF
Become an Agentblazer Champion Challenge Kickoff
Dele Amefo
 
PDF
Why Use Open Source Reporting Tools for Business Intelligence.pdf
Varsha Nayak
 
PPTX
Services offered by Dynamic Solutions in Pakistan
DaniyaalAdeemShibli1
 
PDF
Jenkins: An open-source automation server powering CI/CD Automation
SaikatBasu37
 
PFAS Reporting Requirements 2026 Are You Submission Ready Certivo.pdf
Certivo Inc
 
Become an Agentblazer Champion Challenge
Dele Amefo
 
Bandai Playdia The Book - David Glotz
BluePanther6
 
Role Of Python In Programing Language.pptx
jaykoshti048
 
Micromaid: A simple Mermaid-like chart generator for Pharo
ESUG
 
Protecting the Digital World Cyber Securit
dnthakkar16
 
Microsoft Teams Essentials; The pricing and the versions_PDF.pdf
Q-Advise
 
Odoo Integration Services by Candidroot Solutions
CandidRoot Solutions Private Limited
 
The Future of Smart Factories Why Embedded Analytics Leads the Way
Varsha Nayak
 
Build Multi-agent using Agent Development Kit
FadyIbrahim23
 
AI-Ready Handoff: Auto-Summaries & Draft Emails from MQL to Slack in One Flow
bbedford2
 
Teaching Reproducibility and Embracing Variability: From Floating-Point Exper...
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
Presentation of Computer CLASS 2 .pptx
darshilchaudhary558
 
49784907924775488180_LRN2959_Data_Pump_23ai.pdf
Abilash868456
 
ConcordeApp: Engineering Global Impact & Unlocking Billions in Event ROI with AI
chastechaste14
 
49785682629390197565_LRN3014_Migrating_the_Beast.pdf
Abilash868456
 
Become an Agentblazer Champion Challenge Kickoff
Dele Amefo
 
Why Use Open Source Reporting Tools for Business Intelligence.pdf
Varsha Nayak
 
Services offered by Dynamic Solutions in Pakistan
DaniyaalAdeemShibli1
 
Jenkins: An open-source automation server powering CI/CD Automation
SaikatBasu37
 

Casos de uso para aplicaciones tradicionales en un mundo de contenedores

  • 1. Juan Herrera Sales Engineer [email protected] Statefull apps on Kubernetes Use cases for traditional apps on the containerized world
  • 2. 2 ”State” is the question! What happens if we want to explore the benefits of containerization for already existing applications not really architected to be deployed on containers? And, if container native, what to do if some services in our app need to store state? ?
  • 3. 3 May I move ANY application to containers? • Even technically possible, not really practical in many cases. Short answer: NO • Containers have a stateless behaviour ”per definition” so persistent local storage (overlayFS) is lost during container’s destroy/create cycles. That local storage can’t be either shared with other containers. • Network visibility between containers is not usually possible.
  • 4. 4 Is that the end of the world? Kubernetes Volume Management and StatefulSets, to the rescue! Kubernetes provides all the required resources and services needed by containerized applications to overcome those limitations.
  • 5. 5 Dealing with state: Volume management Stateless container Stateful container SUSE Enterprise Storage RBD Pool, iSCSI Volume, NFS share , … External DB Object Store …
  • 6. 6 Why use Stateful Containers in traditional apps? Scale easier • Simplified deployment to scale faster • Less manual work More reliable • Repeatable and consistent declarative deployment config stored in git • User Kubernetes to monitor and maintain desired state
  • 7. 7 Volume management plugins Different volume plugins (+20) covering any possible storage need Remote storage • GCE Persistent Disk • AWS EBS • Azure File Storage • Azure Data Disk • Dell EMC • iSCSI • NFS • SES – Ceph RBD • SES – CephFS • FibreChannel • OpenStack Cinder • vSphere • ….. Ephemeral • Empty dir (tmpfs) • K8S API (Secret, ConfigMap, ..) • … Other • Host path Kubernetes node kubelet Container RT POD Volume
  • 8. 8 Persistent Volumes & Persistent Volume Claims Persistent Volume • First class cluster resources, comparable to Nodes • API captures de implementation details (NFS, iSCSI, RBD, …) • Can be provisioned statically or dinamically • Have capacity, access mode, storage class and reclaim policy Persistent Volume Claim • A request for storage • Includes size and access mode • Optionally includes a storage class and selectors
  • 9. 9 Static vs Dynamic Provisioning Static • Requires admin intervention! • Volumes are defined beforehand. Volume request may be less or equal the size of the volume so space may be wasted Dynamic • Based on classes of storage (Gold-Silver, Dev-Prod, …) • Abstracts user requests from implementation. Portable! • No manual intervention!
  • 10. 10 Example Persistent volume definition and claim for MySQL storage: https://kubernetes.io/docs/tutorials/stateful-application/mysql- wordpress-persistent-volume/
  • 11. 11 Last step … Stateful Sets Kubernetes feature that give us the required services to do real stateful app scaling like the one needed to set up database clusters. The 4 main features are: • Assign PersistentVolumeClaim for each Pod • Stable network identifier for Pods (predictable hostnames) • Ordered deployment (scheduled in order, safe from race conditions where a service is waiting for another one not ready. Predictable order solves that) • Double checking: running + ready (e.g. Swarm only running)
  • 12. 12 Is that enough? Two main patterns to deal with “real world” Example cluster management operations: • New member joining a MongoDB cluster … • Handle node failover, master promotion in a PostgreSQL DB • Dealing with software upgrades and patching Two patterns: • Bot / sidecar pattern (deals with each specific cluster constraints) • Operator (develop custom resource type)
  • 13. 13 Final notes on Stateful Apps 1 Remember that not all stateful applications scale nicely if their architecture was not designed for containerization. Always do extensive testing!!!
  • 15. 15 Real world examples from SUSE SUSE OpenStack Cloud • Control panel containerization lead to remove PostgreSQL (active- pasive) and deploy N-active-active MariaDB/Galera instead • Other services like Neutron, Cinder or RabbitMQ, where straight forward. SUSE Cloud Application Platform • Deal with CloudFoundry certification • All possible use cases in one product
  • 16. 16 SUSE Cloud Application Platform (CloudFoundry) SUSE CAP SUSE CaaS Platform SUSE Cloud Foundry Router SLE CC API SLE Router SLE Diego Logging SLE Diego SLESLECF Diego Diego CFSLE Diego DiegoSLE SLESLE UAA SLE CF Volume SLE SUSE Enterprise Storage (CEPH) Broker SLE Portus SLE Git SLE CI/CD SLE SLE SLE
  • 19. 1919 Unpublished Work of SUSE LLC. All Rights Reserved. This work is an unpublished work and contains confidential, proprietary and trade secret information of SUSE LLC. Access to this work is restricted to SUSE employees who have a need to know to perform tasks within the scope of their assignments. No part of this work may be practiced, performed, copied, distributed, revised, modified, translated, abridged, condensed, expanded, collected, or adapted without the prior written consent of SUSE. Any use or exploitation of this work without authorization could subject the perpetrator to criminal and civil liability. General Disclaimer This document is not to be construed as a promise by any participating company to develop, deliver, or market a product. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. SUSE makes no representations or warranties with respect to the contents of this document, and specifically disclaims any express or implied warranties of merchantability or fitness for any particular purpose. The development, release, and timing of features or functionality described for SUSE products remains at the sole discretion of SUSE. Further, SUSE reserves the right to revise this document and to make changes to its content, at any time, without obligation to notify any person or entity of such revisions or changes. All SUSE marks referenced in this presentation are trademarks or registered trademarks of Novell, Inc. in the United States and other countries. All third- party trademarks are the property of their respective owners.