SlideShare uma empresa Scribd logo
1 de 40
Baixar para ler offline
mabl’s ML Implementation
Testing @ Scale with Google Cloud Platform
Joseph Lust mabl engineer @lustcoder
About Me: Joseph Lust
Engineer
■ Building the web for two decades
■ Cloud native since 2011
■ Currently building mabl ML cloud on GCP
■ Co-organizer GDG Cloud Boston Meetup
Agenda
■ mabl’s problem statement
■ ML on Google Cloud
■ Cloud best practices at mabl
■ Q & A
the problem statement
Developing Quality Software is Slow
Image Source: IBM SAGE
■ Software is complex
■ Testing software is slow
■ Humans have low clock speeds
■ Humans are expensive
Continuous Delivery breaks QA
■ Change happens infrequently
■ Weeks or months to write tests
■ Weeks to execute tests
■ Change is constant
■ Hours to write tests
■ Minutes to execute tests
The Doughnut Hole: Continuous Testing (CT)
Source: Google Trends
Hudson
Released
Facebook
CD Article
Continuous Testing Roadmap
■ Highly parallel testing (fail fast)
■ Automatically heal broken scripts
■ Automatically generate test scripts
Manual
Testing
Manually
Scripted Testing
Playback
Testing
Auto Test
Generation
Auto-healing
Testing
✔ ✔ ✔ ✔
the ML @ mabl
Machine Learning Areas @ mabl
■ Anomaly detection
▲ Timing anomalies
▲ Visual change anomalies
■ Auto-healing tests
▲ Alternative element candidate election
▲ Multi-branch evaluation
Why anomaly detection isn’t quite that easy
■ Domain variability
one app’s anomaly is another’s normal
■ Temporal variability
today’s anomaly is tomorrow’s normal
■ Detection quality
not all anomalies are bad (or important)
■ Initial quality
what can we detect with minimal app-specific data
Approach
■ Modeling the app
▲ domain variability, quality
■ Incremental learning
▲ temporal variability, initial quality
■ User feedback
▲ use case variability, quality
Analysis pipeline
Observations
▲ Raw data/events
Measurements
▲ Calculated features
State detections
▲ Aggregate measurements
▲ Apply detection models (abstraction)
▲ Integrate detections (higher abstraction)
Insights
▲ Recognize significant state changes
Signals for anomaly detection
■ Visual appearance
■ Performance
■ Failures
■ Errors (non-fatal)
■ Page structure changes
visual anomalies
benign common changes
anomalous changes
model training and feedback
Pieces of the puzzle
■ Cloud ML Engine
▲ Tensorflow machine learning models
▲ Managed model training
▲ Online prediction service
■ Dataflow
▲ Streaming data processing
▲ I/O connectors for PubSub, etc.
■ Datastore
▲ Augment trained model with mutable data
▲ Fast query by type and filter (e.g., by key)
Architecture of model feedback loops
harnessing google cloud for ML
mabl cloud design tenets
■ Serverless
■ Decoupled sub systems
■ Event driven architecture
Serverless just works
■ No Provisioning
■ Transparent Scaling
■ Event Driven
■ Pay only for Use
35
e.g. Kubernetes Engine
■ NoOps - developers’ containers in prod
■ Language agnostic
■ Massively scale
▲ running millions of containers a month
■ “Set it and forget it!”
36
Kubernetes
Engine
Decoupled Architecture
■ Message passing
■ Polyglot development
■ Independent deployment
■ Minimize blast radius
Cloud
Pub/Sub
Cloud
Functions
Event Driven Architecture
■ No “cron jobs” or batch processes
■ Continuous pipelines
■ Surge buffers
■ 100s ms to 1-2s E2E handling
38
Cloud
Dataflow
Cloud
Functions
Google Cloud’s Impact on mabl
■ From zero to alpha product in ~6mo with 8 developers
▲ Processing ~100M pages per month
■ Systems designed for scale on day one
■ No dreaded “rewrite”
■ Product families work very well together out of the box
Questions?

Mais conteúdo relacionado

Mais procurados

High Performance Computing in web application
High Performance Computing in web applicationHigh Performance Computing in web application
High Performance Computing in web application
reza Habibi
 
演算法期中段落報告
演算法期中段落報告演算法期中段落報告
演算法期中段落報告
Bernie Chiu
 

Mais procurados (20)

JoTechies - Azure Functions Using c#
JoTechies - Azure Functions Using c#JoTechies - Azure Functions Using c#
JoTechies - Azure Functions Using c#
 
