SlideShare una empresa de Scribd logo
1 de 45
Descargar para leer sin conexión
Lessons from Large-Scale
Cloud Software at Databricks
Matei Zaharia
@matei_zaharia
2
Outline
The cloud is eating software, but why?
About Databricks
Challenges, solutions and research questions
3
Outline
The cloud is eating software, but why?
About Databricks
Challenges, solutions and research questions
4
Traditional Software Cloud SoftwareVendorCustomers
Dev Team
Release
6-12 months
Users
Ops
Users
Ops
Users
Ops
Users
Ops
Dev + Ops Team
1-2 weeks
Users
Ops
Users
Ops
Users
Ops
Users
Ops
6-12 months
5
Why Use Cloud Software?
Management built-in: much more value than the software
bits alone (security, availability, etc)
1
2
3
Elasticity: pay-as-you-go, scale on demand
Better features released faster
6
Differences in Building Cloud Software
+ Release cycle: send to users faster, get feedback faster
+ Only need to maintain 2 software versions (current & next),
in fewer configurations than you’d have on-prem
– Upgrading without regressions: very hard, but critical for users
to trust your cloud (on-prem apps don’t need this)
§ Includes API, semantics, and performance regressions
7
Many of these challenges aren’t studied in research
Differences in Building Cloud Software
– Building a multitenant service: significant scaling, security and
performance isolation work that you won’t need on-prem
(customers install separate instances)
– Operating the service: security, availability, monitoring, etc
(but customers would have to do it themselves on-prem)
+ Monitoring: see usage live for ops & product analytics
8
About Databricks
Founded in 2013 by the Apache Spark team at UC Berkeley
Data and ML platform on AWS and Azure for >5000 customers
§ Millions of VMs launched/day, processing exabytes of data
§ 100,000s of users
1000 employees, 200 engineers, >$200M ARR
9
VMs Managed / Day
10
Some of Our CustomersFinancial Services Healthcare & Pharma Media & Entertainment Technology
Public Sector Retail & CPG Consumer Services Energy & Industrial IoTMarketing & AdTech
Data & Analytics Services
11
Financial Services Healthcare & Pharma Media & Entertainment Technology
Public Sector Retail & CPG Consumer Services Energy & Industrial IoTMarketing & AdTech
Data & Analytics Services
Identify fraud using machine
learning on 30 PB of trade data
Some of Our Customers
12
Financial Services Healthcare & Pharma Media & Entertainment Technology
Public Sector Retail & CPG Consumer Services Energy & Industrial IoTMarketing & AdTech
Data & Analytics Services
Correlate 500,000 patients’ records
with their DNA to design therapies
Some of Our Customers
13
Financial Services Healthcare & Pharma Media & Entertainment Technology
Public Sector Retail & CPG Consumer Services Energy & Industrial IoTMarketing & AdTech
Data & Analytics Services
Curb abusive behavior in the
world’s largest online game
Some of Our Customers
14
Security policies
Our Product
Built around
open source:
Interactive
data science
Scheduled jobs
SQL frontend
Data scientists
Data engineers
Business users
Cloud Storage
Compute Clusters
ML platform
Databricks Runtime
Data catalog
Customer’s Cloud AccountDatabricks Service
15
Our Specific Challenges
All the usual challenges of SaaS:
§ Availability, security, multitenancy, updates, etc
Plus, the workloads themselves are large-scale!
§ One user job could easily overload control services
§ Millions of VMs ⇒ many weird failures
16
Four Lessons
1
2
3
What goes wrong in cloud systems?
Testing for scalability & stability
Developing control planes
4 Evolving big data systems for the cloud
17
Four Lessons
1
2
3
What goes wrong in cloud systems?
Testing for scalability & stability
Developing control planes
4 Evolving big data systems for the cloud
18
What Goes Wrong in the Cloud?
Academic research studies many kinds of failures:
§ Software bugs, network config, crash failures, etc
These matter, but other problems often have larger impact:
§ Scaling and resource limits
§ Workload isolation
§ Updates & regressions
19
Causes of Significant Outages
Scaling problem
in our services
Scaling problem in
underlying cloud services
Insufficient
user isolation
Deployment
misconfiguration
Other
30%
20%20%
20%
10%
20
Causes of Significant Outages
Scaling problem
in our services
Scaling problem in
underlying cloud services
Insufficient
user isolation
Deployment
misconfiguration
Other
30%
20%20%
20%
10% 70% scale
related
21
Some Issues We Experienced
Cloud networks: limits, partitions, slow DHCP, hung connections
Automated apps creating large load
Very large requests, results, etc
Slow VM launches/shutdowns, lack of VM capacity
Data corruption writing to cloud storage
22
Example Outage: Aborted Jobs
Jobs Service launches & tracks jobs on clusters
1 customer running many jobs/sec on same cluster
Cloud’s network reaches a limit of 1000 connections/VM
between Jobs Service & clusters
§ After this limit, new connections hang in state SYN_SENT
Resource usage from hanging connections causes
memory pressure and GC
Health checks to some jobs time out, so we abort them
Jobs
Service
Cloud
Network Customer
Clusters
23
Surprisingly Rare Issues
1 cloud-wide VM restart on AWS (Xen patch)
1 misreported security scan on customer VM
1 significant S3 outage
1 kernel bug (hung TCP connections due to SACK fix)
24
Lessons
Cloud services must handle load that varies on many dimensions,
and rely on other services with varying limits & failure modes
§ Problems likely to get worse in a “cloud service economy”
End-to-end issues remain hard to prevent
The usual factors of MTTR, monitoring, testing, etc help
25
Four Lessons
1
2
3
What goes wrong in cloud systems?
Testing for scalability & stability
Developing control planes
4 Evolving big data systems for the cloud
26
Testing for Scalability & Stability
Software correctness is a Boolean property: does your software
give the right output on a given input?
Scalability and stability are a matter of degree
§ What load will your system fail at? (any system with limited resources will)
§ What failure behavior will you have? (crash all clients, drop some, etc)
27
Example Scalability Problems
Large result: can crash browser,
notebook service, driver or Spark
Large record in file
Large # of tasks
Code that freezes a worker
+ All these affect other users!
User Browser Notebook
Service
Driver
App
Workers
Other Users
??
28
Databricks Stress Test Infrastructure
1. Identify dimensions for a system to scale in (e.g. # of users, number
of output rows, size of each output row, etc)
2. Grow load in each dimension until a failure occurs
3. Record failure type and impact on system
§ Error message, timeout, wrong result?
§ Are other clients affected?
§ Does the system auto-recover? How fast?
4. Compare over time and on changes
29
Example Output
30
Four Lessons
1
2
3
What goes wrong in cloud systems?
Testing for scalability & stability
Developing control planes
4 Evolving big data systems for the cloud
31
Developing Control Planes
Cloud software consists of interacting, independently updated
services, many of which call other services
What should be the programming model for this software?
32
Examples
Cluster manager service:
§ API: requests to launch, scale and shut down clusters
§ Behavior: request VMs, set up clusters, reuse VMs in pools
§ State: requests, running VMs, etc
Jobs service:
§ API: scheduled or API-triggered jobs to execute
§ Behavior: acquire a cluster, run job, monitor state, retry
§ State: jobs to be run, what’s currently active, where is it, etc
33
Examples
Cluster manager service:
§ API: requests to launch, scale and shut down clusters
§ Behavior: request VMs, set up clusters, reuse VMs in pools
§ State: requests, running VMs, etc
Jobs service:
§ API: scheduled or API-triggered jobs to execute
§ Behavior: acquire a cluster, run job, monitor state, retry
§ State: jobs to be run, what’s currently active, where is it, etc
Cloud VM
Service
IAM
Service
Usage
Service
Notebook
Service
. . .
. . .
34
Control Plane Infrastructure
Our Platform Team develops a service framework that handles:
§ Deployment: AWS, Azure, local, special environments
§ Storage: databases, schema updates, etc
§ Security tokens & roles
§ Monitoring
§ API routing & limiting
§ Feature flagging
Our service stack:
JSonnet
35
Best Practices
Isolate state: relational DB is usually enough with org sharding
Isolate components that scale differently: allows separate scaling
Manage changes through feature flags: fastest, safest way
Watch key metrics: most outages could be predicted from one of
CPU load, memory load, DB load or thread pool exhaustion
Test pyramid: 70% unit tests, 20% integration, 10% end-to-end
36
Cluster manager v1 Cluster manager v2
Example: Cluster Manager
Cloud
VM API
Cluster
Manager
Customer Clusters
Cloud
VM API
CM Master
Customer Clusters
Delegate Delegate
Usage, billing, etc
VM launch, setup,
monitoring, etc
37
Challenges in Control Planes
Fine-grained isolation within a service
Non-standard failure modes (e.g. network conn. exhaustion)
Transitioning between architectures
38
Four Lessons
1
2
3
What goes wrong in cloud systems?
Testing for scalability & stability
Developing control planes
4 Evolving big data systems for the cloud
39
Evolving Big Data Systems for the Cloud
MapReduce, Spark, etc were designed for on-premise datacenters
How can we evolve these leverage the benefits of the cloud?
§ Availability, elasticity, scale, multitenancy, etc
Two examples from Databricks:
§ Delta Lake: ACID on cloud object stores
§ Cloudifying Apache Spark
40
Delta Lake Motivation
Cloud object stores (S3, Azure blob, etc) are the largest storage
systems on the planet
§ Unmatched availability, parallel I/O bandwidth, and cost-efficiency
Open source big data stack was designed for on-prem world
§ Filesystem API for storage
§ RDBMS for table metadata (Hive metastore)
§ Other distributed systems, e.g. ZooKeeper
How can big data systems fully leverage cloud object stores?
Stronger consistency model
Scale & management complexity
41
Spark on HDFS Spark on S3 (Naïve)
Example: Atomic Parallel Writes
Input Files Output Partitions
/tmp-job-1
/my-output
Atomic
Rename
Input Files Output Partitions
/my-output/part-1
/my-output/part-2
/my-output/part-3
/my-output/part-4
part-1
part-2
part-3
part-4
/_DONE
Full object names
(no cheap rename)
Real cases are harder (e.g. appending to a table)
42
Delta Lake Design
1. Track metadata that says which objects are part of a dataset
2. Store this metadata itself in a cloud object store
§ Write-ahead log in S3, compressed using Apache Parquet
Before Delta Lake: 50% of Spark support
issues were about cloud storage
After: fewer issues, increased perf
Input Files Output Partitions
/my-output/part-X
/my-output/part-Y
/my-output/part-Z
/my-output/part-W
/my-output/_delta_log
Commit
Manager https://delta.io
10x faster metadata
ops than Hive on S3!
43
Major Benefits of Delta Lake
Once we had transactions over S3, we could build much more:
§ UPSERT, DELETE, etc (GDPR)
§ Caching
§ Multidimensional indexing
§ Audit logging
§ Time travel
§ Background optimization
0
0.2
0.4
0.6
0.8
1
Parquet
Parquet+
order
Delta
Z-order
Runningtime
Filter on 2 Fields
Result: greatly simplified
customers’ data architectures
44
Other Cloud Features
Scheduler-integrated autoscaling for Apache Spark
Autoscaling local storage volumes
User isolation for high-concurrency Spark clusters
§ Serverless experience for users inside an org
§ Separate library envs, IAM roles, performance & fault isolation
45
Conclusion
The cloud is eating software by enabling much better products
§ Self-managing, elastic, more reliable & scalable
But building cloud products is understudied and hard
§ Come see what’s involved in an internship!
Many opportunities, from service fabrics to cloud-native systems
We’re hiring in SF, Amsterdam & Toronto: databricks.com/jobs

