SlideShare una empresa de Scribd logo
1 de 29
Descargar para leer sin conexión
ScyllaDB Cloud Goes
Serverless
Yaniv Kaul, VP R&D, ScyllaDB
Yaniv Kaul
■ Joined ScyllaDB in October 2022
■ Previously, at Red Hat, managed
■ Storage (Ceph, cloud storage),
■ Virtualization (OpenStack)
■ Performance and Scale.
■ Years ago, worked with ScyllaDB founders on the KVM
hypervisor
■ Introduction
■ Tour
■ Architecture
Presentation Agenda
Introduction
ScyllaDB Cloud
■ Our managed ScyllaDB clusters offering
■ Provides clusters running on AWS or GCP clouds
■ Uses whole virtual machine(s) per tenant
■ Use our infrastructure or ‘bring-your-own-account’ nodes
■ Lifecycle, monitoring, logging, alerting - overall management by our DevOps and
Support teams
■ Free trial also available!
cloud.scylladb.com
ScyllaDB Cloud - K8S based
The next generation ScyllaDB Cloud is moving to run ScyllaDB workloads on Kubernetes (K8S).
■ Infrastructure components (storage, network, security, monitoring, logging and more)
deployment, management are handled by Kubernetes
■ Provides seamless integration with cloud services
■ Based on the open source ScyllaDB K8S operator
ScyllaDB Cloud - K8S based
Cluster Creation Phase
ScyllaDB Cloud - K8S based
Cluster Is Up
ScyllaDB Cloud - K8S based
General Tab
ScyllaDB Cloud - K8S based
Connection Bundle
ScyllaDB Cloud - K8S based
cqlsh Connection
docker run -it --entrypoint cqlsh 
-v
/file/downloaded/from/cloud/connect-bundle-ScyllaSummit2023.yaml
:/connect-bundle-ScyllaSummit2023.yaml:Z 
scylladb/scylla-nightly:5.2.0-dev-0.20221215.16c50bed5eb8 
--cloudconf connect-bundle-ScyllaSummit2023.yaml
Python Example
ScyllaDB Cloud - K8S based
Monitoring
Architecture
Challenges With K8S
ScyllaDB on K8S has some of the ‘usual’ challenges and some ‘unusual’ ones:
■ Stateful application (a database)
■ Strict requirements from the operating system
■ Deployment requirements
The control plane is mostly running on a separate system
■ ScyllaDB Cloud management system was extended to treat serverless as
yet another cloud provider
■ Monitoring and logging are kept outside the operational K8S cluster running
the workloads
Management
First, need to provision a K8S node (worker), that will be used to run tenants’
ScyllaDB nodes:
■ RAID(0) configuration, OS tuning, etc.
■ Disk IO benchmarking, to get the baseline performance numbers.
■ Avoid ‘lemons’
■ Distribute baseline IO performance between tenants (per tenant CPU
shares)
Data Plane / Workers
The ScyllaDB K8S operator deploys a complete ScyllaDB cluster:
■ No. of nodes, size (CPU, memory, disk) , distribution, replication factor
(RF=3 for the time being), and other configuration items.
■ Configure / initialize node, wait for cluster formation
■ Manager (agent) & configuration
■ Monitoring
■ Drivers proxy (‘SNI proxy’)
Tenant Deployment
■ Virtual machines forces a fixed cores/memory/disk relationship
■ Scaling can only be performed by adding or removing nodes
■ With K8S, we abstract underlying hardware and provide much more
flexibility.
Breaking the Fixed Compute Storage
Relationship
■ Memory - each tenant (Pod) get their own (request/limit)
■ CPU - each tenant (Pod) get their own (request/limit)
■ Disk - each tenant get their own XFS mount point, with quota assigned
■ Scylla’s IO scheduler knows how much IOPS to give to each tenant
■ KMS is used to encrypt each tenant’s data
Tenant Isolation
/mnt/md0
Tenant Isolation - Storage (quota)
Instance
disks
Host path XFS Quota
/mnt/md0/local-pv-1 50G
/mnt/md0/local-pv-2 100G
kind: ScyllaCluster
spec:
datacenter:
racks:
- storage:
capacity: 50G
kind: ScyllaCluster
spec:
datacenter:
racks:
- storage:
capacity: 100G
Dynamic
storage
provisioner
RAID 0
XFS
Tenant Isolation - Storage (performance)
i3en.*xlarge
disks:
- mountpoint: /var/lib/scylla
read_iops: 125000
read_bandwidth: 1000000000
write_iops: 80000
write_bandwidth: 500000000
disks:
- mountpoint: /var/lib/scylla
read_iops: 125000
read_bandwidth: 1000000000
write_iops: 80000
write_bandwidth: 500000000
disks:
- mountpoint: /var/lib/scylla
read_iops: 250000
read_bandwidth: 2000000000
write_iops: 160000
write_bandwidth: 1000000000
Performance
Example of workload testing:
■ 4 loaders
■ 7 tenants
■ 4 OLTP, 3 OLAP
workloads
■ Mixed stress workload
Workload OLTP OLTP OLTP OLTP OLAP OLAP OLAP
CPU cores per scylla node 2 / 16 2 / 16 2 / 16 2 / 16 2 / 16 2 / 16 2 / 16
Cassandra-stress stats Latency [ms] THROUGHPUT - OP/S
loader 1 - latency p99 read 2.2 2.2 2.4 2.2 5,729 6,263 6,033
loader 2 - latency p99 read 2.2 2.2 2.2 2.1 5,629 6,294 5,979
loader 3 - latency p99 read 2.2 2.2 2.3 2.2 5,690 6,291 5,986
loader 4 - latency p99 read 2.2 2.5 2.2 2.2 5,685 6,283 5,986
loader 1 - latency p99 write 3.8 4 4.1 4.1 8,735 9,076 9,149
loader 2 - latency p99 write 3.9 4 4 3.9 8,325 8,898 8,809
loader 3 - latency p99 write 3.9 4 4 4.2 8,455 8,905 8,819
loader 4 - latency p99 write 3.8 4.2 4 4.2 8,450 8,893 8,836
loader 1 - latency p99 mixed 4.1 4 4.3 4.1 4,815 5,005 5,127
loader 2 - latency p99 mixed 4.1 4 4.2 4.1 4,552 4,835 4,899
loader 3 - latency p99 mixed 4.1 4 4.2 4.1 4,589 4,835 4,906
loader 4 - latency p99 mixed 4.1 4.2 4.2 4.1 4,587 4,819 4,903
The different CQL drivers connect to the cluster via a proxy, known as the SNI
(Server Name Indication) proxy:
■ Cluster data is stored in a YAML file, that clients use to connect to the
cluster.
■ Using TLS, the clients use the SNI field to indicate to which ScyllaDB node
they will connect to.
■ They still connect to all shards (shard-aware)
Connection to the Cluster
TLS protocol extension, enables connecting to a specific hostname
What is SNI?
As part of the ‘S301: ScyllaDB Operations’ course you can learn more about our K8S operator
and get some hands-on experience working with it.
ScyllaDB University Content
Thank You
Stay in Touch
Yaniv Kaul
yaniv.kaul@scylladb.com
@YanivKaul
github.com/mykaul
www.linkedin.com/in/ykaul/