Using Processes and Timers for Long-Running Asynchronous Tasks
Using Processes and Timers for Long-Running Asynchronous TasksUsing Processes and Timers for Long-Running Asynchronous Tasks
Using Processes and Timers for Long-Running Asynchronous Tasks
 
What Is Light BPT and How Can You Use it for Parallel Processing?
What Is Light BPT and How Can You Use it for Parallel Processing?What Is Light BPT and How Can You Use it for Parallel Processing?
What Is Light BPT and How Can You Use it for Parallel Processing?
 
Summit 2019: "Submarine" initiative
Summit 2019: "Submarine" initiativeSummit 2019: "Submarine" initiative
Summit 2019: "Submarine" initiative
 
Performance presentation
Performance presentationPerformance presentation
Performance presentation
 
Process Automation: an Update from the Trenches
Process Automation: an Update from the TrenchesProcess Automation: an Update from the Trenches
Process Automation: an Update from the Trenches
 
Process-driven applications: let BPM do (some of) your work
Process-driven applications: let BPM do (some of) your workProcess-driven applications: let BPM do (some of) your work
Process-driven applications: let BPM do (some of) your work
 
Lighthouse
LighthouseLighthouse
Lighthouse
 
From zero to test in 60 seconds
From zero to test in 60  secondsFrom zero to test in 60  seconds
From zero to test in 60 seconds
 
bpmNEXT: Automating human-centric processes with machine learning
bpmNEXT: Automating human-centric processes with machine learningbpmNEXT: Automating human-centric processes with machine learning
bpmNEXT: Automating human-centric processes with machine learning
 
Adopting serverless
Adopting serverlessAdopting serverless
Adopting serverless
 
Bus ticket management system
Bus ticket management systemBus ticket management system
Bus ticket management system
 
Structured Streaming in Spark
Structured Streaming in SparkStructured Streaming in Spark
Structured Streaming in Spark
 
Synchronizing Data Between Smallworld and Azure Cosmos DB
Synchronizing Data Between Smallworld and Azure Cosmos DBSynchronizing Data Between Smallworld and Azure Cosmos DB
Synchronizing Data Between Smallworld and Azure Cosmos DB
 
A Lap around ASP.NET 5 - CONDG
A Lap around ASP.NET 5 - CONDGA Lap around ASP.NET 5 - CONDG
A Lap around ASP.NET 5 - CONDG
 
High Performance Computing in web application
High Performance Computing in web applicationHigh Performance Computing in web application
High Performance Computing in web application
 
Дмитрий Лемешко. Comaqa Spring 2018. Continuous mobile automation in build pi...
Дмитрий Лемешко. Comaqa Spring 2018. Continuous mobile automation in build pi...Дмитрий Лемешко. Comaqa Spring 2018. Continuous mobile automation in build pi...
Дмитрий Лемешко. Comaqa Spring 2018. Continuous mobile automation in build pi...
 
Case management applications with BPM
Case management applications with BPMCase management applications with BPM
Case management applications with BPM
 
演算法期中段落報告
演算法期中段落報告演算法期中段落報告
演算法期中段落報告
 
Caching Tips & Tricks
Caching Tips & TricksCaching Tips & Tricks
Caching Tips & Tricks
 

Semelhante a mabl's Machine Learning Implementation on Google Cloud Platform

Solving the Issue of Mysterious Database Benchmarking Results
Solving the Issue of Mysterious Database Benchmarking ResultsSolving the Issue of Mysterious Database Benchmarking Results
Solving the Issue of Mysterious Database Benchmarking Results
ScyllaDB
 
Developer Productivity Engineering with Gradle
Developer Productivity Engineering with GradleDeveloper Productivity Engineering with Gradle
Developer Productivity Engineering with Gradle
All Things Open
 
Slides-Артем Коваль-Cloud-Native MLOps Framework - DataFest 2021.pdf
Slides-Артем Коваль-Cloud-Native MLOps Framework - DataFest 2021.pdfSlides-Артем Коваль-Cloud-Native MLOps Framework - DataFest 2021.pdf
Slides-Артем Коваль-Cloud-Native MLOps Framework - DataFest 2021.pdf
vitm11
 
Qcon SF 2013 - Machine Learning & Recommender Systems @ Netflix Scale
Qcon SF 2013 - Machine Learning & Recommender Systems @ Netflix ScaleQcon SF 2013 - Machine Learning & Recommender Systems @ Netflix Scale
Qcon SF 2013 - Machine Learning & Recommender Systems @ Netflix Scale
Xavier Amatriain
 

Semelhante a mabl's Machine Learning Implementation on Google Cloud Platform (20)