Más contenido relacionado

La actualidad más candente

Data Lakehouse, Data Mesh, and Data Fabric (r1)
Data Lakehouse, Data Mesh, and Data Fabric (r1)Data Lakehouse, Data Mesh, and Data Fabric (r1)
Data Lakehouse, Data Mesh, and Data Fabric (r1)James Serra
 
Modern ETL Pipelines with Change Data Capture
Modern ETL Pipelines with Change Data CaptureModern ETL Pipelines with Change Data Capture
Modern ETL Pipelines with Change Data CaptureDatabricks
 
Introduction SQL Analytics on Lakehouse Architecture
Introduction SQL Analytics on Lakehouse ArchitectureIntroduction SQL Analytics on Lakehouse Architecture
Introduction SQL Analytics on Lakehouse ArchitectureDatabricks
 
Data Mesh for Dinner
Data Mesh for DinnerData Mesh for Dinner
Data Mesh for DinnerKent Graziano
 
Simplifying Big Data Analytics with Apache Spark
Simplifying Big Data Analytics with Apache SparkSimplifying Big Data Analytics with Apache Spark
Simplifying Big Data Analytics with Apache SparkDatabricks
 
A Thorough Comparison of Delta Lake, Iceberg and Hudi
A Thorough Comparison of Delta Lake, Iceberg and HudiA Thorough Comparison of Delta Lake, Iceberg and Hudi
A Thorough Comparison of Delta Lake, Iceberg and HudiDatabricks
 
