SlideShare a Scribd company logo
1 of 27
Download to read offline
Dinesh Majrekar
@DMajrekar
@CivoCloud
Evaluating Cloud Native
Storage Vendors
Dok Talks #147
1st September, 2022
@CivoCloud
Dinesh Majrekar
CTO @ Civo
• 15 years experience in the web hosting industry
• Developer, System Architect, DevOps Engineer
• Lead Architect for the CivoStack platform
@CivoCloud
Civo
• The Cloud Native Service Provider
• Focused on delivering Kubernetes Clusters
• Simplified developer experience
• Currently hosting over 300TB of end user data across 3
geographic regions
@CivoCloud
Why are we migrating?
● Contract was up for renewal, with a price increase
● Experiencing some outages with the current provider
● Allowed us an opportunity to review other offerings in the market
to check if renewal price was justified
@CivoCloud
Mayastor
● Evaluation in Summer 2021
● Decided to move to Mayastor from
OpenEBS with support from DataCore (then
Mayastor)
@CivoCloud
What were we looking for?
● A partnership where we can grow together
● Enterprise support options
● Open Source / Avoid vendor lock-In
● Underlying technology
● Performance
● Scalability and durability
@CivoCloud
Performance Testing
● DD
○ Simple to understand
○ Non representative real world results
● FIO
○ Lots of options
○ Lots of output information
@CivoCloud
Demo Environment
@CivoCloud
Performance Testing - FIO
● Time Based for demo
○ --time-based --runtime=10
● Impact of Block size
○ --bs=4k / --bs=64k
● Sequential Read vs Random read
○ --rw=read / --rw=randread
○ --rw=write / --rw=randwrite
@CivoCloud
Performance Testing - KBench
● Kubernetes Cluster on these nodes
● https://github.com/yasker/kbench
● Quick Testing
● Example of how replication can be tested
○ 1 Replica
○ 2 Replicas
@CivoCloud
Demo!!
Demo Commands
@CivoCloud
sudo dd if=/dev/zero of=/volume/testfile bs=10G
count=1 oflag=direct
sudo fio --name=demo --filename=/volume/testfile
--direct=1 --size=10GB --bs=64k --ioengine=libaio
--iodepth=64 --runtime=10 --time_based
--group_reporting --eta-newline=1 --numjobs=4
--readwrite=read
@CivoCloud
Demo Definitions - PVC
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: ms-volume-claim
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20Gi
storageClassName: ms-xfs-1-replica-local
# storageClassName: ms-xfs-2-replicas-local
apiVersion: batch/v1
kind: Job
metadata:
name: kbench
spec:
template:
metadata:
labels:
kbench: fio
spec:
containers:
- name: kbench
image: yasker/kbench:latest
imagePullPolicy: Always
env:
- name: QUICK_MODE
value: "1"
- name: FILE_NAME
value: "/volume/test"
- name: SIZE
value: "10G" # must be at least 10% smaller than the PVC size
volumeMounts:
- name: ms-volume
mountPath: /volume/
restartPolicy: Never
volumes:
- name: ms-volume
persistentVolumeClaim:
claimName: ms-volume-claim
@CivoCloud
Demo Definitions - Job
@CivoCloud
What can influence the results?
● Hardware
● CPU Usage
● Replication
● Your usage profile, reads vs writes, block sizes
@CivoCloud
Civo Use Case
● Multi Tenant Public Cloud Environment
● Bare Metal Deployment Stack
● Hyper Converged Hardware already in place
● Day One Deployment of > 2000 PVC, 300TB of Raw Storage
@CivoCloud
What was important to us?
● Installation and integration with our existing deployment pipelines
● Comparing speed of Cluster launches
● Evaluating performance loss compared to raw disk access
● Day 2 Operations
○ Monitoring
○ Upgrades
● Commercials
@CivoCloud
Thoughts Are From
Summer 2021
Projects have moved on since!!!!!
@CivoCloud
Evaluation - Ondat
● Well understood performance profile
● Closed Source
● Support process well known
● Pricing Structure under change
@CivoCloud
Evaluation - Longhorn
● Single Pod per PVC
● Team Experience with Longhorn through testing
● Backed by Rancher / SUSE
● Would fit in well with Civo’s k3s usage
@CivoCloud
Evaluation - Rook / Ceph
● Previous Team Experience with OpenStack
● Size of Ceph Install small
● HCI not the ideal Ceph deployment pattern
● Mature Stack, great community support
● Proven at scale
@CivoCloud
Evaluation - OpenEBS
● Multiple Deployment Drivers
● zfs based options are well proven
● Slow performance
● Feature rich
@CivoCloud
Evaluation - Mayastor
● New project - in beta (now progressed to v1.x)
● Commercial Support available from DataCore (Mayadata)
● Lots of features on the roadmap
● Impressive Performance
● Designed for HCI
@CivoCloud
Why we choose Mayastor?
● OpenSource
● Commercial Support
● Engagement from DataCore, technical and commercial
● Potential Development Opportunities
○ NVMe over TCP / RDMA
@CivoCloud
Mayastor - One year on
● Smooth transition between Mayadata and Datacore
● Delays with first stable release
● Stability of the software has been excellent
● Still missing some features, eg. Snapshots
@CivoCloud
Summary
● Tailor your evaluation to your specific use case
● Performance is key, but performance isn’t everything
● Try and find a partner to support your growth, not just a solution
● Design for change
@CivoCloud
Learn More
● Learn more with our free Academy - civo.com/academy
● Meet us at KubeCon NA
● Join us in person at Civo Navigate - civo.com/navigate
● Reach out on the Civo Community Slack channel
Questions?

