(Go: >> BACK << -|- >> HOME <<)

SlideShare a Scribd company logo
Delivering a “Serverless” Service
//we will start in just a minute
Before we get started
Jim Walker
• Principal Product Evangelist
• @jaymce
This session is INTERMEDIATE
• I am not database “experts”
• I am curious and love tech
• I think this stuff is cool and these
concepts define the future
• GOAL: a high level context of the concept
“wireless”
“electric”
“serverless”
Serverless as a computing paradigm…
1. Little to no manual server management
2. Automatic, elastic app/service scale
3. Built-in resilience and inherently fault tolerant service
4. Always available and instant access
5. Consumption-based rating or billing mechanism
6. Survive any failure domain, including regions
7. Geographic Scale and latencies
8. Infrastructure-less
Over the past 5 or so years, the serverless execution model has been most commonly used for:
● Serverless compute
● Serverless functions
● Serverless app development
But how tho?
So, how do you make a database app serverless?
Language
Execution
Storage
Language: SQL
Distributed Execution
Replication & Distribution
Most Databases
Storage
Find the
divide
single cluster - one logical database
CockroachDB Node 1
Pulling it together, into serverless and beyond
SQL Layer
Execution
Storage & Replication
Distribution
CockroachDB Node 2
SQL Layer
Execution
Storage & Replication
Distribution
CockroachDB Node 3
SQL Layer
Execution
Storage & Replication
Distribution
Virtual Cluster
Shared CockroachDB Storage ONLY Cluster
CockroachDB
SQL Pod 1
Serverless decouples execution and storage
SQL Layer
Execution
Distribution
Storage & Replication Storage & Replication Storage & Replication
CockroachDB
SQL Pod 2
SQL Layer
Execution
Distribution
CockroachDB
SQL Pod 3
SQL Layer
Execution
Distribution
SQL
Storage
Virtual Cluster - Tenant 3
Virtual Cluster 2
Virtual Cluster - Tenant 1
Shared CockroachDB Storage ONLY Cluster
Tenant 1
SQL Pod 1
This allows to scale storage and execution separately
SQL Layer
Execution
Distribution
Storage & Replication Storage & Replication Storage & Replication
Tenant 1
SQL Pod 2
SQL Layer
Execution
Distribution
Tenant 1
SQL Pod 3
SQL Layer
Execution
Distribution
Tenant 2
SQL Pod 1
SQL Layer
Execution
Distribution
Tenant 3
SQL Pod 1
SQL Layer
Execution
Distribution
Tenant 3
SQL Pod 2
SQL Layer
Execution
Distribution
Tenant 3
SQL Pod 3
SQL Layer
Execution
Distribution
Availability Zone 1 Availability Zone 2 Availability Zone 3
App pods are spreads across AZs and the storage
cluster is spread to optimize for resilience
Storage & Replication Storage & Replication Storage & Replication
Tenant1
SQL Pod 3
SQL Layer
Execution
Distribution
Tenant1
SQL Pod 2
SQL Layer
Execution
Distribution
Tenant1
SQL Pod 1
SQL Layer
Execution
Distribution
Availability Zone 1 Availability Zone 2 Availability Zone 3
App pods are spreads across AZs and the storage
cluster is spread to optimize for resilience
Storage & Replication Storage & Replication Storage & Replication
Tenant1
SQL Pod 3
SQL Layer
Execution
Distribution
Tenant2
SQL Pod 1
SQL Layer
Execution
Distribution
Tenant1
SQL Pod 2
SQL Layer
Execution
Distribution
Tenant1
SQL Pod 1
SQL Layer
Execution
Distribution
Availability Zone 1 Availability Zone 2 Availability Zone 3
App pods are spreads across AZs and the storage
cluster is spread to optimize for resilience
Storage & Replication Storage & Replication Storage & Replication
Tenant3
SQL Pod 1
SQL Layer
Execution
Distribution
Tenant1
SQL Pod 3
SQL Layer
Execution
Distribution
Tenant2
SQL Pod 1
SQL Layer
Execution
Distribution
Tenant3
SQL Pod 2
SQL Layer
Execution
Distribution
Tenant1
SQL Pod 2
SQL Layer
Execution
Distribution
Tenant1
SQL Pod 1
SQL Layer
Execution
Distribution
Tenant3
SQL Pod 3
SQL Layer
Execution
Distribution
Availability Zone 1 Availability Zone 2 Availability Zone 3
We introduce proxy pods that routes
tenant queries to their SQL pods
Storage & Replication Storage & Replication Storage & Replication
Proxy Proxy Proxy Proxy
LOAD BALANCER
Tenant3
SQL Pod 1
SQL Layer
Execution
Distribution
Tenant1
SQL Pod 3
SQL Layer
Execution
Distribution
Tenant2
SQL Pod 1
SQL Layer
Execution
Distribution
Tenant3
SQL Pod 2
SQL Layer
Execution
Distribution
Tenant1
SQL Pod 2
SQL Layer
Execution
Distribution
Tenant1
SQL Pod 1
SQL Layer
Execution
Distribution
Tenant3
SQL Pod 3
SQL Layer
Execution
Distribution
Serverless Scale
Data volume scale is accomplished in the storage cluster and uses native
distribution and range splitting
Transactional scale is quite different. We need to
● Accommodate elastic usage
● Deal with spikes in traffic
● Spin down to dormant usage
Autoscaler monitors CPU load on each SQL pod in the cluster, and calculates the
number of SQL pods/tenant based on two metrics:
• Average CPU usage over the last 5 minutes.
• Peak CPU usage during the last 5 minutes.
This is all accomplished using ephemeral SQL pods
Availability Zone 1 Availability Zone 2 Availability Zone 3
Autoscaling your application
Storage & Replication Storage & Replication Storage & Replication
Tenant1
SQL pod 3
SQL Layer
Execution
Distribution
Tenant1
SQL POd 2
SQL Layer
Execution
Distribution
Tenant1
SQL Pod 1
SQL Layer
Execution
Distribution
Proxy Proxy Proxy Proxy
LOAD BALANCER
unassigned unassigned
unassigned
unassigned
unassigned
unassigned
unassigned
unassigned
unassigned
“Hot”
pods
“Hot”
pods
“Hot”
pods
Tenant1
Capacity
Availability Zone 1 Availability Zone 2 Availability Zone 3
Accommodates peaks in traffic by adding SQL pods
Storage & Replication Storage & Replication Storage & Replication
Tenant1
SQL Pod 3
SQL Layer
Execution
Distribution
Tenant1
SQL Pod 2
SQL Layer
Execution
Distribution
Tenant1
SQL Pod 1
SQL Layer
Execution
Distribution
Proxy Proxy Proxy Proxy
LOAD BALANCER
unassigned
Tenant1
SQL pod 4
SQL Layer
Execution
Distribution
unassigned
unassigned
unassigned
unassigned
unassigned
unassigned
unassigned
unassigned
“Hot”
pods
“Hot”
pods
“Hot”
pods
Tenant1
Capacity
Availability Zone 1 Availability Zone 2 Availability Zone 3
...and returns to “steady state” after the event
Storage & Replication Storage & Replication Storage & Replication
Tenant1
SQL Pod 3
SQL Layer
Execution
Distribution
Tenant1
SQL Pod 2
SQL Layer
Execution
Distribution
Tenant1
SQL Pod 1
SQL Layer
Execution
Distribution
Proxy Proxy Proxy Proxy
LOAD BALANCER
unassigned unassigned
unassigned
unassigned
unassigned
unassigned
unassigned
unassigned
unassigned
“Hot”
pods
“Hot”
pods
“Hot”
pods
Tenant1
Capacity
Availability Zone 1 Availability Zone 2 Availability Zone 3
And when there is no traffic, the tenant goes dormant and
the pods spin down to zero
Storage & Replication Storage & Replication Storage & Replication
Proxy Proxy Proxy Proxy
LOAD BALANCER
unassigned unassigned
unassigned
unassigned
unassigned
unassigned
unassigned
unassigned
unassigned
“Hot”
pods
“Hot”
pods
“Hot”
pods
Tenant1
Capacity
Availability Zone 1 Availability Zone 2 Availability Zone 3
When it needs to “wake up”, it spins up a “hot” pod
Storage & Replication Storage & Replication Storage & Replication
Proxy Proxy Proxy Proxy
LOAD BALANCER
unassigned unassigned
unassigned
unassigned
unassigned
unassigned
unassigned
unassigned
unassigned
“Hot”
pods
“Hot”
pods
“Hot”
pods
Tenant1
Capacity
Tenant1
SQL Pod 4
SQL Layer
Execution
Distribution
Serverless gives developers what they want
Spin up a CockroachDB
Serverless cluster in seconds,
for free w/out a credit card
Start Instantly
No need to manage, upgrade
or operate the database, just
connect and code
No Operations
Use a SQL database that
scales storage and transaction
vols up/down to meet demand
Auto Scale
CockroachDB serverless
replicates your data across
AZs to ensure it is always
available
Eliminate Downtime
Serverless gives developers what they want
Spin up a CockroachDB
Serverless cluster in seconds,
for free w/out a credit card
Start Instantly
No need to manage, upgrade
or operate the database, just
connect and code
No Operations
Use a SQL database that
scales storage and transaction
vols up/down to meet demand
Auto Scale
CockroachDB serverless
replicates your data across
AZs to ensure it is always
available
Eliminate Downtime
Just Build
Relational models and SQL
Guaranteed correct, low-latency transactions
OPERATIONS
NO
YES Code against an API
Wire compatible w/ PostgreSQL
DEVELOPER
FOCUS?
CODE
YES
GENEROUS free tier
For us, it’s a database!
THANK YOU
Using Kubernetes to deliver a “serverless” service
Using Kubernetes to deliver a “serverless” service
Create a CockroachDB instance now…
Serverless(beta)
A single region instance with a generous free tier and
with a capped pay for usage beyond free limits
No credit card required!
Free, every month up to:
• 5GB Storage
• 250M Request Units
Dedicated
A full featured, single tenant instance. Deploy
instantly on AWS or GCP in a single region or across
multiple regions with 99.99% guaranteed uptime.
Let our SRE team provision and manage your database.
www.cockroachlabs.com
What if I run out of request units (RUs)?
CockroachDB Serverless doesn’t turn off once you use your spend limit capacity, it
ensures you will have at least 100RUs/second for remainder of billing period (month)
What is it good for?
In its current state, We
believe CockroachDB
Serverless will be good for:
● side projects
● smaller apps
● low code apps
● learning SQL
Gaining familiarity with
SQL or CockroachDB
SINGLE LOGICAL
DATABASE
CockroachDB: Architected For the Cloud
A fundamentally better database for your developers and applications
CockroachDB is a distributed, relational database that
can be used for mundane and high value workloads
It is a database cluster that is comprised of nodes that
appear as a single logical database
It gives your developers, familiar standard SQL
USER: Ashley
> INSERT (Kimball)
INTO CUSTOMER;
SINGLE LOGICAL
DATABASE
CockroachDB: Architected For the Cloud
A fundamentally better database for your developers and applications
Scale the database by simply adding more nodes.
CockroachDB auto-balances to incorporate the new
resource. No manual work is required.
● Easy scale for increase in database size
● Every node accepts reads and write so
you also scale transactional volume
USER: Ashley
> INSERT (Kimball)
INTO CUSTOMER;
USER: Lindsay
> SELECT * FROM
ORDERS;
SINGLE LOGICAL
DATABASE
CockroachDB: Architected For the Cloud
A fundamentally better database for your developers and applications
REGION 1
US-WEST
REGION 1
US-WEST
REGION 1
US-WEST
Scale even further across regions and
even clouds, yet still deliver a single
logical database
It excels when deployed across
multiple data centers.
USER: Ashley
> INSERT (Kimball)
INTO CUSTOMER;
USER: Lindsay
> SELECT * FROM
ORDERS;
USER: Peter
> UPDATE (Kimball)
FNAME=”Spencer”;
SINGLE LOGICAL
DATABASE
CockroachDB: Architected For the Cloud
A fundamentally better database for your developers and applications
Scale even further across regions and
even clouds, yet still deliver a single
logical database
It excels when deployed across
multiple data centers.
...and even multi-cloud!
USER: Ashley
> INSERT (Kimball)
INTO CUSTOMER;
USER: Lindsay
> SELECT * FROM
ORDERS;
USER: Peter
> UPDATE (Kimball)
FNAME=”Spencer”;
SINGLE LOGICAL
DATABASE
CockroachDB: Architected For the Cloud
A fundamentally better database for your developers and applications
USER: Ashley
> INSERT (Kimball)
INTO CUSTOMER;
USER: Lindsay
> SELECT * FROM
ORDERS;
REGION 1
US-WEST
REGION 1
US-WEST
REGION 1
US-WEST
USER: Peter
> UPDATE (Kimball)
FNAME=”Spencer”;
CockroachDB is naturally resilient so you can
survive the failure of a node or even an entire
region without service disruption
● Always-on, always available w/ zero RPO/RTO
● Allows for no downtime rolling upgrades
REGION 2
US-EAST
REGION 3
EMEA
REGION 1
US-WEST
CockroachDB: Architected For the Cloud
A fundamentally better database for your developers and applications
USER: Random
> INSERT (Kimball)
INTO CUSTOMER;
LOAD BALANCER
Kimball
Mattis
Stewart
LOAD BALANCER LOAD BALANCER
Kimball
Mattis
Stewart
Kimball
Mattis
Stewart
Ask any node for data and it will find it in
the cluster
REGION 2
US-EAST
REGION 3
EMEA
REGION 1
US-WEST
CockroachDB: Architected For the Cloud
A fundamentally better database for your developers and applications
USER: Random
> INSERT (Kimball)
INTO CUSTOMER;
LOAD BALANCER
Kimball
Mattis
Stewart
USER: Kimball
> SELECT (Kimball)
FROM CUSTOMER;
LOAD BALANCER LOAD BALANCER
Ask any node for data and it will find it in
the cluster
Geo-locate data near user to reduce
read/write latencies
(or comply with regulations)
Kimball
Mattis
Stewart
Kimball
Mattis
Stewart

