SlideShare a Scribd company logo
1 of 19
Download to read offline
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
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

What's hot

What Is Kubernetes | Kubernetes Introduction | Kubernetes Tutorial For Beginn...
What Is Kubernetes | Kubernetes Introduction | Kubernetes Tutorial For Beginn...What Is Kubernetes | Kubernetes Introduction | Kubernetes Tutorial For Beginn...
What Is Kubernetes | Kubernetes Introduction | Kubernetes Tutorial For Beginn...Edureka!
 
Vs host clustering
Vs host clusteringVs host clustering
Vs host clusteringrickythekid
 
Virtual Server Host Clustering Step-by- Step Guide for ...
Virtual Server Host Clustering Step-by- Step Guide for ...Virtual Server Host Clustering Step-by- Step Guide for ...
Virtual Server Host Clustering Step-by- Step Guide for ...webhostingguy
 
Cluster management with Kubernetes
Cluster management with KubernetesCluster management with Kubernetes
Cluster management with KubernetesSatnam Singh
 
Mesos and Kubernetes ecosystem overview
Mesos and Kubernetes ecosystem overviewMesos and Kubernetes ecosystem overview
Mesos and Kubernetes ecosystem overviewKrishna-Kumar
 
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation SlidesKubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation SlidesSlideTeam
 
Monitoring microservices: Docker, Mesos and Kubernetes visibility at scale
Monitoring microservices: Docker, Mesos and Kubernetes visibility at scaleMonitoring microservices: Docker, Mesos and Kubernetes visibility at scale
Monitoring microservices: Docker, Mesos and Kubernetes visibility at scaleAlessandro Gallotta
 
Moving to Kubernetes - Tales from SoundCloud
Moving to Kubernetes - Tales from SoundCloudMoving to Kubernetes - Tales from SoundCloud
Moving to Kubernetes - Tales from SoundCloudTobias Schmidt
 
SUSE Container as a Service Platform
SUSE Container as a Service PlatformSUSE Container as a Service Platform
SUSE Container as a Service PlatformSUSE
 
Kubernetes 101 for Developers
Kubernetes 101 for DevelopersKubernetes 101 for Developers
Kubernetes 101 for DevelopersRoss Kukulinski
 
Multi-Container Apps spanning Docker, Mesos and OpenStack
Multi-Container Apps spanning Docker, Mesos and OpenStackMulti-Container Apps spanning Docker, Mesos and OpenStack
Multi-Container Apps spanning Docker, Mesos and OpenStackDocker, Inc.
 
Building Clustered Applications with Kubernetes and Docker
Building Clustered Applications with Kubernetes and DockerBuilding Clustered Applications with Kubernetes and Docker
Building Clustered Applications with Kubernetes and DockerSteve Watt
 
Kubernetes and CoreOS @ Athens Docker meetup
Kubernetes and CoreOS @ Athens Docker meetupKubernetes and CoreOS @ Athens Docker meetup
Kubernetes and CoreOS @ Athens Docker meetupMist.io
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes IntroductionPeng Xiao
 
Open stack solidfire-mavenspire-meetup
Open stack solidfire-mavenspire-meetupOpen stack solidfire-mavenspire-meetup
Open stack solidfire-mavenspire-meetupGene Dubensky
 
Mesos vs kubernetes comparison
Mesos vs kubernetes comparisonMesos vs kubernetes comparison
Mesos vs kubernetes comparisonKrishna-Kumar
 
Doing Big Data for Real with Docker
Doing Big Data for Real with Docker  Doing Big Data for Real with Docker
Doing Big Data for Real with Docker Mesosphere Inc.
 
Crossing the Streams Mesos <> Kubernetes
Crossing the Streams Mesos <> KubernetesCrossing the Streams Mesos <> Kubernetes
Crossing the Streams Mesos <> KubernetesTimothy St. Clair
 
Highly scalable caching service on cloud - Redis
Highly scalable caching service on cloud - RedisHighly scalable caching service on cloud - Redis
Highly scalable caching service on cloud - RedisKrishna-Kumar
 

What's hot (20)