Más contenido relacionado

La actualidad más candente

Kubernetes Operators And The Redis Enterprise Journey: Michal Rabinowitch
Kubernetes Operators And The Redis Enterprise Journey: Michal RabinowitchKubernetes Operators And The Redis Enterprise Journey: Michal Rabinowitch
Kubernetes Operators And The Redis Enterprise Journey: Michal Rabinowitch
Redis Labs
 

La actualidad más candente (20)

How We Reduced Performance Tuning Time by Orders of Magnitude with Database O...
How We Reduced Performance Tuning Time by Orders of Magnitude with Database O...How We Reduced Performance Tuning Time by Orders of Magnitude with Database O...
How We Reduced Performance Tuning Time by Orders of Magnitude with Database O...
 
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...
 
Ceph Object Storage Performance Secrets and Ceph Data Lake Solution
Ceph Object Storage Performance Secrets and Ceph Data Lake SolutionCeph Object Storage Performance Secrets and Ceph Data Lake Solution
Ceph Object Storage Performance Secrets and Ceph Data Lake Solution
 
Thrift vs Protocol Buffers vs Avro - Biased Comparison
Thrift vs Protocol Buffers vs Avro - Biased ComparisonThrift vs Protocol Buffers vs Avro - Biased Comparison
Thrift vs Protocol Buffers vs Avro - Biased Comparison
 