More Related Content

Similar to Evaluating Cloud Native Storage Vendors - DoK Talks #147

DevOps for TYPO3 Teams and Projects
DevOps for TYPO3 Teams and ProjectsDevOps for TYPO3 Teams and Projects
DevOps for TYPO3 Teams and Projects
Fedir RYKHTIK
 

Similar to Evaluating Cloud Native Storage Vendors - DoK Talks #147 (20)

Container orchestration and microservices world
Container orchestration and microservices worldContainer orchestration and microservices world
Container orchestration and microservices world
 
Containerizing MongoDB with kubernetes
Containerizing MongoDB with kubernetesContainerizing MongoDB with kubernetes
Containerizing MongoDB with kubernetes
 
2 万林涛
2 万林涛2 万林涛
2 万林涛
 
Where should I run my code? Serverless, Containers, Virtual Machines and more
Where should I run my code? Serverless, Containers, Virtual Machines and moreWhere should I run my code? Serverless, Containers, Virtual Machines and more
Where should I run my code? Serverless, Containers, Virtual Machines and more
 
Kubernetes basics and hands on exercise
Kubernetes basics and hands on exerciseKubernetes basics and hands on exercise
Kubernetes basics and hands on exercise
 
DevOps for TYPO3 Teams and Projects
DevOps for TYPO3 Teams and ProjectsDevOps for TYPO3 Teams and Projects
DevOps for TYPO3 Teams and Projects
 
Kubernetes at (Organizational) Scale
Kubernetes at (Organizational) ScaleKubernetes at (Organizational) Scale
Kubernetes at (Organizational) Scale
 
Introduction to PaaS and Heroku
Introduction to PaaS and HerokuIntroduction to PaaS and Heroku
Introduction to PaaS and Heroku
 
OpenEBS hangout #4
OpenEBS hangout #4OpenEBS hangout #4
OpenEBS hangout #4
 
Promise of DevOps
Promise of DevOpsPromise of DevOps
Promise of DevOps
 
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
 
Webinar- Tea for the Tillerman
Webinar- Tea for the TillermanWebinar- Tea for the Tillerman
Webinar- Tea for the Tillerman
 