What Is Kubernetes | Kubernetes Introduction | Kubernetes Tutorial For Beginn...
What Is Kubernetes | Kubernetes Introduction | Kubernetes Tutorial For Beginn...What Is Kubernetes | Kubernetes Introduction | Kubernetes Tutorial For Beginn...
What Is Kubernetes | Kubernetes Introduction | Kubernetes Tutorial For Beginn...
 
Vs host clustering
Vs host clusteringVs host clustering
Vs host clustering
 
Virtual Server Host Clustering Step-by- Step Guide for ...
Virtual Server Host Clustering Step-by- Step Guide for ...Virtual Server Host Clustering Step-by- Step Guide for ...
Virtual Server Host Clustering Step-by- Step Guide for ...
 
Cluster management with Kubernetes
Cluster management with KubernetesCluster management with Kubernetes
Cluster management with Kubernetes
 
Mesos and Kubernetes ecosystem overview
Mesos and Kubernetes ecosystem overviewMesos and Kubernetes ecosystem overview
Mesos and Kubernetes ecosystem overview
 
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation SlidesKubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
 
Monitoring microservices: Docker, Mesos and Kubernetes visibility at scale
Monitoring microservices: Docker, Mesos and Kubernetes visibility at scaleMonitoring microservices: Docker, Mesos and Kubernetes visibility at scale
Monitoring microservices: Docker, Mesos and Kubernetes visibility at scale
 
Moving to Kubernetes - Tales from SoundCloud
Moving to Kubernetes - Tales from SoundCloudMoving to Kubernetes - Tales from SoundCloud
Moving to Kubernetes - Tales from SoundCloud
 
SUSE Container as a Service Platform
SUSE Container as a Service PlatformSUSE Container as a Service Platform
SUSE Container as a Service Platform
 
Kubernetes 101 for Developers
Kubernetes 101 for DevelopersKubernetes 101 for Developers
Kubernetes 101 for Developers
 
Multi-Container Apps spanning Docker, Mesos and OpenStack
Multi-Container Apps spanning Docker, Mesos and OpenStackMulti-Container Apps spanning Docker, Mesos and OpenStack
Multi-Container Apps spanning Docker, Mesos and OpenStack
 
Building Clustered Applications with Kubernetes and Docker
Building Clustered Applications with Kubernetes and DockerBuilding Clustered Applications with Kubernetes and Docker
Building Clustered Applications with Kubernetes and Docker
 
Kubernetes and CoreOS @ Athens Docker meetup
Kubernetes and CoreOS @ Athens Docker meetupKubernetes and CoreOS @ Athens Docker meetup
Kubernetes and CoreOS @ Athens Docker meetup
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
 
Open stack solidfire-mavenspire-meetup
Open stack solidfire-mavenspire-meetupOpen stack solidfire-mavenspire-meetup
Open stack solidfire-mavenspire-meetup
 
Mesos vs kubernetes comparison
Mesos vs kubernetes comparisonMesos vs kubernetes comparison
Mesos vs kubernetes comparison
 
Doing Big Data for Real with Docker
Doing Big Data for Real with Docker  Doing Big Data for Real with Docker
Doing Big Data for Real with Docker
 
Kubernetes Presentation
Kubernetes PresentationKubernetes Presentation
Kubernetes Presentation
 
Crossing the Streams Mesos <> Kubernetes
Crossing the Streams Mesos <> KubernetesCrossing the Streams Mesos <> Kubernetes
Crossing the Streams Mesos <> Kubernetes
 
Highly scalable caching service on cloud - Redis
Highly scalable caching service on cloud - RedisHighly scalable caching service on cloud - Redis
Highly scalable caching service on cloud - Redis
 

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

Persistent storage in Docker
Persistent storage in DockerPersistent storage in Docker
Persistent storage in DockerCheryl Hung
 
Productos de SUSE basados en CaaSP
Productos de SUSE basados en CaaSPProductos de SUSE basados en CaaSP
Productos de SUSE basados en CaaSPSUSE España
 
Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications OpenEBS
 
Kubernetes Basics - ICP Workshop Batch II
Kubernetes Basics - ICP Workshop Batch IIKubernetes Basics - ICP Workshop Batch II
Kubernetes Basics - ICP Workshop Batch IIPT Datacomm Diangraha
 