The Key to DevOps? Testing Early in the Pipeline
The Key to DevOps? Testing Early in the PipelineThe Key to DevOps? Testing Early in the Pipeline
The Key to DevOps? Testing Early in the Pipeline
 
Webinar: Ensuring Zero Downtime for Your Mission Critical App
Webinar: Ensuring Zero Downtime for Your Mission Critical AppWebinar: Ensuring Zero Downtime for Your Mission Critical App
Webinar: Ensuring Zero Downtime for Your Mission Critical App
 
Scaling Ride-Hailing with Machine Learning on MLflow
Scaling Ride-Hailing with Machine Learning on MLflowScaling Ride-Hailing with Machine Learning on MLflow
Scaling Ride-Hailing with Machine Learning on MLflow
 
MLOPS By Amazon offered and free download
MLOPS By Amazon offered and free downloadMLOPS By Amazon offered and free download
MLOPS By Amazon offered and free download
 
GitLab Commit 2020: Ubiquitous quality through continuous testing pipelines
GitLab Commit 2020: Ubiquitous quality through continuous testing pipelinesGitLab Commit 2020: Ubiquitous quality through continuous testing pipelines
GitLab Commit 2020: Ubiquitous quality through continuous testing pipelines
 
“Houston, we have a model...” Introduction to MLOps
“Houston, we have a model...” Introduction to MLOps“Houston, we have a model...” Introduction to MLOps
“Houston, we have a model...” Introduction to MLOps
 
Solving the Issue of Mysterious Database Benchmarking Results
Solving the Issue of Mysterious Database Benchmarking ResultsSolving the Issue of Mysterious Database Benchmarking Results
Solving the Issue of Mysterious Database Benchmarking Results
 
Developer Productivity Engineering with Gradle
Developer Productivity Engineering with GradleDeveloper Productivity Engineering with Gradle
Developer Productivity Engineering with Gradle
 
The Era of Intelligent Testing
The Era of Intelligent TestingThe Era of Intelligent Testing
The Era of Intelligent Testing
 
SplunkLive! - Want to Turbocharge your Developer Pipeline?
SplunkLive! - Want to Turbocharge your Developer Pipeline?SplunkLive! - Want to Turbocharge your Developer Pipeline?
SplunkLive! - Want to Turbocharge your Developer Pipeline?
 
Slides-Артем Коваль-Cloud-Native MLOps Framework - DataFest 2021.pdf
Slides-Артем Коваль-Cloud-Native MLOps Framework - DataFest 2021.pdfSlides-Артем Коваль-Cloud-Native MLOps Framework - DataFest 2021.pdf
Slides-Артем Коваль-Cloud-Native MLOps Framework - DataFest 2021.pdf
 
End to end MLworkflows
End to end MLworkflowsEnd to end MLworkflows
End to end MLworkflows
 
Rsqrd AI: How to Design a Reliable and Reproducible Pipeline
Rsqrd AI: How to Design a Reliable and Reproducible PipelineRsqrd AI: How to Design a Reliable and Reproducible Pipeline
Rsqrd AI: How to Design a Reliable and Reproducible Pipeline
 
Qcon SF 2013 - Machine Learning & Recommender Systems @ Netflix Scale
Qcon SF 2013 - Machine Learning & Recommender Systems @ Netflix ScaleQcon SF 2013 - Machine Learning & Recommender Systems @ Netflix Scale
Qcon SF 2013 - Machine Learning & Recommender Systems @ Netflix Scale
 
Microsoft Introduction to Automated Machine Learning
Microsoft Introduction to Automated Machine LearningMicrosoft Introduction to Automated Machine Learning
Microsoft Introduction to Automated Machine Learning
 
Reproducibility and experiments management in Machine Learning
Reproducibility and experiments management in Machine Learning Reproducibility and experiments management in Machine Learning
Reproducibility and experiments management in Machine Learning
 
Software architecture, Patterns for Scale
Software architecture, Patterns for ScaleSoftware architecture, Patterns for Scale
Software architecture, Patterns for Scale
 
What would Jesus Developer do?
What would Jesus Developer do?What would Jesus Developer do?
What would Jesus Developer do?
 
Continuous delivery for machine learning
Continuous delivery for machine learningContinuous delivery for machine learning
Continuous delivery for machine learning
 
Moving from BI to AI : For decision makers
Moving from BI to AI : For decision makersMoving from BI to AI : For decision makers
Moving from BI to AI : For decision makers
 

Último

VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
Neometrix_Engineering_Pvt_Ltd
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
MsecMca
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
dollysharma2066
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
Epec Engineered Technologies
 