Big data architectures and the data lake
Big data architectures and the data lakeBig data architectures and the data lake
Big data architectures and the data lakeJames Serra
 
Simplify CDC Pipeline with Spark Streaming SQL and Delta Lake
Simplify CDC Pipeline with Spark Streaming SQL and Delta LakeSimplify CDC Pipeline with Spark Streaming SQL and Delta Lake
Simplify CDC Pipeline with Spark Streaming SQL and Delta LakeDatabricks
 
Pivoting Data with SparkSQL by Andrew Ray
Pivoting Data with SparkSQL by Andrew RayPivoting Data with SparkSQL by Andrew Ray
Pivoting Data with SparkSQL by Andrew RaySpark Summit
 
Introduction to Graph Databases
Introduction to Graph DatabasesIntroduction to Graph Databases
Introduction to Graph DatabasesDataStax
 
Modern Data Warehousing with the Microsoft Analytics Platform System
Modern Data Warehousing with the Microsoft Analytics Platform SystemModern Data Warehousing with the Microsoft Analytics Platform System
Modern Data Warehousing with the Microsoft Analytics Platform SystemJames Serra
 
Snowflake Company Presentation
Snowflake Company PresentationSnowflake Company Presentation
Snowflake Company PresentationAndrewJiang18
 
Get Savvy with Snowflake
Get Savvy with SnowflakeGet Savvy with Snowflake
Get Savvy with SnowflakeMatillion
 
Unified MLOps: Feature Stores & Model Deployment
Unified MLOps: Feature Stores & Model DeploymentUnified MLOps: Feature Stores & Model Deployment
Unified MLOps: Feature Stores & Model DeploymentDatabricks
 