More Related Content

Similar to Using Kubernetes to deliver a “serverless” service

Oracle COTS Applications on AWS
Oracle COTS Applications on AWSOracle COTS Applications on AWS
Oracle COTS Applications on AWS
Tom Laszewski
 
Running Business Critical Workloads on AWS
Running Business Critical Workloads on AWS Running Business Critical Workloads on AWS
Running Business Critical Workloads on AWS
Amazon Web Services
 
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #1: AWS Aurora
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #1: AWS AuroraWebinar Slides: MySQL HA/DR/Geo-Scale - High Noon #1: AWS Aurora
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #1: AWS Aurora
Continuent
 
Amazon Aurora
Amazon AuroraAmazon Aurora
Amazon Aurora
Amazon Web Services
 
Understanding AWS Database Options (DAT201) | AWS re:Invent 2013
Understanding AWS Database Options (DAT201) | AWS re:Invent 2013Understanding AWS Database Options (DAT201) | AWS re:Invent 2013
Understanding AWS Database Options (DAT201) | AWS re:Invent 2013
Amazon Web Services
 
Design, Deploy, and Optimize SQL Server on AWS - AWS Online Tech Talks
Design, Deploy, and Optimize SQL Server on AWS - AWS Online Tech TalksDesign, Deploy, and Optimize SQL Server on AWS - AWS Online Tech Talks
Design, Deploy, and Optimize SQL Server on AWS - AWS Online Tech Talks
Amazon Web Services
 