Pivotal Container Service Overview
Pivotal Container Service Overview Pivotal Container Service Overview
Pivotal Container Service Overview
 
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
 
DevOps Days Boston 2017: Real-world Kubernetes for DevOps
DevOps Days Boston 2017: Real-world Kubernetes for DevOpsDevOps Days Boston 2017: Real-world Kubernetes for DevOps
DevOps Days Boston 2017: Real-world Kubernetes for DevOps
 
Kubernetes Forum Seoul 2019: Re-architecting Data Platform with Kubernetes
Kubernetes Forum Seoul 2019: Re-architecting Data Platform with KubernetesKubernetes Forum Seoul 2019: Re-architecting Data Platform with Kubernetes
Kubernetes Forum Seoul 2019: Re-architecting Data Platform with Kubernetes
 
[20200720]cloud native develoment - Nelson Lin
[20200720]cloud native develoment - Nelson Lin[20200720]cloud native develoment - Nelson Lin
[20200720]cloud native develoment - Nelson Lin
 
MongoDB World 2018: Partner Talk - Red Hat: Deploying to Enterprise Kubernetes
MongoDB World 2018: Partner Talk - Red Hat: Deploying to Enterprise KubernetesMongoDB World 2018: Partner Talk - Red Hat: Deploying to Enterprise Kubernetes
MongoDB World 2018: Partner Talk - Red Hat: Deploying to Enterprise Kubernetes
 
Sprint 45 review
Sprint 45 reviewSprint 45 review
Sprint 45 review
 
DevConf 2017 - Realistic Container Platform Simulations
DevConf 2017 - Realistic Container Platform SimulationsDevConf 2017 - Realistic Container Platform Simulations
DevConf 2017 - Realistic Container Platform Simulations
 

More from DoKC

The Kubernetes Native Database
The Kubernetes Native DatabaseThe Kubernetes Native Database
The Kubernetes Native Database
DoKC
 
Overcoming challenges with protecting and migrating data in multi-cloud K8s e...
Overcoming challenges with protecting and migrating data in multi-cloud K8s e...Overcoming challenges with protecting and migrating data in multi-cloud K8s e...
Overcoming challenges with protecting and migrating data in multi-cloud K8s e...
DoKC
 
We will Dok You! - The journey to adopt stateful workloads on k8s
We will Dok You! - The journey to adopt stateful workloads on k8sWe will Dok You! - The journey to adopt stateful workloads on k8s
We will Dok You! - The journey to adopt stateful workloads on k8s
DoKC
 
Leveraging Running Stateful Workloads on Kubernetes for the Benefit of Develo...
Leveraging Running Stateful Workloads on Kubernetes for the Benefit of Develo...Leveraging Running Stateful Workloads on Kubernetes for the Benefit of Develo...
Leveraging Running Stateful Workloads on Kubernetes for the Benefit of Develo...
DoKC
 
Why run Postgres in Kubernetes?
Why run Postgres in Kubernetes?Why run Postgres in Kubernetes?
Why run Postgres in Kubernetes?
DoKC
 

More from DoKC (20)

Distributed Vector Databases - What, Why, and How
Distributed Vector Databases - What, Why, and HowDistributed Vector Databases - What, Why, and How
Distributed Vector Databases - What, Why, and How
 
Is It Safe? Security Hardening for Databases Using Kubernetes Operators
Is It Safe? Security Hardening for Databases Using Kubernetes OperatorsIs It Safe? Security Hardening for Databases Using Kubernetes Operators
Is It Safe? Security Hardening for Databases Using Kubernetes Operators
 
Stop Worrying and Keep Querying, Using Automated Multi-Region Disaster Recovery
Stop Worrying and Keep Querying, Using Automated Multi-Region Disaster RecoveryStop Worrying and Keep Querying, Using Automated Multi-Region Disaster Recovery
Stop Worrying and Keep Querying, Using Automated Multi-Region Disaster Recovery
 