OSMC 2022 | Ignite: Observability with Grafana & Prometheus for Kafka on Kube...
OSMC 2022 | Ignite: Observability with Grafana & Prometheus for Kafka on Kube...OSMC 2022 | Ignite: Observability with Grafana & Prometheus for Kafka on Kube...
OSMC 2022 | Ignite: Observability with Grafana & Prometheus for Kafka on Kube...
 
How Netflix Tunes Amazon EC2 Instances for Performance - CMP325 - re:Invent 2017
How Netflix Tunes Amazon EC2 Instances for Performance - CMP325 - re:Invent 2017How Netflix Tunes Amazon EC2 Instances for Performance - CMP325 - re:Invent 2017
How Netflix Tunes Amazon EC2 Instances for Performance - CMP325 - re:Invent 2017
 
Untangling Cluster Management with Helix
Untangling Cluster Management with HelixUntangling Cluster Management with Helix
Untangling Cluster Management with Helix
 
Presto: Optimizing Performance of SQL-on-Anything Engine
Presto: Optimizing Performance of SQL-on-Anything EnginePresto: Optimizing Performance of SQL-on-Anything Engine
Presto: Optimizing Performance of SQL-on-Anything Engine
 
Airflow at lyft
Airflow at lyftAirflow at lyft
Airflow at lyft
 
Kernel Recipes 2017: Using Linux perf at Netflix
Kernel Recipes 2017: Using Linux perf at NetflixKernel Recipes 2017: Using Linux perf at Netflix
Kernel Recipes 2017: Using Linux perf at Netflix
 
Linux Profiling at Netflix
Linux Profiling at NetflixLinux Profiling at Netflix
Linux Profiling at Netflix
 
YOW2018 Cloud Performance Root Cause Analysis at Netflix
YOW2018 Cloud Performance Root Cause Analysis at NetflixYOW2018 Cloud Performance Root Cause Analysis at Netflix
YOW2018 Cloud Performance Root Cause Analysis at Netflix
 
Linux Kernel vs DPDK: HTTP Performance Showdown
Linux Kernel vs DPDK: HTTP Performance ShowdownLinux Kernel vs DPDK: HTTP Performance Showdown
Linux Kernel vs DPDK: HTTP Performance Showdown
 
Scale Kubernetes to support 50000 services
Scale Kubernetes to support 50000 servicesScale Kubernetes to support 50000 services
Scale Kubernetes to support 50000 services
 
Practical learnings from running thousands of Flink jobs
Practical learnings from running thousands of Flink jobsPractical learnings from running thousands of Flink jobs
Practical learnings from running thousands of Flink jobs
 
Deep Dive on Amazon EC2
Deep Dive on Amazon EC2Deep Dive on Amazon EC2
Deep Dive on Amazon EC2
 
Redpanda and ClickHouse
Redpanda and ClickHouseRedpanda and ClickHouse
Redpanda and ClickHouse
 
Replicate Elasticsearch Data with Cross-Cluster Replication (CCR)
Replicate Elasticsearch Data with Cross-Cluster Replication (CCR)Replicate Elasticsearch Data with Cross-Cluster Replication (CCR)
Replicate Elasticsearch Data with Cross-Cluster Replication (CCR)
 
Kubernetes Operators And The Redis Enterprise Journey: Michal Rabinowitch
Kubernetes Operators And The Redis Enterprise Journey: Michal RabinowitchKubernetes Operators And The Redis Enterprise Journey: Michal Rabinowitch
Kubernetes Operators And The Redis Enterprise Journey: Michal Rabinowitch
 
MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)
MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)
MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)
 

Similar a ScyllaDB Cloud Goes Serverless

OSS-10mins-7th2.pptx
OSS-10mins-7th2.pptxOSS-10mins-7th2.pptx
OSS-10mins-7th2.pptx
jagmohan33
 
ASAUDIT April 2016 New
ASAUDIT April 2016 NewASAUDIT April 2016 New
ASAUDIT April 2016 New
Stefan Coetzee
 
Why Software Defined Storage is Critical for Your IT Strategy
Why Software Defined Storage is Critical for Your IT StrategyWhy Software Defined Storage is Critical for Your IT Strategy
Why Software Defined Storage is Critical for Your IT Strategy
andreas kuncoro
 
Cisco EuroMPI'13 vendor session presentation
Cisco EuroMPI'13 vendor session presentationCisco EuroMPI'13 vendor session presentation
Cisco EuroMPI'13 vendor session presentation
Jeff Squyres
 