GWAB 2015 - Data Plaraform
GWAB 2015 - Data PlaraformGWAB 2015 - Data Plaraform
GWAB 2015 - Data Plaraform
Marcelo Paiva
 
Sql 2012 always on
Sql 2012 always onSql 2012 always on
Sql 2012 always on
dilip nayak
 
Design, Deploy, and Optimize SQL Server on AWS - June 2017 AWS Online Tech Talks
Design, Deploy, and Optimize SQL Server on AWS - June 2017 AWS Online Tech TalksDesign, Deploy, and Optimize SQL Server on AWS - June 2017 AWS Online Tech Talks
Design, Deploy, and Optimize SQL Server on AWS - June 2017 AWS Online Tech Talks
Amazon Web Services
 
Amazon Aurora: Amazon’s New Relational Database Engine
Amazon Aurora: Amazon’s New Relational Database EngineAmazon Aurora: Amazon’s New Relational Database Engine
Amazon Aurora: Amazon’s New Relational Database Engine
Danilo Poccia
 
Applying ML on your Data in Motion with AWS and Confluent | Joseph Morais, Co...
Applying ML on your Data in Motion with AWS and Confluent | Joseph Morais, Co...Applying ML on your Data in Motion with AWS and Confluent | Joseph Morais, Co...
Applying ML on your Data in Motion with AWS and Confluent | Joseph Morais, Co...
HostedbyConfluent
 