DCEU 18: Use Cases and Practical Solutions for Docker Container Storage on Sw...
DCEU 18: Use Cases and Practical Solutions for Docker Container Storage on Sw...DCEU 18: Use Cases and Practical Solutions for Docker Container Storage on Sw...
DCEU 18: Use Cases and Practical Solutions for Docker Container Storage on Sw...Docker, Inc.
 
State of the Container Ecosystem
State of the Container EcosystemState of the Container Ecosystem
State of the Container EcosystemVinay Rao
 
modern-guide-to-container-monitoring-and-orchestration.pdf
modern-guide-to-container-monitoring-and-orchestration.pdfmodern-guide-to-container-monitoring-and-orchestration.pdf
modern-guide-to-container-monitoring-and-orchestration.pdfGuillaume Kpotufe
 
Rancher Rodeo 13 mai 2022
Rancher Rodeo 13 mai 2022Rancher Rodeo 13 mai 2022
Rancher Rodeo 13 mai 2022SUSE
 
prodops.io k8s presentation
prodops.io k8s presentationprodops.io k8s presentation
prodops.io k8s presentationProdops.io
 
Solving k8s persistent workloads using k8s DevOps style
Solving k8s persistent workloads using k8s DevOps styleSolving k8s persistent workloads using k8s DevOps style
Solving k8s persistent workloads using k8s DevOps styleMayaData
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to KubernetesVishal Biyani
 
A complete Open Source cloud: Storage, Virt, IaaS, PaaS
A complete Open Source cloud: Storage, Virt, IaaS, PaaSA complete Open Source cloud: Storage, Virt, IaaS, PaaS
A complete Open Source cloud: Storage, Virt, IaaS, PaaSDave Neary
 
Containerized Hadoop beyond Kubernetes
Containerized Hadoop beyond KubernetesContainerized Hadoop beyond Kubernetes
Containerized Hadoop beyond KubernetesDataWorks Summit
 
Cloud Native Dünyada CI/CD
Cloud Native Dünyada CI/CDCloud Native Dünyada CI/CD
Cloud Native Dünyada CI/CDMustafa AKIN
 
Open Source Summit NorthAmerica 2017 Stateful Apps in Containers
Open Source Summit NorthAmerica 2017 Stateful Apps in ContainersOpen Source Summit NorthAmerica 2017 Stateful Apps in Containers
Open Source Summit NorthAmerica 2017 Stateful Apps in ContainersSteve Wong
 
Why kubernetes for Serverless (FaaS)
Why kubernetes for Serverless (FaaS)Why kubernetes for Serverless (FaaS)
Why kubernetes for Serverless (FaaS)Krishna-Kumar
 
Kubernetes for Serverless - Serverless Summit 2017 - Krishna Kumar
Kubernetes for Serverless  - Serverless Summit 2017 - Krishna KumarKubernetes for Serverless  - Serverless Summit 2017 - Krishna Kumar
Kubernetes for Serverless - Serverless Summit 2017 - Krishna KumarCodeOps Technologies LLP
 
Open stack meetup 2014 11-13 - 101 + high availability
Open stack meetup 2014 11-13 - 101 + high availabilityOpen stack meetup 2014 11-13 - 101 + high availability
Open stack meetup 2014 11-13 - 101 + high availabilityRick Ashford
 
Docker-N-Beyond
Docker-N-BeyondDocker-N-Beyond
Docker-N-Beyondsantosh007
 

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

Persistent storage in Docker
Persistent storage in DockerPersistent storage in Docker
Persistent storage in Docker
 
Productos de SUSE basados en CaaSP
Productos de SUSE basados en CaaSPProductos de SUSE basados en CaaSP
Productos de SUSE basados en CaaSP
 
Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications
 
Kubernetes Basics - ICP Workshop Batch II
Kubernetes Basics - ICP Workshop Batch IIKubernetes Basics - ICP Workshop Batch II
Kubernetes Basics - ICP Workshop Batch II
 
DCEU 18: Use Cases and Practical Solutions for Docker Container Storage on Sw...
DCEU 18: Use Cases and Practical Solutions for Docker Container Storage on Sw...DCEU 18: Use Cases and Practical Solutions for Docker Container Storage on Sw...
DCEU 18: Use Cases and Practical Solutions for Docker Container Storage on Sw...
 