Último (20)

Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptx
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
A Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityA Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna Municipality
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineering
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
 
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.ppt
 
2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects
 
22-prompt engineering noted slide shown.pdf
22-prompt engineering noted slide shown.pdf22-prompt engineering noted slide shown.pdf
22-prompt engineering noted slide shown.pdf
 

mabl's Machine Learning Implementation on Google Cloud Platform

  • 1. mabl’s ML Implementation Testing @ Scale with Google Cloud Platform Joseph Lust mabl engineer @lustcoder
  • 2. About Me: Joseph Lust Engineer ■ Building the web for two decades ■ Cloud native since 2011 ■ Currently building mabl ML cloud on GCP ■ Co-organizer GDG Cloud Boston Meetup
  • 3. Agenda ■ mabl’s problem statement ■ ML on Google Cloud ■ Cloud best practices at mabl ■ Q & A
  • 5. Developing Quality Software is Slow Image Source: IBM SAGE ■ Software is complex ■ Testing software is slow ■ Humans have low clock speeds ■ Humans are expensive
  • 6. Continuous Delivery breaks QA ■ Change happens infrequently ■ Weeks or months to write tests ■ Weeks to execute tests ■ Change is constant ■ Hours to write tests ■ Minutes to execute tests
  • 7. The Doughnut Hole: Continuous Testing (CT) Source: Google Trends Hudson Released Facebook CD Article
  • 8. Continuous Testing Roadmap ■ Highly parallel testing (fail fast) ■ Automatically heal broken scripts ■ Automatically generate test scripts Manual Testing Manually Scripted Testing Playback Testing Auto Test Generation Auto-healing Testing ✔ ✔ ✔ ✔
  • 9. the ML @ mabl
  • 10. Machine Learning Areas @ mabl ■ Anomaly detection ▲ Timing anomalies ▲ Visual change anomalies ■ Auto-healing tests ▲ Alternative element candidate election ▲ Multi-branch evaluation
  • 11.
  • 12.
  • 13.
  • 14. Why anomaly detection isn’t quite that easy ■ Domain variability one app’s anomaly is another’s normal ■ Temporal variability today’s anomaly is tomorrow’s normal ■ Detection quality not all anomalies are bad (or important) ■ Initial quality what can we detect with minimal app-specific data
  • 15. Approach ■ Modeling the app ▲ domain variability, quality ■ Incremental learning ▲ temporal variability, initial quality ■ User feedback ▲ use case variability, quality
  • 16. Analysis pipeline Observations ▲ Raw data/events Measurements ▲ Calculated features State detections ▲ Aggregate measurements ▲ Apply detection models (abstraction) ▲ Integrate detections (higher abstraction) Insights ▲ Recognize significant state changes
  • 17. Signals for anomaly detection ■ Visual appearance ■ Performance ■ Failures ■ Errors (non-fatal) ■ Page structure changes
  • 19.
  • 20.
  • 21.
  • 23.
  • 24.
  • 25.
  • 26.
  • 28.
  • 29.
  • 30. model training and feedback
  • 31. Pieces of the puzzle ■ Cloud ML Engine ▲ Tensorflow machine learning models ▲ Managed model training ▲ Online prediction service ■ Dataflow ▲ Streaming data processing ▲ I/O connectors for PubSub, etc. ■ Datastore ▲ Augment trained model with mutable data ▲ Fast query by type and filter (e.g., by key)
  • 32. Architecture of model feedback loops
  • 34. mabl cloud design tenets ■ Serverless ■ Decoupled sub systems ■ Event driven architecture
  • 35. Serverless just works ■ No Provisioning ■ Transparent Scaling ■ Event Driven ■ Pay only for Use 35
  • 36. e.g. Kubernetes Engine ■ NoOps - developers’ containers in prod ■ Language agnostic ■ Massively scale ▲ running millions of containers a month ■ “Set it and forget it!” 36 Kubernetes Engine
  • 37. Decoupled Architecture ■ Message passing ■ Polyglot development ■ Independent deployment ■ Minimize blast radius Cloud Pub/Sub Cloud Functions
  • 38. Event Driven Architecture ■ No “cron jobs” or batch processes ■ Continuous pipelines ■ Surge buffers ■ 100s ms to 1-2s E2E handling 38 Cloud Dataflow Cloud Functions
  • 39. Google Cloud’s Impact on mabl ■ From zero to alpha product in ~6mo with 8 developers ▲ Processing ~100M pages per month ■ Systems designed for scale on day one ■ No dreaded “rewrite” ■ Product families work very well together out of the box