Databricks Platform.pptx
Databricks Platform.pptxDatabricks Platform.pptx
Databricks Platform.pptxAlex Ivy
 
Data Lake Overview
Data Lake OverviewData Lake Overview
Data Lake OverviewJames Serra
 

La actualidad más candente (20)

Data Lakehouse, Data Mesh, and Data Fabric (r1)
Data Lakehouse, Data Mesh, and Data Fabric (r1)Data Lakehouse, Data Mesh, and Data Fabric (r1)
Data Lakehouse, Data Mesh, and Data Fabric (r1)
 
Why Data Vault?
Why Data Vault? Why Data Vault?
Why Data Vault?
 
Modern ETL Pipelines with Change Data Capture
Modern ETL Pipelines with Change Data CaptureModern ETL Pipelines with Change Data Capture
Modern ETL Pipelines with Change Data Capture
 
Introduction SQL Analytics on Lakehouse Architecture
Introduction SQL Analytics on Lakehouse ArchitectureIntroduction SQL Analytics on Lakehouse Architecture
Introduction SQL Analytics on Lakehouse Architecture
 
Data Mesh for Dinner
Data Mesh for DinnerData Mesh for Dinner
Data Mesh for Dinner
 
Simplifying Big Data Analytics with Apache Spark
Simplifying Big Data Analytics with Apache SparkSimplifying Big Data Analytics with Apache Spark
Simplifying Big Data Analytics with Apache Spark
 
A Thorough Comparison of Delta Lake, Iceberg and Hudi
A Thorough Comparison of Delta Lake, Iceberg and HudiA Thorough Comparison of Delta Lake, Iceberg and Hudi
A Thorough Comparison of Delta Lake, Iceberg and Hudi
 
Big data architectures and the data lake
Big data architectures and the data lakeBig data architectures and the data lake
Big data architectures and the data lake
 
Data Mesh
Data MeshData Mesh
Data Mesh
 
Graph databases
Graph databasesGraph databases
Graph databases
 
Simplify CDC Pipeline with Spark Streaming SQL and Delta Lake
Simplify CDC Pipeline with Spark Streaming SQL and Delta LakeSimplify CDC Pipeline with Spark Streaming SQL and Delta Lake
Simplify CDC Pipeline with Spark Streaming SQL and Delta Lake
 
Pivoting Data with SparkSQL by Andrew Ray
Pivoting Data with SparkSQL by Andrew RayPivoting Data with SparkSQL by Andrew Ray
Pivoting Data with SparkSQL by Andrew Ray
 
Snowflake Overview
Snowflake OverviewSnowflake Overview
Snowflake Overview
 
Introduction to Graph Databases
Introduction to Graph DatabasesIntroduction to Graph Databases
Introduction to Graph Databases
 
Modern Data Warehousing with the Microsoft Analytics Platform System
Modern Data Warehousing with the Microsoft Analytics Platform SystemModern Data Warehousing with the Microsoft Analytics Platform System
Modern Data Warehousing with the Microsoft Analytics Platform System
 
Snowflake Company Presentation
Snowflake Company PresentationSnowflake Company Presentation
Snowflake Company Presentation
 
Get Savvy with Snowflake
Get Savvy with SnowflakeGet Savvy with Snowflake
Get Savvy with Snowflake
 
Unified MLOps: Feature Stores & Model Deployment
Unified MLOps: Feature Stores & Model DeploymentUnified MLOps: Feature Stores & Model Deployment
Unified MLOps: Feature Stores & Model Deployment
 
Databricks Platform.pptx
Databricks Platform.pptxDatabricks Platform.pptx
Databricks Platform.pptx
 
Data Lake Overview
Data Lake OverviewData Lake Overview
Data Lake Overview
 

Similar a Lessons from Large-Scale Cloud Software at Databricks

Scaling Databricks to Run Data and ML Workloads on Millions of VMs
Scaling Databricks to Run Data and ML Workloads on Millions of VMsScaling Databricks to Run Data and ML Workloads on Millions of VMs
Scaling Databricks to Run Data and ML Workloads on Millions of VMsMatei Zaharia
 
Using Grid Technologies in the Cloud for High Scalability
Using Grid Technologies in the Cloud for High ScalabilityUsing Grid Technologies in the Cloud for High Scalability
Using Grid Technologies in the Cloud for High Scalabilitymabuhr
 
Cloud Computing – Opportunities, Definitions, Options, and Risks (Part-1)
Cloud Computing – Opportunities, Definitions, Options, and Risks (Part-1)Cloud Computing – Opportunities, Definitions, Options, and Risks (Part-1)
Cloud Computing – Opportunities, Definitions, Options, and Risks (Part-1)Manoj Kumar
 
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...Prolifics
 
AWS re:Invent 2016: Effective Application Data Analytics for Modern Applicati...
AWS re:Invent 2016: Effective Application Data Analytics for Modern Applicati...AWS re:Invent 2016: Effective Application Data Analytics for Modern Applicati...
AWS re:Invent 2016: Effective Application Data Analytics for Modern Applicati...Amazon Web Services
 