State of the Container Ecosystem
State of the Container EcosystemState of the Container Ecosystem
State of the Container Ecosystem
 
modern-guide-to-container-monitoring-and-orchestration.pdf
modern-guide-to-container-monitoring-and-orchestration.pdfmodern-guide-to-container-monitoring-and-orchestration.pdf
modern-guide-to-container-monitoring-and-orchestration.pdf
 
Rancher Rodeo 13 mai 2022
Rancher Rodeo 13 mai 2022Rancher Rodeo 13 mai 2022
Rancher Rodeo 13 mai 2022
 
prodops.io k8s presentation
prodops.io k8s presentationprodops.io k8s presentation
prodops.io k8s presentation
 
Solving k8s persistent workloads using k8s DevOps style
Solving k8s persistent workloads using k8s DevOps styleSolving k8s persistent workloads using k8s DevOps style
Solving k8s persistent workloads using k8s DevOps style
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
 
A complete Open Source cloud: Storage, Virt, IaaS, PaaS
A complete Open Source cloud: Storage, Virt, IaaS, PaaSA complete Open Source cloud: Storage, Virt, IaaS, PaaS
A complete Open Source cloud: Storage, Virt, IaaS, PaaS
 
Containerized Hadoop beyond Kubernetes
Containerized Hadoop beyond KubernetesContainerized Hadoop beyond Kubernetes
Containerized Hadoop beyond Kubernetes
 
Cloud Native Dünyada CI/CD
Cloud Native Dünyada CI/CDCloud Native Dünyada CI/CD
Cloud Native Dünyada CI/CD
 
Open Source Summit NorthAmerica 2017 Stateful Apps in Containers
Open Source Summit NorthAmerica 2017 Stateful Apps in ContainersOpen Source Summit NorthAmerica 2017 Stateful Apps in Containers
Open Source Summit NorthAmerica 2017 Stateful Apps in Containers
 
Why kubernetes for Serverless (FaaS)
Why kubernetes for Serverless (FaaS)Why kubernetes for Serverless (FaaS)
Why kubernetes for Serverless (FaaS)
 
Kubernetes for Serverless - Serverless Summit 2017 - Krishna Kumar
Kubernetes for Serverless  - Serverless Summit 2017 - Krishna KumarKubernetes for Serverless  - Serverless Summit 2017 - Krishna Kumar
Kubernetes for Serverless - Serverless Summit 2017 - Krishna Kumar
 
Open stack meetup 2014 11-13 - 101 + high availability
Open stack meetup 2014 11-13 - 101 + high availabilityOpen stack meetup 2014 11-13 - 101 + high availability
Open stack meetup 2014 11-13 - 101 + high availability
 
Managing containers at scale
Managing containers at scale          Managing containers at scale
Managing containers at scale
 
Docker-N-Beyond
Docker-N-BeyondDocker-N-Beyond
Docker-N-Beyond
 

More from SUSE España

Introducción a Microservicios, SUSE CaaS Platform y Kubernetes
Introducción a Microservicios, SUSE CaaS Platform y KubernetesIntroducción a Microservicios, SUSE CaaS Platform y Kubernetes
Introducción a Microservicios, SUSE CaaS Platform y KubernetesSUSE España
 
Introducción Evento SUSE CaaSP 2017
Introducción Evento SUSE CaaSP 2017Introducción Evento SUSE CaaSP 2017
Introducción Evento SUSE CaaSP 2017SUSE España
 
Defina su futuro con SUSE
Defina su futuro con SUSEDefina su futuro con SUSE
Defina su futuro con SUSESUSE España
 
SUSE Manager y Salt
SUSE Manager y SaltSUSE Manager y Salt
SUSE Manager y SaltSUSE España
 
Software Defined Datacenter
Software Defined DatacenterSoftware Defined Datacenter
Software Defined DatacenterSUSE España
 
DevOps: Arquitectura, Estrategia y Modelo
DevOps: Arquitectura, Estrategia y ModeloDevOps: Arquitectura, Estrategia y Modelo
DevOps: Arquitectura, Estrategia y ModeloSUSE España
 
