The document provides an overview of new features in OpenEBS 1.3 including support for Kubernetes 1.16 APIs, enhancements like auto scaling of cStor pools and initial support for NDM prometheus metrics exporter, and bug fixes. It discusses using GitLab with OpenEBS for running GitLab and storing application data and using Litmus for injecting chaos in GitLab pipelines. The presentation covers use cases like using OpenEBS as persistent storage for GitLab, keeping CI data closer to reality with immediate access to failed environments, and practicing chaos engineering to increase resiliency from CI pipelines to production.
2024: Domino Containers - The Next Step. News from the Domino Container commu...
Use GitLab with Chaos Engineering to Harden your Applications + OpenEBS 1.3 New Features
1. Use GitLab with Chaos Engineering to Harden your Applications
+
OpenEBS 1.3 New Features
2. Your Presenters:
Philippe Theriault Uma Mukkara Brian Matheson
@phil_Theriault @uma_mukkara @brian_matheson
Philippe Theriault
CRO
MayaData Inc
Uma Mukkara
COO
MayaData Inc
Brian Matheson
Developer Advocate
MayaData Inc
3. Agenda
● Introduction
● Quick review of OpenEBS
● What’s new with 1.3 Release
● Cloud-native CI/CD for stateful applications & chaos
engineering
● Demo
● Q&A
5. The only
Cloud Native Storage
solution architected for
Cloud Native Workloads
Built on Kubernetes for Kubernetes
6. OpenEBS Enterprise Solves 2 Big Problems
Deploying and managing stateful
applications on Kubernetes is difficult
Stateful applications on Kubernetes
are not agile because data has gravity
7. The Problem with Stateful Apps & Storage
microservice
microservice microservice microservice
microservicemicroservice
INSIDE K8s
Very Agile
OUTSIDE K8s
Locked in place
8. Let’s Keep it in Kubernetes
microservice
microservice microservice microservice
microservicemicroservice
INSIDE K8s
Very Agile
11. No HA
Lock-in
No Snapshots
Simple, familiar
App granularity
K8S native
100% user space
DAS/Local PV OpenEBS CAS
K8s Node K8s Node
App AppApp
PV PV
App
PV
App App
Not agile
Lock-in
Incompatible
Snapshots
Storage Server
Vol Vol Vol
PV
CAS
Pod(s)
NAS/EBS
PV
K8s Node
PV
CAS
Pod(s)
App
PV PV
App
PV
App
CAS
Pod(s)
CAS
Pod(s)
Architecture Comparison
CAS
Pod(s)
12. + Simple
+ Teams are autonomous
+ Additive to underlying
systems or cloud volumes
or JBODs
+ Target Users:
○ SRE
○ App Developer
○ Storage Admin
OpenEBS Architecture
14. Your complete solution for building, testing, running, managing and
monitoring stateful applications on Kubernetes with data
migration, high availability, backup and disaster recovery.
15. A complete Data Agility Solution
STORE AND PROTECT VALIDATE AND HARDEN UNDERSTAND AND CONTROL
CONTAINER ATTACHED STORAGE CHAOS ENGINEERING DATA MIGRATION, HA, DR
16. All the features provided by a
Storage Admin
Delivered as Kubernetes-Native
Services
19. Overview of OpenEBS 1.3 Changes
● Support for Kubernetes 1.16 APIs
● Enhancements
○ Support for an initial version of NDM prometheus metrics
exporter - Details here
○ Auto Scaling of cStor Pools - Details here
○ Design for CSI driver for Jiva - Details here
● Bug fixes
● Local PV on top of ZFS pools -Details here
● OpenEBS on Digital Ocean Marketplace
28. ● Reliability is too important. Outages of services costs $$$
Reliability
29. Finding weaknesses is key
Failure testing in CI pipelines is not good enough
Failure testing breaks a system in some
preconceived way, but doesn’t explore the wide
open field of weird, unpredictable things that could
happen - Ali Basiri, Chaos Engineering Expert
Break things on purpose - In production
Find weaknesses
Fix them
Repeat the process
30. Failure testing vs Chaos testing
Failure testing in CI pipelines is not good enough
Break things on purpose - In production
● Find weaknesses
● Fix them
● Repeat the process
Failure testing stops at CI pipelines
Chaos testing extends to Pre-Prod and
Production environments
31. * Images and content authored by: Mark McBride, Turbine Labs
Chaos Engineering Loop
32. Practice chaos engineering to increase resiliency
Resiliency Achieved by
CI Pipelines
Functional
Tests
Failure Tests
+
Achieved by
Staging / Production
Good CI
Random
Chaos+
Chaos Engineering
33. ● My code is 1%. Rest is not controlled by me.
● Linux is the least dynamic stack
● Rest is all microservices, based - highly dynamic
Then, how to achieve Resilience ?
Cloud-Native environment
34. Cloud Native
APIs
POD Deployment
PVC Statefulset
SVC CRDs
For
Development
For Chaos Testing
Cloud Native
APIs
?
Cloud-native
Application
Cloud-Native Chaos Engineering
35. Cloud Native
APIs
POD Deployment
PVC Statefulset
SVC CRDs
For Chaos Testing
Cloud Native
APIs
Chaos
Engine
Chaos
Experiment
Chaos Result
New CRDs
Cloud-native
Application
For
Development
Cloud-Native Chaos Engineering
42. Development and CI pipelines
Convert failure tests into
Chaos Experiments
ChaosHub
Use Chaos Experiments in
Staging
Use Chaos Experiments in
Production
Chaos charts life cycle
43. ● GitHub Stars - 406 ( https://github.com/litmuschaos/litmus/stargazers )
● Contributors - 63 (https://github.com/litmuschaos/litmus/graphs/contributors )
● Slack - #litmus channel on kubernetes slack community (60 members)
○ https://kubernetes.slack.com/messages/CNXNB0ZTN
● Release cadence - 15th of every month
● Current release 0.7
● Community meetup -
○ Twice in a month https://docs.google.com/spreadsheets/d/15svGB99bDcSTkwAYttH1QzP5WJSb-dFKbPzl-
9WqmXM/edit#gid=1935377096
Community and releases
44. ● A simple tool (generate_chart.py) is developed for developer onboarding
● Convert the business logic in the failure test case into ansible and bootstrap it into a
litmus chaos experiment
● https://docs.litmuschaos.io/docs/next/devguide/
● https://github.com/litmuschaos/litmus/tree/master/contribute/developer_guide
Contributing to Chaos Charts
51. Let us RECAP common use cases
Use OpenEBS for running GitLab OnPrem
Use OpenEBS as storage for apps in GitLab pipelines
Use Litmus to inject chaos in pipelines
53. Roadmap for 1.4 and after
+ OpenEBS approach for K8S Autoscale for cStor, jiva, LocalPV
+ OpenEBS KUDO Operator
+ cStor Snapshot and Clone support using CSI
+ NDM [Fix] - Initial support for device topology
+ ARM builds for OpenEBS Jiva and Local PV.
+ Moving Velero Plugin support to Beta
+ Local PV - PV metrics
OpenEBS Public Release Planning
56. Why MayaData OpenEBS Enterprise Platform
OpenEBS Community OpenEBS Enterprise Platform
Support Self Up to 24 x 7
Performance enhancement X Yes
Bug / patches / updates X Priority and personalized
OpenEBS Director
Basic - 7 days logs / 3 nodes
SaaS
Advanced - Up to 13 months
SaaS and On-Premises
DMaaS, RBAC, Backup &
Migration
X Yes
You support the
development of OpenEBS
X Yes
57. Starting at $ 63/Month
➔ $ 63 per month
➔ Up to 10 hours of professional
assistance to set up OpenEBS
Enterprise Platform.
➔ Expert advice on how to deal with
Stateful Applications on Kubernetes
➔ Enterprise class support
➔ Yaml for most popular use cases
➔ Intro training
➔ Personalized ROI document
59. Get Started - Go to mayadata.io
+ Quick chat with our engineer about your use cases
+ We are on Slack and you can have a private channel
+ We will setup your Premium support and OpenEBS Director Account
+ We will show you the full potential and tune the performance
+ We will assist with your pilot or POC.
+ We will make you successful, we know storage and K8s very well!