Similar a ScyllaDB Cloud Goes Serverless (20)

Containers for the Enterprise: Delivering OpenShift on OpenStack for Performa...
Containers for the Enterprise: Delivering OpenShift on OpenStack for Performa...Containers for the Enterprise: Delivering OpenShift on OpenStack for Performa...
Containers for the Enterprise: Delivering OpenShift on OpenStack for Performa...
 
OSS-10mins-7th2.pptx
OSS-10mins-7th2.pptxOSS-10mins-7th2.pptx
OSS-10mins-7th2.pptx
 
Cloud foundry on kubernetes
Cloud foundry on kubernetesCloud foundry on kubernetes
Cloud foundry on kubernetes
 
Handling Increasing Load and Reducing Costs Using Aerospike NoSQL Database - ...
Handling Increasing Load and Reducing Costs Using Aerospike NoSQL Database - ...Handling Increasing Load and Reducing Costs Using Aerospike NoSQL Database - ...
Handling Increasing Load and Reducing Costs Using Aerospike NoSQL Database - ...
 
Intel's Out of the Box Network Developers Ireland Meetup on March 29 2017 - ...
Intel's Out of the Box Network Developers Ireland Meetup on March 29 2017  - ...Intel's Out of the Box Network Developers Ireland Meetup on March 29 2017  - ...
Intel's Out of the Box Network Developers Ireland Meetup on March 29 2017 - ...
 
Architecture at Scale
Architecture at ScaleArchitecture at Scale
Architecture at Scale
 
Red Hat Summit 2018 5 New High Performance Features in OpenShift
Red Hat Summit 2018 5 New High Performance Features in OpenShiftRed Hat Summit 2018 5 New High Performance Features in OpenShift
Red Hat Summit 2018 5 New High Performance Features in OpenShift
 
CERN OpenStack Cloud Control Plane - From VMs to K8s
CERN OpenStack Cloud Control Plane - From VMs to K8sCERN OpenStack Cloud Control Plane - From VMs to K8s
CERN OpenStack Cloud Control Plane - From VMs to K8s
 
Kubernetes vs dockers swarm supporting onap oom on multi-cloud multi-stack en...
Kubernetes vs dockers swarm supporting onap oom on multi-cloud multi-stack en...Kubernetes vs dockers swarm supporting onap oom on multi-cloud multi-stack en...
Kubernetes vs dockers swarm supporting onap oom on multi-cloud multi-stack en...
 
Our Multi-Year Journey to a 10x Faster Confluent Cloud
Our Multi-Year Journey to a 10x Faster Confluent CloudOur Multi-Year Journey to a 10x Faster Confluent Cloud
Our Multi-Year Journey to a 10x Faster Confluent Cloud
 
Scylla Summit 2018: Make Scylla Fast Again! Find out how using Tools, Talent,...
Scylla Summit 2018: Make Scylla Fast Again! Find out how using Tools, Talent,...Scylla Summit 2018: Make Scylla Fast Again! Find out how using Tools, Talent,...
Scylla Summit 2018: Make Scylla Fast Again! Find out how using Tools, Talent,...
 
ASAUDIT April 2016 New
ASAUDIT April 2016 NewASAUDIT April 2016 New
ASAUDIT April 2016 New
 
Why Software Defined Storage is Critical for Your IT Strategy
Why Software Defined Storage is Critical for Your IT StrategyWhy Software Defined Storage is Critical for Your IT Strategy
Why Software Defined Storage is Critical for Your IT Strategy
 
Build an High-Performance and High-Durable Block Storage Service Based on Ceph
Build an High-Performance and High-Durable Block Storage Service Based on CephBuild an High-Performance and High-Durable Block Storage Service Based on Ceph
Build an High-Performance and High-Durable Block Storage Service Based on Ceph
 
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...
 
OpenStack Cinder, Implementation Today and New Trends for Tomorrow
OpenStack Cinder, Implementation Today and New Trends for TomorrowOpenStack Cinder, Implementation Today and New Trends for Tomorrow
OpenStack Cinder, Implementation Today and New Trends for Tomorrow
 
Cisco EuroMPI'13 vendor session presentation
Cisco EuroMPI'13 vendor session presentationCisco EuroMPI'13 vendor session presentation
Cisco EuroMPI'13 vendor session presentation
 