Transformación Digital: Sistemas de Misión Crítica, SAP, Zero Downtime y High...
Transformación Digital: Sistemas de Misión Crítica, SAP, Zero Downtime y High...Transformación Digital: Sistemas de Misión Crítica, SAP, Zero Downtime y High...
Transformación Digital: Sistemas de Misión Crítica, SAP, Zero Downtime y High...SUSE España
 
La Transformación Digital, por Arturo Gil
La Transformación Digital, por Arturo GilLa Transformación Digital, por Arturo Gil
La Transformación Digital, por Arturo GilSUSE España
 
SUSE Expert Days 2017 LENOVO
SUSE Expert Days 2017 LENOVOSUSE Expert Days 2017 LENOVO
SUSE Expert Days 2017 LENOVOSUSE España
 
SUSE Expert Days 2017 FUJITSU
SUSE Expert Days 2017 FUJITSUSUSE Expert Days 2017 FUJITSU
SUSE Expert Days 2017 FUJITSUSUSE España
 
SUSE Expert Days 2017 HPE
SUSE Expert Days 2017 HPESUSE Expert Days 2017 HPE
SUSE Expert Days 2017 HPESUSE España
 

More from SUSE España (12)

SUSE y Big Data
SUSE y Big DataSUSE y Big Data
SUSE y Big Data
 
Introducción a Microservicios, SUSE CaaS Platform y Kubernetes
Introducción a Microservicios, SUSE CaaS Platform y KubernetesIntroducción a Microservicios, SUSE CaaS Platform y Kubernetes
Introducción a Microservicios, SUSE CaaS Platform y Kubernetes
 
Introducción Evento SUSE CaaSP 2017
Introducción Evento SUSE CaaSP 2017Introducción Evento SUSE CaaSP 2017
Introducción Evento SUSE CaaSP 2017
 
Defina su futuro con SUSE
Defina su futuro con SUSEDefina su futuro con SUSE
Defina su futuro con SUSE
 
SUSE Manager y Salt
SUSE Manager y SaltSUSE Manager y Salt
SUSE Manager y Salt
 
Software Defined Datacenter
Software Defined DatacenterSoftware Defined Datacenter
Software Defined Datacenter
 
DevOps: Arquitectura, Estrategia y Modelo
DevOps: Arquitectura, Estrategia y ModeloDevOps: Arquitectura, Estrategia y Modelo
DevOps: Arquitectura, Estrategia y Modelo
 
Transformación Digital: Sistemas de Misión Crítica, SAP, Zero Downtime y High...
Transformación Digital: Sistemas de Misión Crítica, SAP, Zero Downtime y High...Transformación Digital: Sistemas de Misión Crítica, SAP, Zero Downtime y High...
Transformación Digital: Sistemas de Misión Crítica, SAP, Zero Downtime y High...
 
La Transformación Digital, por Arturo Gil
La Transformación Digital, por Arturo GilLa Transformación Digital, por Arturo Gil
La Transformación Digital, por Arturo Gil
 
SUSE Expert Days 2017 LENOVO
SUSE Expert Days 2017 LENOVOSUSE Expert Days 2017 LENOVO
SUSE Expert Days 2017 LENOVO
 
SUSE Expert Days 2017 FUJITSU
SUSE Expert Days 2017 FUJITSUSUSE Expert Days 2017 FUJITSU
SUSE Expert Days 2017 FUJITSU
 
SUSE Expert Days 2017 HPE
SUSE Expert Days 2017 HPESUSE Expert Days 2017 HPE
SUSE Expert Days 2017 HPE
 

Recently uploaded

SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jNeo4j
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencessuser9e7c64
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...OnePlan Solutions
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLionel Briand
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shardsChristopher Curtin
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsJean Silva
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...Bert Jan Schrijver
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldRoberto Pérez Alcolea
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...OnePlan Solutions
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxRTS corp
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?Alexandre Beguel
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITmanoharjgpsolutions
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingShane Coughlan
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonApplitools
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 

Recently uploaded (20)

SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conference
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero results
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh IT
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 

Casos de uso para aplicaciones tradicionales en un mundo de contenedores

  • 1. Juan Herrera Sales Engineer juan.herrera@suse.com 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
  • 18.
  • 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.