V center application discovery manager customer facing technical presentation
V center application discovery manager customer facing technical presentationV center application discovery manager customer facing technical presentation
V center application discovery manager customer facing technical presentationsolarisyourep
 
Refactoring to Microservices
Refactoring to MicroservicesRefactoring to Microservices
Refactoring to MicroservicesJacinto Limjap
 
Service Virtualization: What Testers Need to Know
Service Virtualization: What Testers Need to KnowService Virtualization: What Testers Need to Know
Service Virtualization: What Testers Need to KnowTechWell
 
Transitioning to the Cloud: Implications for Reliability, Redundancy & Recove...
Transitioning to the Cloud: Implications for Reliability, Redundancy & Recove...Transitioning to the Cloud: Implications for Reliability, Redundancy & Recove...
Transitioning to the Cloud: Implications for Reliability, Redundancy & Recove...RightScale
 
Ensuring d.s
Ensuring d.sEnsuring d.s
Ensuring d.skarthi j
 
Data stream processing and micro service architecture
Data stream processing and micro service architectureData stream processing and micro service architecture
Data stream processing and micro service architectureVyacheslav Benedichuk
 
Stateful on Stateless - The Future of Applications in the Cloud
Stateful on Stateless - The Future of Applications in the CloudStateful on Stateless - The Future of Applications in the Cloud
Stateful on Stateless - The Future of Applications in the CloudMarkus Eisele
 
Getting Started with ThousandEyes Proof of Concepts
Getting Started with ThousandEyes Proof of ConceptsGetting Started with ThousandEyes Proof of Concepts
Getting Started with ThousandEyes Proof of ConceptsThousandEyes
 
Celera Networks on Cloud Computing
Celera Networks on Cloud Computing Celera Networks on Cloud Computing
Celera Networks on Cloud Computing CeleraNetworks
 
VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...
VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...
VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...VMworld
 
2016 - 10 questions you should answer before building a new microservice
2016 - 10 questions you should answer before building a new microservice2016 - 10 questions you should answer before building a new microservice
2016 - 10 questions you should answer before building a new microservicedevopsdaysaustin
 

Similar a Lessons from Large-Scale Cloud Software at Databricks (20)

Scaling Databricks to Run Data and ML Workloads on Millions of VMs
Scaling Databricks to Run Data and ML Workloads on Millions of VMsScaling Databricks to Run Data and ML Workloads on Millions of VMs
Scaling Databricks to Run Data and ML Workloads on Millions of VMs
 
Using Grid Technologies in the Cloud for High Scalability
Using Grid Technologies in the Cloud for High ScalabilityUsing Grid Technologies in the Cloud for High Scalability
Using Grid Technologies in the Cloud for High Scalability
 
Designing Scalable Applications
Designing Scalable ApplicationsDesigning Scalable Applications
Designing Scalable Applications
 
Cloud Computing – Opportunities, Definitions, Options, and Risks (Part-1)
Cloud Computing – Opportunities, Definitions, Options, and Risks (Part-1)Cloud Computing – Opportunities, Definitions, Options, and Risks (Part-1)
Cloud Computing – Opportunities, Definitions, Options, and Risks (Part-1)
 
Microservices
MicroservicesMicroservices
Microservices
 
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
 
AWS re:Invent 2016: Effective Application Data Analytics for Modern Applicati...
AWS re:Invent 2016: Effective Application Data Analytics for Modern Applicati...AWS re:Invent 2016: Effective Application Data Analytics for Modern Applicati...
AWS re:Invent 2016: Effective Application Data Analytics for Modern Applicati...
 
Cloud Design Patterns
Cloud Design PatternsCloud Design Patterns
Cloud Design Patterns
 
V center application discovery manager customer facing technical presentation
V center application discovery manager customer facing technical presentationV center application discovery manager customer facing technical presentation
V center application discovery manager customer facing technical presentation
 
Refactoring to Microservices
Refactoring to MicroservicesRefactoring to Microservices
Refactoring to Microservices
 
VAS - VMware CMP
VAS - VMware CMPVAS - VMware CMP
VAS - VMware CMP
 
Service Virtualization: What Testers Need to Know
Service Virtualization: What Testers Need to KnowService Virtualization: What Testers Need to Know
Service Virtualization: What Testers Need to Know
 
Transitioning to the Cloud: Implications for Reliability, Redundancy & Recove...
Transitioning to the Cloud: Implications for Reliability, Redundancy & Recove...Transitioning to the Cloud: Implications for Reliability, Redundancy & Recove...
Transitioning to the Cloud: Implications for Reliability, Redundancy & Recove...
 
Ensuring d.s
Ensuring d.sEnsuring d.s
Ensuring d.s
 
Data stream processing and micro service architecture
Data stream processing and micro service architectureData stream processing and micro service architecture
Data stream processing and micro service architecture
 
Stateful on Stateless - The Future of Applications in the Cloud
Stateful on Stateless - The Future of Applications in the CloudStateful on Stateless - The Future of Applications in the Cloud
Stateful on Stateless - The Future of Applications in the Cloud
 