Scylla on Kubernetes: Introducing the Scylla Operator
Scylla on Kubernetes: Introducing the Scylla OperatorScylla on Kubernetes: Introducing the Scylla Operator
Scylla on Kubernetes: Introducing the Scylla Operator
 
Make Your Kafka Cluster Production-Ready
Make Your Kafka Cluster Production-ReadyMake Your Kafka Cluster Production-Ready
Make Your Kafka Cluster Production-Ready
 
整合Cloud Foundry 和 Kubernetes 技術打造企業級雲應用平台解決方案
整合Cloud Foundry 和 Kubernetes 技術打造企業級雲應用平台解決方案整合Cloud Foundry 和 Kubernetes 技術打造企業級雲應用平台解決方案
整合Cloud Foundry 和 Kubernetes 技術打造企業級雲應用平台解決方案
 

Más de ScyllaDB

Más de ScyllaDB (20)

Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
What Developers Need to Unlearn for High Performance NoSQL
What Developers Need to Unlearn for High Performance NoSQLWhat Developers Need to Unlearn for High Performance NoSQL
What Developers Need to Unlearn for High Performance NoSQL
 
Low Latency at Extreme Scale: Proven Practices & Pitfalls
Low Latency at Extreme Scale: Proven Practices & PitfallsLow Latency at Extreme Scale: Proven Practices & Pitfalls
Low Latency at Extreme Scale: Proven Practices & Pitfalls
 
Dissecting Real-World Database Performance Dilemmas
Dissecting Real-World Database Performance DilemmasDissecting Real-World Database Performance Dilemmas
Dissecting Real-World Database Performance Dilemmas
 
Beyond Linear Scaling: A New Path for Performance with ScyllaDB
Beyond Linear Scaling: A New Path for Performance with ScyllaDBBeyond Linear Scaling: A New Path for Performance with ScyllaDB
Beyond Linear Scaling: A New Path for Performance with ScyllaDB
 
Dissecting Real-World Database Performance Dilemmas
Dissecting Real-World Database Performance DilemmasDissecting Real-World Database Performance Dilemmas
Dissecting Real-World Database Performance Dilemmas
 
Database Performance at Scale Masterclass: Workload Characteristics by Felipe...
Database Performance at Scale Masterclass: Workload Characteristics by Felipe...Database Performance at Scale Masterclass: Workload Characteristics by Felipe...
Database Performance at Scale Masterclass: Workload Characteristics by Felipe...
 
Database Performance at Scale Masterclass: Database Internals by Pavel Emelya...
Database Performance at Scale Masterclass: Database Internals by Pavel Emelya...Database Performance at Scale Masterclass: Database Internals by Pavel Emelya...
Database Performance at Scale Masterclass: Database Internals by Pavel Emelya...
 
Database Performance at Scale Masterclass: Driver Strategies by Piotr Sarna
Database Performance at Scale Masterclass: Driver Strategies by Piotr SarnaDatabase Performance at Scale Masterclass: Driver Strategies by Piotr Sarna
Database Performance at Scale Masterclass: Driver Strategies by Piotr Sarna
 
Replacing Your Cache with ScyllaDB
Replacing Your Cache with ScyllaDBReplacing Your Cache with ScyllaDB
Replacing Your Cache with ScyllaDB
 
Powering Real-Time Apps with ScyllaDB_ Low Latency & Linear Scalability
Powering Real-Time Apps with ScyllaDB_ Low Latency & Linear ScalabilityPowering Real-Time Apps with ScyllaDB_ Low Latency & Linear Scalability
Powering Real-Time Apps with ScyllaDB_ Low Latency & Linear Scalability
 
7 Reasons Not to Put an External Cache in Front of Your Database.pptx
7 Reasons Not to Put an External Cache in Front of Your Database.pptx7 Reasons Not to Put an External Cache in Front of Your Database.pptx
7 Reasons Not to Put an External Cache in Front of Your Database.pptx
 
Getting the most out of ScyllaDB
Getting the most out of ScyllaDBGetting the most out of ScyllaDB
Getting the most out of ScyllaDB
 
NoSQL Database Migration Masterclass - Session 2: The Anatomy of a Migration
NoSQL Database Migration Masterclass - Session 2: The Anatomy of a MigrationNoSQL Database Migration Masterclass - Session 2: The Anatomy of a Migration
NoSQL Database Migration Masterclass - Session 2: The Anatomy of a Migration
 