Transforming Data Processing with Kubernetes: Journey Towards a Self-Serve Da...
Transforming Data Processing with Kubernetes: Journey Towards a Self-Serve Da...Transforming Data Processing with Kubernetes: Journey Towards a Self-Serve Da...
Transforming Data Processing with Kubernetes: Journey Towards a Self-Serve Da...
 
The State of Stateful on Kubernetes
The State of Stateful on KubernetesThe State of Stateful on Kubernetes
The State of Stateful on Kubernetes
 
Colocating Data Workloads and Web Services on Kubernetes to Improve Resource ...
Colocating Data Workloads and Web Services on Kubernetes to Improve Resource ...Colocating Data Workloads and Web Services on Kubernetes to Improve Resource ...
Colocating Data Workloads and Web Services on Kubernetes to Improve Resource ...
 
Make Your Kafka Cluster Production-Ready
Make Your Kafka Cluster Production-ReadyMake Your Kafka Cluster Production-Ready
Make Your Kafka Cluster Production-Ready
 
Dynamic Large Scale Spark on Kubernetes: Empowering the Community with Argo W...
Dynamic Large Scale Spark on Kubernetes: Empowering the Community with Argo W...Dynamic Large Scale Spark on Kubernetes: Empowering the Community with Argo W...
Dynamic Large Scale Spark on Kubernetes: Empowering the Community with Argo W...
 
Run PostgreSQL in Warp Speed Using NVMe/TCP in the Cloud
Run PostgreSQL in Warp Speed Using NVMe/TCP in the CloudRun PostgreSQL in Warp Speed Using NVMe/TCP in the Cloud
Run PostgreSQL in Warp Speed Using NVMe/TCP in the Cloud
 
The Kubernetes Native Database
The Kubernetes Native DatabaseThe Kubernetes Native Database
The Kubernetes Native Database
 
ING Data Services hosted on ICHP DoK Amsterdam 2023
ING Data Services hosted on ICHP DoK Amsterdam 2023ING Data Services hosted on ICHP DoK Amsterdam 2023
ING Data Services hosted on ICHP DoK Amsterdam 2023
 
StatefulSets in K8s - DoK Talks #154
StatefulSets in K8s - DoK Talks #154StatefulSets in K8s - DoK Talks #154
StatefulSets in K8s - DoK Talks #154
 
Running PostgreSQL in Kubernetes: from day 0 to day 2 with CloudNativePG - Do...
Running PostgreSQL in Kubernetes: from day 0 to day 2 with CloudNativePG - Do...Running PostgreSQL in Kubernetes: from day 0 to day 2 with CloudNativePG - Do...
Running PostgreSQL in Kubernetes: from day 0 to day 2 with CloudNativePG - Do...
 
Analytics with Apache Superset and ClickHouse - DoK Talks #151
Analytics with Apache Superset and ClickHouse - DoK Talks #151Analytics with Apache Superset and ClickHouse - DoK Talks #151
Analytics with Apache Superset and ClickHouse - DoK Talks #151
 
Overcoming challenges with protecting and migrating data in multi-cloud K8s e...
Overcoming challenges with protecting and migrating data in multi-cloud K8s e...Overcoming challenges with protecting and migrating data in multi-cloud K8s e...
Overcoming challenges with protecting and migrating data in multi-cloud K8s e...
 
Kubernetes Cluster Upgrade Strategies and Data: Best Practices for your State...
Kubernetes Cluster Upgrade Strategies and Data: Best Practices for your State...Kubernetes Cluster Upgrade Strategies and Data: Best Practices for your State...
Kubernetes Cluster Upgrade Strategies and Data: Best Practices for your State...
 