Getting Started with ThousandEyes Proof of Concepts
Getting Started with ThousandEyes Proof of ConceptsGetting Started with ThousandEyes Proof of Concepts
Getting Started with ThousandEyes Proof of Concepts
 
Celera Networks on Cloud Computing
Celera Networks on Cloud Computing Celera Networks on Cloud Computing
Celera Networks on Cloud Computing
 
VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...
VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...
VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...
 
2016 - 10 questions you should answer before building a new microservice
2016 - 10 questions you should answer before building a new microservice2016 - 10 questions you should answer before building a new microservice
2016 - 10 questions you should answer before building a new microservice
 

Último

Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...amitlee9823
 
Invezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz1
 
Mature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptxMature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptxolyaivanovalion
 
Discover Why Less is More in B2B Research
Discover Why Less is More in B2B ResearchDiscover Why Less is More in B2B Research
Discover Why Less is More in B2B Researchmichael115558
 
FESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfFESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfMarinCaroMartnezBerg
 
BigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxBigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxolyaivanovalion
 
Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...
Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...
Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...amitlee9823
 
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...amitlee9823
 
Edukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxEdukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxolyaivanovalion
 
Generative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusGenerative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusTimothy Spann
 
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% SecureCall me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% SecurePooja Nehwal
 
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...amitlee9823
 
ALSO dropshipping via API with DroFx.pptx
ALSO dropshipping via API with DroFx.pptxALSO dropshipping via API with DroFx.pptx
ALSO dropshipping via API with DroFx.pptxolyaivanovalion
 
Accredited-Transport-Cooperatives-Jan-2021-Web.pdf
Accredited-Transport-Cooperatives-Jan-2021-Web.pdfAccredited-Transport-Cooperatives-Jan-2021-Web.pdf
Accredited-Transport-Cooperatives-Jan-2021-Web.pdfadriantubila
 
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service BangaloreCall Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangaloreamitlee9823
 
Smarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxSmarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxolyaivanovalion
 

Último (20)

Sampling (random) method and Non random.ppt
Sampling (random) method and Non random.pptSampling (random) method and Non random.ppt
Sampling (random) method and Non random.ppt
 
Anomaly detection and data imputation within time series
Anomaly detection and data imputation within time seriesAnomaly detection and data imputation within time series
Anomaly detection and data imputation within time series
 
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
 
Invezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signals
 
Mature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptxMature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptx
 
Discover Why Less is More in B2B Research
Discover Why Less is More in B2B ResearchDiscover Why Less is More in B2B Research
Discover Why Less is More in B2B Research
 
FESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfFESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdf
 
BigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxBigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptx
 
Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...
Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...
Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...
 
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
 
Edukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxEdukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFx
 
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get CytotecAbortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
 
Generative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusGenerative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and Milvus
 
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% SecureCall me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
 
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
 
ALSO dropshipping via API with DroFx.pptx
ALSO dropshipping via API with DroFx.pptxALSO dropshipping via API with DroFx.pptx
ALSO dropshipping via API with DroFx.pptx
 
Accredited-Transport-Cooperatives-Jan-2021-Web.pdf
Accredited-Transport-Cooperatives-Jan-2021-Web.pdfAccredited-Transport-Cooperatives-Jan-2021-Web.pdf
Accredited-Transport-Cooperatives-Jan-2021-Web.pdf
 
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service BangaloreCall Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
 
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Smarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxSmarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptx
 