Azure Cosmos DB - NoSQL Strikes Back (An introduction to the dark side of you...
Azure Cosmos DB - NoSQL Strikes Back (An introduction to the dark side of you...Azure Cosmos DB - NoSQL Strikes Back (An introduction to the dark side of you...
Azure Cosmos DB - NoSQL Strikes Back (An introduction to the dark side of you...
Andre Essing
 
AWS Summit London 2014 | Scaling on AWS for the First 10 Million Users (200)
AWS Summit London 2014 | Scaling on AWS for the First 10 Million Users (200)AWS Summit London 2014 | Scaling on AWS for the First 10 Million Users (200)
AWS Summit London 2014 | Scaling on AWS for the First 10 Million Users (200)
Amazon Web Services
 
AWS Startup Webinar | Developing on AWS
AWS Startup Webinar | Developing on AWSAWS Startup Webinar | Developing on AWS
AWS Startup Webinar | Developing on AWS
Amazon Web Services
 
Surviving KubeDoom - Even demons can't kill an intrusion of CockroachDB!
Surviving KubeDoom - Even demons can't kill an intrusion of CockroachDB!Surviving KubeDoom - Even demons can't kill an intrusion of CockroachDB!
Surviving KubeDoom - Even demons can't kill an intrusion of CockroachDB!
Faheem Memon
 
SQL Server Alwayson for SharePoint HA/DR Step by Step Guide
SQL Server Alwayson for SharePoint HA/DR Step by Step GuideSQL Server Alwayson for SharePoint HA/DR Step by Step Guide
SQL Server Alwayson for SharePoint HA/DR Step by Step Guide
Lars Platzdasch
 
Immutable Infrastructure: the new App Deployment
Immutable Infrastructure: the new App DeploymentImmutable Infrastructure: the new App Deployment
Immutable Infrastructure: the new App Deployment
Axel Fontaine
 
ENT309 scaling up to your first 10 million users
ENT309 scaling up to your first 10 million usersENT309 scaling up to your first 10 million users
ENT309 scaling up to your first 10 million users
Amazon Web Services
 
AskTom: How to Make and Test Your Application "Oracle RAC Ready"?
AskTom: How to Make and Test Your Application "Oracle RAC Ready"?AskTom: How to Make and Test Your Application "Oracle RAC Ready"?
AskTom: How to Make and Test Your Application "Oracle RAC Ready"?
Markus Michalewicz
 
Azure CosmosDB the new frontier of big data and nosql
Azure CosmosDB the new frontier of big data and nosqlAzure CosmosDB the new frontier of big data and nosql
Azure CosmosDB the new frontier of big data and nosql
Riccardo Cappello
 

Similar to Using Kubernetes to deliver a “serverless” service (20)

Oracle COTS Applications on AWS
Oracle COTS Applications on AWSOracle COTS Applications on AWS
Oracle COTS Applications on AWS
 
Running Business Critical Workloads on AWS
Running Business Critical Workloads on AWS Running Business Critical Workloads on AWS
Running Business Critical Workloads on AWS
 
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #1: AWS Aurora
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #1: AWS AuroraWebinar Slides: MySQL HA/DR/Geo-Scale - High Noon #1: AWS Aurora
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #1: AWS Aurora
 
Amazon Aurora
Amazon AuroraAmazon Aurora
Amazon Aurora
 
Understanding AWS Database Options (DAT201) | AWS re:Invent 2013
Understanding AWS Database Options (DAT201) | AWS re:Invent 2013Understanding AWS Database Options (DAT201) | AWS re:Invent 2013
Understanding AWS Database Options (DAT201) | AWS re:Invent 2013
 
Design, Deploy, and Optimize SQL Server on AWS - AWS Online Tech Talks
Design, Deploy, and Optimize SQL Server on AWS - AWS Online Tech TalksDesign, Deploy, and Optimize SQL Server on AWS - AWS Online Tech Talks
Design, Deploy, and Optimize SQL Server on AWS - AWS Online Tech Talks
 
GWAB 2015 - Data Plaraform
GWAB 2015 - Data PlaraformGWAB 2015 - Data Plaraform
GWAB 2015 - Data Plaraform
 
Sql 2012 always on
Sql 2012 always onSql 2012 always on
Sql 2012 always on
 
Design, Deploy, and Optimize SQL Server on AWS - June 2017 AWS Online Tech Talks
Design, Deploy, and Optimize SQL Server on AWS - June 2017 AWS Online Tech TalksDesign, Deploy, and Optimize SQL Server on AWS - June 2017 AWS Online Tech Talks
Design, Deploy, and Optimize SQL Server on AWS - June 2017 AWS Online Tech Talks
 
Amazon Aurora: Amazon’s New Relational Database Engine
Amazon Aurora: Amazon’s New Relational Database EngineAmazon Aurora: Amazon’s New Relational Database Engine
Amazon Aurora: Amazon’s New Relational Database Engine
 
Applying ML on your Data in Motion with AWS and Confluent | Joseph Morais, Co...
Applying ML on your Data in Motion with AWS and Confluent | Joseph Morais, Co...Applying ML on your Data in Motion with AWS and Confluent | Joseph Morais, Co...
Applying ML on your Data in Motion with AWS and Confluent | Joseph Morais, Co...
 
Azure Cosmos DB - NoSQL Strikes Back (An introduction to the dark side of you...
Azure Cosmos DB - NoSQL Strikes Back (An introduction to the dark side of you...Azure Cosmos DB - NoSQL Strikes Back (An introduction to the dark side of you...
Azure Cosmos DB - NoSQL Strikes Back (An introduction to the dark side of you...
 
AWS Summit London 2014 | Scaling on AWS for the First 10 Million Users (200)
AWS Summit London 2014 | Scaling on AWS for the First 10 Million Users (200)AWS Summit London 2014 | Scaling on AWS for the First 10 Million Users (200)
AWS Summit London 2014 | Scaling on AWS for the First 10 Million Users (200)
 
AWS Startup Webinar | Developing on AWS
AWS Startup Webinar | Developing on AWSAWS Startup Webinar | Developing on AWS
AWS Startup Webinar | Developing on AWS
 
Surviving KubeDoom - Even demons can't kill an intrusion of CockroachDB!
Surviving KubeDoom - Even demons can't kill an intrusion of CockroachDB!Surviving KubeDoom - Even demons can't kill an intrusion of CockroachDB!
Surviving KubeDoom - Even demons can't kill an intrusion of CockroachDB!
 
SQL Server Alwayson for SharePoint HA/DR Step by Step Guide
SQL Server Alwayson for SharePoint HA/DR Step by Step GuideSQL Server Alwayson for SharePoint HA/DR Step by Step Guide
SQL Server Alwayson for SharePoint HA/DR Step by Step Guide
 
Immutable Infrastructure: the new App Deployment
Immutable Infrastructure: the new App DeploymentImmutable Infrastructure: the new App Deployment
Immutable Infrastructure: the new App Deployment
 
ENT309 scaling up to your first 10 million users
ENT309 scaling up to your first 10 million usersENT309 scaling up to your first 10 million users
ENT309 scaling up to your first 10 million users
 
AskTom: How to Make and Test Your Application "Oracle RAC Ready"?
AskTom: How to Make and Test Your Application "Oracle RAC Ready"?AskTom: How to Make and Test Your Application "Oracle RAC Ready"?
AskTom: How to Make and Test Your Application "Oracle RAC Ready"?
 
Azure CosmosDB the new frontier of big data and nosql
Azure CosmosDB the new frontier of big data and nosqlAzure CosmosDB the new frontier of big data and nosql
Azure CosmosDB the new frontier of big data and nosql
 

More from DoKC

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
DoKC
 
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
DoKC
 
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
DoKC
 
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...
DoKC
 
The State of Stateful on Kubernetes
The State of Stateful on KubernetesThe State of Stateful on Kubernetes
The State of Stateful on Kubernetes
DoKC
 
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 ...
DoKC
 
Make Your Kafka Cluster Production-Ready
Make Your Kafka Cluster Production-ReadyMake Your Kafka Cluster Production-Ready
Make Your Kafka Cluster Production-Ready
DoKC
 
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...
DoKC
 
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
DoKC
 
The Kubernetes Native Database
The Kubernetes Native DatabaseThe Kubernetes Native Database
The Kubernetes Native Database
DoKC
 
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
DoKC
 
Implementing data and databases on K8s within the Dutch government
Implementing data and databases on K8s within the Dutch governmentImplementing data and databases on K8s within the Dutch government
Implementing data and databases on K8s within the Dutch government
DoKC
 
StatefulSets in K8s - DoK Talks #154
StatefulSets in K8s - DoK Talks #154StatefulSets in K8s - DoK Talks #154
StatefulSets in K8s - DoK Talks #154
DoKC
 
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...
DoKC
 
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
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
 
Evaluating Cloud Native Storage Vendors - DoK Talks #147
Evaluating Cloud Native Storage Vendors - DoK Talks #147Evaluating Cloud Native Storage Vendors - DoK Talks #147
Evaluating Cloud Native Storage Vendors - DoK Talks #147
DoKC
 
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...
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
 
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
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
 
Implementing data and databases on K8s within the Dutch government
Implementing data and databases on K8s within the Dutch governmentImplementing data and databases on K8s within the Dutch government
Implementing data and databases on K8s within the Dutch government
 
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...
 
Evaluating Cloud Native Storage Vendors - DoK Talks #147
Evaluating Cloud Native Storage Vendors - DoK Talks #147Evaluating Cloud Native Storage Vendors - DoK Talks #147
Evaluating Cloud Native Storage Vendors - DoK Talks #147
 
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
 

Recently uploaded

AI_dev Europe 2024 - From OpenAI to Opensource AI
AI_dev Europe 2024 - From OpenAI to Opensource AIAI_dev Europe 2024 - From OpenAI to Opensource AI
AI_dev Europe 2024 - From OpenAI to Opensource AI
Raphaël Semeteys
 
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses
Larry Smarr
 
How RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptxHow RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptx
SynapseIndia
 
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdfWhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
ArgaBisma
 
The Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive ComputingThe Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive Computing
Larry Smarr
 
UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference
UiPathCommunity
 
What's Next Web Development Trends to Watch.pdf
What's Next Web Development Trends to Watch.pdfWhat's Next Web Development Trends to Watch.pdf
What's Next Web Development Trends to Watch.pdf
SeasiaInfotech2
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions
 
STKI Israeli Market Study 2024 final v1
STKI Israeli Market Study 2024 final  v1STKI Israeli Market Study 2024 final  v1
STKI Israeli Market Study 2024 final v1
Dr. Jimmy Schwarzkopf
 
this resume for sadika shaikh bca student
this resume for sadika shaikh bca studentthis resume for sadika shaikh bca student
this resume for sadika shaikh bca student
SadikaShaikh7
 
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
jackson110191
 
HTTP Adaptive Streaming – Quo Vadis (2024)
HTTP Adaptive Streaming – Quo Vadis (2024)HTTP Adaptive Streaming – Quo Vadis (2024)
HTTP Adaptive Streaming – Quo Vadis (2024)
Alpen-Adria-Universität
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
Eric D. Schabell
 
一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理
一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理
一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理
uuuot
 
How to Avoid Learning the Linux-Kernel Memory Model
How to Avoid Learning the Linux-Kernel Memory ModelHow to Avoid Learning the Linux-Kernel Memory Model
How to Avoid Learning the Linux-Kernel Memory Model
ScyllaDB
 
MYIR Product Brochure - A Global Provider of Embedded SOMs & Solutions
MYIR Product Brochure - A Global Provider of Embedded SOMs & SolutionsMYIR Product Brochure - A Global Provider of Embedded SOMs & Solutions
MYIR Product Brochure - A Global Provider of Embedded SOMs & Solutions
Linda Zhang
 
Calgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptxCalgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptx
ishalveerrandhawa1
 
Knowledge and Prompt Engineering Part 2 Focus on Prompt Design Approaches
Knowledge and Prompt Engineering Part 2 Focus on Prompt Design ApproachesKnowledge and Prompt Engineering Part 2 Focus on Prompt Design Approaches
Knowledge and Prompt Engineering Part 2 Focus on Prompt Design Approaches
Earley Information Science
 
Navigating Post-Quantum Blockchain: Resilient Cryptography in Quantum Threats
Navigating Post-Quantum Blockchain: Resilient Cryptography in Quantum ThreatsNavigating Post-Quantum Blockchain: Resilient Cryptography in Quantum Threats
Navigating Post-Quantum Blockchain: Resilient Cryptography in Quantum Threats
anupriti
 
Cookies program to display the information though cookie creation
Cookies program to display the information though cookie creationCookies program to display the information though cookie creation
Cookies program to display the information though cookie creation
shanthidl1
 

Recently uploaded (20)

AI_dev Europe 2024 - From OpenAI to Opensource AI
AI_dev Europe 2024 - From OpenAI to Opensource AIAI_dev Europe 2024 - From OpenAI to Opensource AI
AI_dev Europe 2024 - From OpenAI to Opensource AI
 
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses
 
How RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptxHow RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptx
 
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdfWhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
 
The Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive ComputingThe Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive Computing
 
UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference
 
What's Next Web Development Trends to Watch.pdf
What's Next Web Development Trends to Watch.pdfWhat's Next Web Development Trends to Watch.pdf
What's Next Web Development Trends to Watch.pdf
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
 
STKI Israeli Market Study 2024 final v1
STKI Israeli Market Study 2024 final  v1STKI Israeli Market Study 2024 final  v1
STKI Israeli Market Study 2024 final v1
 
this resume for sadika shaikh bca student
this resume for sadika shaikh bca studentthis resume for sadika shaikh bca student
this resume for sadika shaikh bca student
 
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
 
HTTP Adaptive Streaming – Quo Vadis (2024)
HTTP Adaptive Streaming – Quo Vadis (2024)HTTP Adaptive Streaming – Quo Vadis (2024)
HTTP Adaptive Streaming – Quo Vadis (2024)
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
 
一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理
一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理
一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理
 
How to Avoid Learning the Linux-Kernel Memory Model
How to Avoid Learning the Linux-Kernel Memory ModelHow to Avoid Learning the Linux-Kernel Memory Model
How to Avoid Learning the Linux-Kernel Memory Model
 
MYIR Product Brochure - A Global Provider of Embedded SOMs & Solutions
MYIR Product Brochure - A Global Provider of Embedded SOMs & SolutionsMYIR Product Brochure - A Global Provider of Embedded SOMs & Solutions
MYIR Product Brochure - A Global Provider of Embedded SOMs & Solutions
 
Calgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptxCalgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptx
 
Knowledge and Prompt Engineering Part 2 Focus on Prompt Design Approaches
Knowledge and Prompt Engineering Part 2 Focus on Prompt Design ApproachesKnowledge and Prompt Engineering Part 2 Focus on Prompt Design Approaches
Knowledge and Prompt Engineering Part 2 Focus on Prompt Design Approaches
 
Navigating Post-Quantum Blockchain: Resilient Cryptography in Quantum Threats
Navigating Post-Quantum Blockchain: Resilient Cryptography in Quantum ThreatsNavigating Post-Quantum Blockchain: Resilient Cryptography in Quantum Threats
Navigating Post-Quantum Blockchain: Resilient Cryptography in Quantum Threats
 
Cookies program to display the information though cookie creation
Cookies program to display the information though cookie creationCookies program to display the information though cookie creation
Cookies program to display the information though cookie creation
 

Using Kubernetes to deliver a “serverless” service

  • 1. Delivering a “Serverless” Service //we will start in just a minute
  • 2. Before we get started Jim Walker • Principal Product Evangelist • @jaymce This session is INTERMEDIATE • I am not database “experts” • I am curious and love tech • I think this stuff is cool and these concepts define the future • GOAL: a high level context of the concept
  • 6. Serverless as a computing paradigm… 1. Little to no manual server management 2. Automatic, elastic app/service scale 3. Built-in resilience and inherently fault tolerant service 4. Always available and instant access 5. Consumption-based rating or billing mechanism 6. Survive any failure domain, including regions 7. Geographic Scale and latencies 8. Infrastructure-less Over the past 5 or so years, the serverless execution model has been most commonly used for: ● Serverless compute ● Serverless functions ● Serverless app development
  • 8. So, how do you make a database app serverless? Language Execution Storage Language: SQL Distributed Execution Replication & Distribution Most Databases Storage Find the divide
  • 9. single cluster - one logical database CockroachDB Node 1 Pulling it together, into serverless and beyond SQL Layer Execution Storage & Replication Distribution CockroachDB Node 2 SQL Layer Execution Storage & Replication Distribution CockroachDB Node 3 SQL Layer Execution Storage & Replication Distribution
  • 10. Virtual Cluster Shared CockroachDB Storage ONLY Cluster CockroachDB SQL Pod 1 Serverless decouples execution and storage SQL Layer Execution Distribution Storage & Replication Storage & Replication Storage & Replication CockroachDB SQL Pod 2 SQL Layer Execution Distribution CockroachDB SQL Pod 3 SQL Layer Execution Distribution SQL Storage
  • 11. Virtual Cluster - Tenant 3 Virtual Cluster 2 Virtual Cluster - Tenant 1 Shared CockroachDB Storage ONLY Cluster Tenant 1 SQL Pod 1 This allows to scale storage and execution separately SQL Layer Execution Distribution Storage & Replication Storage & Replication Storage & Replication Tenant 1 SQL Pod 2 SQL Layer Execution Distribution Tenant 1 SQL Pod 3 SQL Layer Execution Distribution Tenant 2 SQL Pod 1 SQL Layer Execution Distribution Tenant 3 SQL Pod 1 SQL Layer Execution Distribution Tenant 3 SQL Pod 2 SQL Layer Execution Distribution Tenant 3 SQL Pod 3 SQL Layer Execution Distribution
  • 12. Availability Zone 1 Availability Zone 2 Availability Zone 3 App pods are spreads across AZs and the storage cluster is spread to optimize for resilience Storage & Replication Storage & Replication Storage & Replication Tenant1 SQL Pod 3 SQL Layer Execution Distribution Tenant1 SQL Pod 2 SQL Layer Execution Distribution Tenant1 SQL Pod 1 SQL Layer Execution Distribution
  • 13. Availability Zone 1 Availability Zone 2 Availability Zone 3 App pods are spreads across AZs and the storage cluster is spread to optimize for resilience Storage & Replication Storage & Replication Storage & Replication Tenant1 SQL Pod 3 SQL Layer Execution Distribution Tenant2 SQL Pod 1 SQL Layer Execution Distribution Tenant1 SQL Pod 2 SQL Layer Execution Distribution Tenant1 SQL Pod 1 SQL Layer Execution Distribution
  • 14. Availability Zone 1 Availability Zone 2 Availability Zone 3 App pods are spreads across AZs and the storage cluster is spread to optimize for resilience Storage & Replication Storage & Replication Storage & Replication Tenant3 SQL Pod 1 SQL Layer Execution Distribution Tenant1 SQL Pod 3 SQL Layer Execution Distribution Tenant2 SQL Pod 1 SQL Layer Execution Distribution Tenant3 SQL Pod 2 SQL Layer Execution Distribution Tenant1 SQL Pod 2 SQL Layer Execution Distribution Tenant1 SQL Pod 1 SQL Layer Execution Distribution Tenant3 SQL Pod 3 SQL Layer Execution Distribution
  • 15. Availability Zone 1 Availability Zone 2 Availability Zone 3 We introduce proxy pods that routes tenant queries to their SQL pods Storage & Replication Storage & Replication Storage & Replication Proxy Proxy Proxy Proxy LOAD BALANCER Tenant3 SQL Pod 1 SQL Layer Execution Distribution Tenant1 SQL Pod 3 SQL Layer Execution Distribution Tenant2 SQL Pod 1 SQL Layer Execution Distribution Tenant3 SQL Pod 2 SQL Layer Execution Distribution Tenant1 SQL Pod 2 SQL Layer Execution Distribution Tenant1 SQL Pod 1 SQL Layer Execution Distribution Tenant3 SQL Pod 3 SQL Layer Execution Distribution
  • 16. Serverless Scale Data volume scale is accomplished in the storage cluster and uses native distribution and range splitting Transactional scale is quite different. We need to ● Accommodate elastic usage ● Deal with spikes in traffic ● Spin down to dormant usage Autoscaler monitors CPU load on each SQL pod in the cluster, and calculates the number of SQL pods/tenant based on two metrics: • Average CPU usage over the last 5 minutes. • Peak CPU usage during the last 5 minutes. This is all accomplished using ephemeral SQL pods
  • 17. Availability Zone 1 Availability Zone 2 Availability Zone 3 Autoscaling your application Storage & Replication Storage & Replication Storage & Replication Tenant1 SQL pod 3 SQL Layer Execution Distribution Tenant1 SQL POd 2 SQL Layer Execution Distribution Tenant1 SQL Pod 1 SQL Layer Execution Distribution Proxy Proxy Proxy Proxy LOAD BALANCER unassigned unassigned unassigned unassigned unassigned unassigned unassigned unassigned unassigned “Hot” pods “Hot” pods “Hot” pods Tenant1 Capacity
  • 18. Availability Zone 1 Availability Zone 2 Availability Zone 3 Accommodates peaks in traffic by adding SQL pods Storage & Replication Storage & Replication Storage & Replication Tenant1 SQL Pod 3 SQL Layer Execution Distribution Tenant1 SQL Pod 2 SQL Layer Execution Distribution Tenant1 SQL Pod 1 SQL Layer Execution Distribution Proxy Proxy Proxy Proxy LOAD BALANCER unassigned Tenant1 SQL pod 4 SQL Layer Execution Distribution unassigned unassigned unassigned unassigned unassigned unassigned unassigned unassigned “Hot” pods “Hot” pods “Hot” pods Tenant1 Capacity
  • 19. Availability Zone 1 Availability Zone 2 Availability Zone 3 ...and returns to “steady state” after the event Storage & Replication Storage & Replication Storage & Replication Tenant1 SQL Pod 3 SQL Layer Execution Distribution Tenant1 SQL Pod 2 SQL Layer Execution Distribution Tenant1 SQL Pod 1 SQL Layer Execution Distribution Proxy Proxy Proxy Proxy LOAD BALANCER unassigned unassigned unassigned unassigned unassigned unassigned unassigned unassigned unassigned “Hot” pods “Hot” pods “Hot” pods Tenant1 Capacity
  • 20. Availability Zone 1 Availability Zone 2 Availability Zone 3 And when there is no traffic, the tenant goes dormant and the pods spin down to zero Storage & Replication Storage & Replication Storage & Replication Proxy Proxy Proxy Proxy LOAD BALANCER unassigned unassigned unassigned unassigned unassigned unassigned unassigned unassigned unassigned “Hot” pods “Hot” pods “Hot” pods Tenant1 Capacity
  • 21. Availability Zone 1 Availability Zone 2 Availability Zone 3 When it needs to “wake up”, it spins up a “hot” pod Storage & Replication Storage & Replication Storage & Replication Proxy Proxy Proxy Proxy LOAD BALANCER unassigned unassigned unassigned unassigned unassigned unassigned unassigned unassigned unassigned “Hot” pods “Hot” pods “Hot” pods Tenant1 Capacity Tenant1 SQL Pod 4 SQL Layer Execution Distribution
  • 22. Serverless gives developers what they want Spin up a CockroachDB Serverless cluster in seconds, for free w/out a credit card Start Instantly No need to manage, upgrade or operate the database, just connect and code No Operations Use a SQL database that scales storage and transaction vols up/down to meet demand Auto Scale CockroachDB serverless replicates your data across AZs to ensure it is always available Eliminate Downtime
  • 23. Serverless gives developers what they want Spin up a CockroachDB Serverless cluster in seconds, for free w/out a credit card Start Instantly No need to manage, upgrade or operate the database, just connect and code No Operations Use a SQL database that scales storage and transaction vols up/down to meet demand Auto Scale CockroachDB serverless replicates your data across AZs to ensure it is always available Eliminate Downtime Just Build Relational models and SQL Guaranteed correct, low-latency transactions OPERATIONS NO YES Code against an API Wire compatible w/ PostgreSQL DEVELOPER FOCUS? CODE YES GENEROUS free tier For us, it’s a database!
  • 27. Create a CockroachDB instance now… Serverless(beta) A single region instance with a generous free tier and with a capped pay for usage beyond free limits No credit card required! Free, every month up to: • 5GB Storage • 250M Request Units Dedicated A full featured, single tenant instance. Deploy instantly on AWS or GCP in a single region or across multiple regions with 99.99% guaranteed uptime. Let our SRE team provision and manage your database. www.cockroachlabs.com
  • 28. What if I run out of request units (RUs)? CockroachDB Serverless doesn’t turn off once you use your spend limit capacity, it ensures you will have at least 100RUs/second for remainder of billing period (month) What is it good for? In its current state, We believe CockroachDB Serverless will be good for: ● side projects ● smaller apps ● low code apps ● learning SQL Gaining familiarity with SQL or CockroachDB
  • 29. SINGLE LOGICAL DATABASE CockroachDB: Architected For the Cloud A fundamentally better database for your developers and applications CockroachDB is a distributed, relational database that can be used for mundane and high value workloads It is a database cluster that is comprised of nodes that appear as a single logical database It gives your developers, familiar standard SQL USER: Ashley > INSERT (Kimball) INTO CUSTOMER;
  • 30. SINGLE LOGICAL DATABASE CockroachDB: Architected For the Cloud A fundamentally better database for your developers and applications Scale the database by simply adding more nodes. CockroachDB auto-balances to incorporate the new resource. No manual work is required. ● Easy scale for increase in database size ● Every node accepts reads and write so you also scale transactional volume USER: Ashley > INSERT (Kimball) INTO CUSTOMER; USER: Lindsay > SELECT * FROM ORDERS;
  • 31. SINGLE LOGICAL DATABASE CockroachDB: Architected For the Cloud A fundamentally better database for your developers and applications REGION 1 US-WEST REGION 1 US-WEST REGION 1 US-WEST Scale even further across regions and even clouds, yet still deliver a single logical database It excels when deployed across multiple data centers. USER: Ashley > INSERT (Kimball) INTO CUSTOMER; USER: Lindsay > SELECT * FROM ORDERS; USER: Peter > UPDATE (Kimball) FNAME=”Spencer”;
  • 32. SINGLE LOGICAL DATABASE CockroachDB: Architected For the Cloud A fundamentally better database for your developers and applications Scale even further across regions and even clouds, yet still deliver a single logical database It excels when deployed across multiple data centers. ...and even multi-cloud! USER: Ashley > INSERT (Kimball) INTO CUSTOMER; USER: Lindsay > SELECT * FROM ORDERS; USER: Peter > UPDATE (Kimball) FNAME=”Spencer”;
  • 33. SINGLE LOGICAL DATABASE CockroachDB: Architected For the Cloud A fundamentally better database for your developers and applications USER: Ashley > INSERT (Kimball) INTO CUSTOMER; USER: Lindsay > SELECT * FROM ORDERS; REGION 1 US-WEST REGION 1 US-WEST REGION 1 US-WEST USER: Peter > UPDATE (Kimball) FNAME=”Spencer”; CockroachDB is naturally resilient so you can survive the failure of a node or even an entire region without service disruption ● Always-on, always available w/ zero RPO/RTO ● Allows for no downtime rolling upgrades
  • 34. REGION 2 US-EAST REGION 3 EMEA REGION 1 US-WEST CockroachDB: Architected For the Cloud A fundamentally better database for your developers and applications USER: Random > INSERT (Kimball) INTO CUSTOMER; LOAD BALANCER Kimball Mattis Stewart LOAD BALANCER LOAD BALANCER Kimball Mattis Stewart Kimball Mattis Stewart Ask any node for data and it will find it in the cluster
  • 35. REGION 2 US-EAST REGION 3 EMEA REGION 1 US-WEST CockroachDB: Architected For the Cloud A fundamentally better database for your developers and applications USER: Random > INSERT (Kimball) INTO CUSTOMER; LOAD BALANCER Kimball Mattis Stewart USER: Kimball > SELECT (Kimball) FROM CUSTOMER; LOAD BALANCER LOAD BALANCER Ask any node for data and it will find it in the cluster Geo-locate data near user to reduce read/write latencies (or comply with regulations) Kimball Mattis Stewart Kimball Mattis Stewart