NoSQL Database Migration Masterclass - Session 3: Migration Logistics
NoSQL Database Migration Masterclass - Session 3: Migration LogisticsNoSQL Database Migration Masterclass - Session 3: Migration Logistics
NoSQL Database Migration Masterclass - Session 3: Migration Logistics
 
NoSQL Data Migration Masterclass - Session 1 Migration Strategies and Challenges
NoSQL Data Migration Masterclass - Session 1 Migration Strategies and ChallengesNoSQL Data Migration Masterclass - Session 1 Migration Strategies and Challenges
NoSQL Data Migration Masterclass - Session 1 Migration Strategies and Challenges
 
ScyllaDB Virtual Workshop
ScyllaDB Virtual WorkshopScyllaDB Virtual Workshop
ScyllaDB Virtual Workshop
 
DBaaS in the Real World: Risks, Rewards & Tradeoffs
DBaaS in the Real World: Risks, Rewards & TradeoffsDBaaS in the Real World: Risks, Rewards & Tradeoffs
DBaaS in the Real World: Risks, Rewards & Tradeoffs
 
Build Low-Latency Applications in Rust on ScyllaDB
Build Low-Latency Applications in Rust on ScyllaDBBuild Low-Latency Applications in Rust on ScyllaDB
Build Low-Latency Applications in Rust on ScyllaDB
 
NoSQL Data Modeling 101
NoSQL Data Modeling 101NoSQL Data Modeling 101
NoSQL Data Modeling 101
 

Último

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Último (20)

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 