We will Dok You! - The journey to adopt stateful workloads on k8s
We will Dok You! - The journey to adopt stateful workloads on k8sWe will Dok You! - The journey to adopt stateful workloads on k8s
We will Dok You! - The journey to adopt stateful workloads on k8s
 
Mastering MongoDB on Kubernetes, the power of operators
Mastering MongoDB on Kubernetes, the power of operators Mastering MongoDB on Kubernetes, the power of operators
Mastering MongoDB on Kubernetes, the power of operators
 
Leveraging Running Stateful Workloads on Kubernetes for the Benefit of Develo...
Leveraging Running Stateful Workloads on Kubernetes for the Benefit of Develo...Leveraging Running Stateful Workloads on Kubernetes for the Benefit of Develo...
Leveraging Running Stateful Workloads on Kubernetes for the Benefit of Develo...
 
Why run Postgres in Kubernetes?
Why run Postgres in Kubernetes?Why run Postgres in Kubernetes?
Why run Postgres in Kubernetes?
 

Recently uploaded

Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 

Recently uploaded (20)

%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
WSO2Con2024 - Hello Choreo Presentation - Kanchana
WSO2Con2024 - Hello Choreo Presentation - KanchanaWSO2Con2024 - Hello Choreo Presentation - Kanchana
WSO2Con2024 - Hello Choreo Presentation - Kanchana
 
WSO2CON 2024 - Lessons from the Field: Legacy Platforms – It's Time to Let Go...
WSO2CON 2024 - Lessons from the Field: Legacy Platforms – It's Time to Let Go...WSO2CON 2024 - Lessons from the Field: Legacy Platforms – It's Time to Let Go...
WSO2CON 2024 - Lessons from the Field: Legacy Platforms – It's Time to Let Go...
 
WSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
WSO2CON2024 - Why Should You Consider Ballerina for Your Next IntegrationWSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
WSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
Evolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI EraEvolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI Era
 
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
WSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital BusinessesWSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital Businesses
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and ApplicationsWSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 