Lessons from Large-Scale Cloud Software at Databricks

  • 1. Lessons from Large-Scale Cloud Software at Databricks Matei Zaharia @matei_zaharia
  • 2. 2 Outline The cloud is eating software, but why? About Databricks Challenges, solutions and research questions
  • 3. 3 Outline The cloud is eating software, but why? About Databricks Challenges, solutions and research questions
  • 4. 4 Traditional Software Cloud SoftwareVendorCustomers Dev Team Release 6-12 months Users Ops Users Ops Users Ops Users Ops Dev + Ops Team 1-2 weeks Users Ops Users Ops Users Ops Users Ops 6-12 months
  • 5. 5 Why Use Cloud Software? Management built-in: much more value than the software bits alone (security, availability, etc) 1 2 3 Elasticity: pay-as-you-go, scale on demand Better features released faster
  • 6. 6 Differences in Building Cloud Software + Release cycle: send to users faster, get feedback faster + Only need to maintain 2 software versions (current & next), in fewer configurations than you’d have on-prem – Upgrading without regressions: very hard, but critical for users to trust your cloud (on-prem apps don’t need this) § Includes API, semantics, and performance regressions
  • 7. 7 Many of these challenges aren’t studied in research Differences in Building Cloud Software – Building a multitenant service: significant scaling, security and performance isolation work that you won’t need on-prem (customers install separate instances) – Operating the service: security, availability, monitoring, etc (but customers would have to do it themselves on-prem) + Monitoring: see usage live for ops & product analytics
  • 8. 8 About Databricks Founded in 2013 by the Apache Spark team at UC Berkeley Data and ML platform on AWS and Azure for >5000 customers § Millions of VMs launched/day, processing exabytes of data § 100,000s of users 1000 employees, 200 engineers, >$200M ARR
  • 10. 10 Some of Our CustomersFinancial Services Healthcare & Pharma Media & Entertainment Technology Public Sector Retail & CPG Consumer Services Energy & Industrial IoTMarketing & AdTech Data & Analytics Services
  • 11. 11 Financial Services Healthcare & Pharma Media & Entertainment Technology Public Sector Retail & CPG Consumer Services Energy & Industrial IoTMarketing & AdTech Data & Analytics Services Identify fraud using machine learning on 30 PB of trade data Some of Our Customers
  • 12. 12 Financial Services Healthcare & Pharma Media & Entertainment Technology Public Sector Retail & CPG Consumer Services Energy & Industrial IoTMarketing & AdTech Data & Analytics Services Correlate 500,000 patients’ records with their DNA to design therapies Some of Our Customers
  • 13. 13 Financial Services Healthcare & Pharma Media & Entertainment Technology Public Sector Retail & CPG Consumer Services Energy & Industrial IoTMarketing & AdTech Data & Analytics Services Curb abusive behavior in the world’s largest online game Some of Our Customers
  • 14. 14 Security policies Our Product Built around open source: Interactive data science Scheduled jobs SQL frontend Data scientists Data engineers Business users Cloud Storage Compute Clusters ML platform Databricks Runtime Data catalog Customer’s Cloud AccountDatabricks Service
  • 15. 15 Our Specific Challenges All the usual challenges of SaaS: § Availability, security, multitenancy, updates, etc Plus, the workloads themselves are large-scale! § One user job could easily overload control services § Millions of VMs ⇒ many weird failures
  • 16. 16 Four Lessons 1 2 3 What goes wrong in cloud systems? Testing for scalability & stability Developing control planes 4 Evolving big data systems for the cloud
  • 17. 17 Four Lessons 1 2 3 What goes wrong in cloud systems? Testing for scalability & stability Developing control planes 4 Evolving big data systems for the cloud
  • 18. 18 What Goes Wrong in the Cloud? Academic research studies many kinds of failures: § Software bugs, network config, crash failures, etc These matter, but other problems often have larger impact: § Scaling and resource limits § Workload isolation § Updates & regressions
  • 19. 19 Causes of Significant Outages Scaling problem in our services Scaling problem in underlying cloud services Insufficient user isolation Deployment misconfiguration Other 30% 20%20% 20% 10%
  • 20. 20 Causes of Significant Outages Scaling problem in our services Scaling problem in underlying cloud services Insufficient user isolation Deployment misconfiguration Other 30% 20%20% 20% 10% 70% scale related
  • 21. 21 Some Issues We Experienced Cloud networks: limits, partitions, slow DHCP, hung connections Automated apps creating large load Very large requests, results, etc Slow VM launches/shutdowns, lack of VM capacity Data corruption writing to cloud storage
  • 22. 22 Example Outage: Aborted Jobs Jobs Service launches & tracks jobs on clusters 1 customer running many jobs/sec on same cluster Cloud’s network reaches a limit of 1000 connections/VM between Jobs Service & clusters § After this limit, new connections hang in state SYN_SENT Resource usage from hanging connections causes memory pressure and GC Health checks to some jobs time out, so we abort them Jobs Service Cloud Network Customer Clusters
  • 23. 23 Surprisingly Rare Issues 1 cloud-wide VM restart on AWS (Xen patch) 1 misreported security scan on customer VM 1 significant S3 outage 1 kernel bug (hung TCP connections due to SACK fix)
  • 24. 24 Lessons Cloud services must handle load that varies on many dimensions, and rely on other services with varying limits & failure modes § Problems likely to get worse in a “cloud service economy” End-to-end issues remain hard to prevent The usual factors of MTTR, monitoring, testing, etc help
  • 25. 25 Four Lessons 1 2 3 What goes wrong in cloud systems? Testing for scalability & stability Developing control planes 4 Evolving big data systems for the cloud
  • 26. 26 Testing for Scalability & Stability Software correctness is a Boolean property: does your software give the right output on a given input? Scalability and stability are a matter of degree § What load will your system fail at? (any system with limited resources will) § What failure behavior will you have? (crash all clients, drop some, etc)
  • 27. 27 Example Scalability Problems Large result: can crash browser, notebook service, driver or Spark Large record in file Large # of tasks Code that freezes a worker + All these affect other users! User Browser Notebook Service Driver App Workers Other Users ??
  • 28. 28 Databricks Stress Test Infrastructure 1. Identify dimensions for a system to scale in (e.g. # of users, number of output rows, size of each output row, etc) 2. Grow load in each dimension until a failure occurs 3. Record failure type and impact on system § Error message, timeout, wrong result? § Are other clients affected? § Does the system auto-recover? How fast? 4. Compare over time and on changes
  • 30. 30 Four Lessons 1 2 3 What goes wrong in cloud systems? Testing for scalability & stability Developing control planes 4 Evolving big data systems for the cloud
  • 31. 31 Developing Control Planes Cloud software consists of interacting, independently updated services, many of which call other services What should be the programming model for this software?
  • 32. 32 Examples Cluster manager service: § API: requests to launch, scale and shut down clusters § Behavior: request VMs, set up clusters, reuse VMs in pools § State: requests, running VMs, etc Jobs service: § API: scheduled or API-triggered jobs to execute § Behavior: acquire a cluster, run job, monitor state, retry § State: jobs to be run, what’s currently active, where is it, etc
  • 33. 33 Examples Cluster manager service: § API: requests to launch, scale and shut down clusters § Behavior: request VMs, set up clusters, reuse VMs in pools § State: requests, running VMs, etc Jobs service: § API: scheduled or API-triggered jobs to execute § Behavior: acquire a cluster, run job, monitor state, retry § State: jobs to be run, what’s currently active, where is it, etc Cloud VM Service IAM Service Usage Service Notebook Service . . . . . .
  • 34. 34 Control Plane Infrastructure Our Platform Team develops a service framework that handles: § Deployment: AWS, Azure, local, special environments § Storage: databases, schema updates, etc § Security tokens & roles § Monitoring § API routing & limiting § Feature flagging Our service stack: JSonnet
  • 35. 35 Best Practices Isolate state: relational DB is usually enough with org sharding Isolate components that scale differently: allows separate scaling Manage changes through feature flags: fastest, safest way Watch key metrics: most outages could be predicted from one of CPU load, memory load, DB load or thread pool exhaustion Test pyramid: 70% unit tests, 20% integration, 10% end-to-end
  • 36. 36 Cluster manager v1 Cluster manager v2 Example: Cluster Manager Cloud VM API Cluster Manager Customer Clusters Cloud VM API CM Master Customer Clusters Delegate Delegate Usage, billing, etc VM launch, setup, monitoring, etc
  • 37. 37 Challenges in Control Planes Fine-grained isolation within a service Non-standard failure modes (e.g. network conn. exhaustion) Transitioning between architectures
  • 38. 38 Four Lessons 1 2 3 What goes wrong in cloud systems? Testing for scalability & stability Developing control planes 4 Evolving big data systems for the cloud
  • 39. 39 Evolving Big Data Systems for the Cloud MapReduce, Spark, etc were designed for on-premise datacenters How can we evolve these leverage the benefits of the cloud? § Availability, elasticity, scale, multitenancy, etc Two examples from Databricks: § Delta Lake: ACID on cloud object stores § Cloudifying Apache Spark
  • 40. 40 Delta Lake Motivation Cloud object stores (S3, Azure blob, etc) are the largest storage systems on the planet § Unmatched availability, parallel I/O bandwidth, and cost-efficiency Open source big data stack was designed for on-prem world § Filesystem API for storage § RDBMS for table metadata (Hive metastore) § Other distributed systems, e.g. ZooKeeper How can big data systems fully leverage cloud object stores? Stronger consistency model Scale & management complexity
  • 41. 41 Spark on HDFS Spark on S3 (Naïve) Example: Atomic Parallel Writes Input Files Output Partitions /tmp-job-1 /my-output Atomic Rename Input Files Output Partitions /my-output/part-1 /my-output/part-2 /my-output/part-3 /my-output/part-4 part-1 part-2 part-3 part-4 /_DONE Full object names (no cheap rename) Real cases are harder (e.g. appending to a table)
  • 42. 42 Delta Lake Design 1. Track metadata that says which objects are part of a dataset 2. Store this metadata itself in a cloud object store § Write-ahead log in S3, compressed using Apache Parquet Before Delta Lake: 50% of Spark support issues were about cloud storage After: fewer issues, increased perf Input Files Output Partitions /my-output/part-X /my-output/part-Y /my-output/part-Z /my-output/part-W /my-output/_delta_log Commit Manager https://delta.io 10x faster metadata ops than Hive on S3!
  • 43. 43 Major Benefits of Delta Lake Once we had transactions over S3, we could build much more: § UPSERT, DELETE, etc (GDPR) § Caching § Multidimensional indexing § Audit logging § Time travel § Background optimization 0 0.2 0.4 0.6 0.8 1 Parquet Parquet+ order Delta Z-order Runningtime Filter on 2 Fields Result: greatly simplified customers’ data architectures
  • 44. 44 Other Cloud Features Scheduler-integrated autoscaling for Apache Spark Autoscaling local storage volumes User isolation for high-concurrency Spark clusters § Serverless experience for users inside an org § Separate library envs, IAM roles, performance & fault isolation
  • 45. 45 Conclusion The cloud is eating software by enabling much better products § Self-managing, elastic, more reliable & scalable But building cloud products is understudied and hard § Come see what’s involved in an internship! Many opportunities, from service fabrics to cloud-native systems We’re hiring in SF, Amsterdam & Toronto: databricks.com/jobs