ScyllaDB Cloud Goes Serverless

  • 1. ScyllaDB Cloud Goes Serverless Yaniv Kaul, VP R&D, ScyllaDB
  • 2. Yaniv Kaul ■ Joined ScyllaDB in October 2022 ■ Previously, at Red Hat, managed ■ Storage (Ceph, cloud storage), ■ Virtualization (OpenStack) ■ Performance and Scale. ■ Years ago, worked with ScyllaDB founders on the KVM hypervisor
  • 3. ■ Introduction ■ Tour ■ Architecture Presentation Agenda
  • 5. ScyllaDB Cloud ■ Our managed ScyllaDB clusters offering ■ Provides clusters running on AWS or GCP clouds ■ Uses whole virtual machine(s) per tenant ■ Use our infrastructure or ‘bring-your-own-account’ nodes ■ Lifecycle, monitoring, logging, alerting - overall management by our DevOps and Support teams ■ Free trial also available! cloud.scylladb.com
  • 6. ScyllaDB Cloud - K8S based The next generation ScyllaDB Cloud is moving to run ScyllaDB workloads on Kubernetes (K8S). ■ Infrastructure components (storage, network, security, monitoring, logging and more) deployment, management are handled by Kubernetes ■ Provides seamless integration with cloud services ■ Based on the open source ScyllaDB K8S operator
  • 7. ScyllaDB Cloud - K8S based Cluster Creation Phase
  • 8. ScyllaDB Cloud - K8S based Cluster Is Up
  • 9. ScyllaDB Cloud - K8S based General Tab
  • 10. ScyllaDB Cloud - K8S based Connection Bundle
  • 11. ScyllaDB Cloud - K8S based cqlsh Connection
  • 12. docker run -it --entrypoint cqlsh -v /file/downloaded/from/cloud/connect-bundle-ScyllaSummit2023.yaml :/connect-bundle-ScyllaSummit2023.yaml:Z scylladb/scylla-nightly:5.2.0-dev-0.20221215.16c50bed5eb8 --cloudconf connect-bundle-ScyllaSummit2023.yaml
  • 13.
  • 15. ScyllaDB Cloud - K8S based Monitoring
  • 17. Challenges With K8S ScyllaDB on K8S has some of the ‘usual’ challenges and some ‘unusual’ ones: ■ Stateful application (a database) ■ Strict requirements from the operating system ■ Deployment requirements
  • 18. The control plane is mostly running on a separate system ■ ScyllaDB Cloud management system was extended to treat serverless as yet another cloud provider ■ Monitoring and logging are kept outside the operational K8S cluster running the workloads Management
  • 19. First, need to provision a K8S node (worker), that will be used to run tenants’ ScyllaDB nodes: ■ RAID(0) configuration, OS tuning, etc. ■ Disk IO benchmarking, to get the baseline performance numbers. ■ Avoid ‘lemons’ ■ Distribute baseline IO performance between tenants (per tenant CPU shares) Data Plane / Workers
  • 20. The ScyllaDB K8S operator deploys a complete ScyllaDB cluster: ■ No. of nodes, size (CPU, memory, disk) , distribution, replication factor (RF=3 for the time being), and other configuration items. ■ Configure / initialize node, wait for cluster formation ■ Manager (agent) & configuration ■ Monitoring ■ Drivers proxy (‘SNI proxy’) Tenant Deployment
  • 21. ■ Virtual machines forces a fixed cores/memory/disk relationship ■ Scaling can only be performed by adding or removing nodes ■ With K8S, we abstract underlying hardware and provide much more flexibility. Breaking the Fixed Compute Storage Relationship
  • 22. ■ Memory - each tenant (Pod) get their own (request/limit) ■ CPU - each tenant (Pod) get their own (request/limit) ■ Disk - each tenant get their own XFS mount point, with quota assigned ■ Scylla’s IO scheduler knows how much IOPS to give to each tenant ■ KMS is used to encrypt each tenant’s data Tenant Isolation
  • 23. /mnt/md0 Tenant Isolation - Storage (quota) Instance disks Host path XFS Quota /mnt/md0/local-pv-1 50G /mnt/md0/local-pv-2 100G kind: ScyllaCluster spec: datacenter: racks: - storage: capacity: 50G kind: ScyllaCluster spec: datacenter: racks: - storage: capacity: 100G Dynamic storage provisioner RAID 0 XFS
  • 24. Tenant Isolation - Storage (performance) i3en.*xlarge disks: - mountpoint: /var/lib/scylla read_iops: 125000 read_bandwidth: 1000000000 write_iops: 80000 write_bandwidth: 500000000 disks: - mountpoint: /var/lib/scylla read_iops: 125000 read_bandwidth: 1000000000 write_iops: 80000 write_bandwidth: 500000000 disks: - mountpoint: /var/lib/scylla read_iops: 250000 read_bandwidth: 2000000000 write_iops: 160000 write_bandwidth: 1000000000
  • 25. Performance Example of workload testing: ■ 4 loaders ■ 7 tenants ■ 4 OLTP, 3 OLAP workloads ■ Mixed stress workload Workload OLTP OLTP OLTP OLTP OLAP OLAP OLAP CPU cores per scylla node 2 / 16 2 / 16 2 / 16 2 / 16 2 / 16 2 / 16 2 / 16 Cassandra-stress stats Latency [ms] THROUGHPUT - OP/S loader 1 - latency p99 read 2.2 2.2 2.4 2.2 5,729 6,263 6,033 loader 2 - latency p99 read 2.2 2.2 2.2 2.1 5,629 6,294 5,979 loader 3 - latency p99 read 2.2 2.2 2.3 2.2 5,690 6,291 5,986 loader 4 - latency p99 read 2.2 2.5 2.2 2.2 5,685 6,283 5,986 loader 1 - latency p99 write 3.8 4 4.1 4.1 8,735 9,076 9,149 loader 2 - latency p99 write 3.9 4 4 3.9 8,325 8,898 8,809 loader 3 - latency p99 write 3.9 4 4 4.2 8,455 8,905 8,819 loader 4 - latency p99 write 3.8 4.2 4 4.2 8,450 8,893 8,836 loader 1 - latency p99 mixed 4.1 4 4.3 4.1 4,815 5,005 5,127 loader 2 - latency p99 mixed 4.1 4 4.2 4.1 4,552 4,835 4,899 loader 3 - latency p99 mixed 4.1 4 4.2 4.1 4,589 4,835 4,906 loader 4 - latency p99 mixed 4.1 4.2 4.2 4.1 4,587 4,819 4,903
  • 26. The different CQL drivers connect to the cluster via a proxy, known as the SNI (Server Name Indication) proxy: ■ Cluster data is stored in a YAML file, that clients use to connect to the cluster. ■ Using TLS, the clients use the SNI field to indicate to which ScyllaDB node they will connect to. ■ They still connect to all shards (shard-aware) Connection to the Cluster
  • 27. TLS protocol extension, enables connecting to a specific hostname What is SNI?
  • 28. As part of the ‘S301: ScyllaDB Operations’ course you can learn more about our K8S operator and get some hands-on experience working with it. ScyllaDB University Content
  • 29. Thank You Stay in Touch Yaniv Kaul yaniv.kaul@scylladb.com @YanivKaul github.com/mykaul www.linkedin.com/in/ykaul/