Evaluating Cloud Native Storage Vendors - DoK Talks #147

  • 1. Dinesh Majrekar @DMajrekar @CivoCloud Evaluating Cloud Native Storage Vendors Dok Talks #147 1st September, 2022
  • 2. @CivoCloud Dinesh Majrekar CTO @ Civo • 15 years experience in the web hosting industry • Developer, System Architect, DevOps Engineer • Lead Architect for the CivoStack platform
  • 3. @CivoCloud Civo • The Cloud Native Service Provider • Focused on delivering Kubernetes Clusters • Simplified developer experience • Currently hosting over 300TB of end user data across 3 geographic regions
  • 4. @CivoCloud Why are we migrating? ● Contract was up for renewal, with a price increase ● Experiencing some outages with the current provider ● Allowed us an opportunity to review other offerings in the market to check if renewal price was justified
  • 5. @CivoCloud Mayastor ● Evaluation in Summer 2021 ● Decided to move to Mayastor from OpenEBS with support from DataCore (then Mayastor)
  • 6. @CivoCloud What were we looking for? ● A partnership where we can grow together ● Enterprise support options ● Open Source / Avoid vendor lock-In ● Underlying technology ● Performance ● Scalability and durability
  • 7. @CivoCloud Performance Testing ● DD ○ Simple to understand ○ Non representative real world results ● FIO ○ Lots of options ○ Lots of output information
  • 9. @CivoCloud Performance Testing - FIO ● Time Based for demo ○ --time-based --runtime=10 ● Impact of Block size ○ --bs=4k / --bs=64k ● Sequential Read vs Random read ○ --rw=read / --rw=randread ○ --rw=write / --rw=randwrite
  • 10. @CivoCloud Performance Testing - KBench ● Kubernetes Cluster on these nodes ● https://github.com/yasker/kbench ● Quick Testing ● Example of how replication can be tested ○ 1 Replica ○ 2 Replicas
  • 12. Demo Commands @CivoCloud sudo dd if=/dev/zero of=/volume/testfile bs=10G count=1 oflag=direct sudo fio --name=demo --filename=/volume/testfile --direct=1 --size=10GB --bs=64k --ioengine=libaio --iodepth=64 --runtime=10 --time_based --group_reporting --eta-newline=1 --numjobs=4 --readwrite=read
  • 13. @CivoCloud Demo Definitions - PVC apiVersion: v1 kind: PersistentVolumeClaim metadata: name: ms-volume-claim spec: accessModes: - ReadWriteOnce resources: requests: storage: 20Gi storageClassName: ms-xfs-1-replica-local # storageClassName: ms-xfs-2-replicas-local
  • 14. apiVersion: batch/v1 kind: Job metadata: name: kbench spec: template: metadata: labels: kbench: fio spec: containers: - name: kbench image: yasker/kbench:latest imagePullPolicy: Always env: - name: QUICK_MODE value: "1" - name: FILE_NAME value: "/volume/test" - name: SIZE value: "10G" # must be at least 10% smaller than the PVC size volumeMounts: - name: ms-volume mountPath: /volume/ restartPolicy: Never volumes: - name: ms-volume persistentVolumeClaim: claimName: ms-volume-claim @CivoCloud Demo Definitions - Job
  • 15. @CivoCloud What can influence the results? ● Hardware ● CPU Usage ● Replication ● Your usage profile, reads vs writes, block sizes
  • 16. @CivoCloud Civo Use Case ● Multi Tenant Public Cloud Environment ● Bare Metal Deployment Stack ● Hyper Converged Hardware already in place ● Day One Deployment of > 2000 PVC, 300TB of Raw Storage
  • 17. @CivoCloud What was important to us? ● Installation and integration with our existing deployment pipelines ● Comparing speed of Cluster launches ● Evaluating performance loss compared to raw disk access ● Day 2 Operations ○ Monitoring ○ Upgrades ● Commercials
  • 18. @CivoCloud Thoughts Are From Summer 2021 Projects have moved on since!!!!!
  • 19. @CivoCloud Evaluation - Ondat ● Well understood performance profile ● Closed Source ● Support process well known ● Pricing Structure under change
  • 20. @CivoCloud Evaluation - Longhorn ● Single Pod per PVC ● Team Experience with Longhorn through testing ● Backed by Rancher / SUSE ● Would fit in well with Civo’s k3s usage
  • 21. @CivoCloud Evaluation - Rook / Ceph ● Previous Team Experience with OpenStack ● Size of Ceph Install small ● HCI not the ideal Ceph deployment pattern ● Mature Stack, great community support ● Proven at scale
  • 22. @CivoCloud Evaluation - OpenEBS ● Multiple Deployment Drivers ● zfs based options are well proven ● Slow performance ● Feature rich
  • 23. @CivoCloud Evaluation - Mayastor ● New project - in beta (now progressed to v1.x) ● Commercial Support available from DataCore (Mayadata) ● Lots of features on the roadmap ● Impressive Performance ● Designed for HCI
  • 24. @CivoCloud Why we choose Mayastor? ● OpenSource ● Commercial Support ● Engagement from DataCore, technical and commercial ● Potential Development Opportunities ○ NVMe over TCP / RDMA
  • 25. @CivoCloud Mayastor - One year on ● Smooth transition between Mayadata and Datacore ● Delays with first stable release ● Stability of the software has been excellent ● Still missing some features, eg. Snapshots
  • 26. @CivoCloud Summary ● Tailor your evaluation to your specific use case ● Performance is key, but performance isn’t everything ● Try and find a partner to support your growth, not just a solution ● Design for change
  • 27. @CivoCloud Learn More ● Learn more with our free Academy - civo.com/academy ● Meet us at KubeCon NA ● Join us in person at Civo Navigate - civo.com/navigate ● Reach out on the Civo Community Slack channel Questions?