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

Golden images vs Configuration Mgmt
Golden images vs Configuration MgmtGolden images vs Configuration Mgmt
Golden images vs Configuration Mgmtnibalizer
 
Troubleshooting Dashboard Performance
Troubleshooting Dashboard PerformanceTroubleshooting Dashboard Performance
Troubleshooting Dashboard PerformanceOutSystems
 
JoTechies - Azure Functions Using c#
JoTechies - Azure Functions Using c#JoTechies - Azure Functions Using c#
JoTechies - Azure Functions Using c#JoTechies
 
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 TasksOutSystems
 
Summit 2019: "Submarine" initiative
Summit 2019: "Submarine" initiativeSummit 2019: "Submarine" initiative
Summit 2019: "Submarine" initiativeKris Verlaenen
 
Distributed Time Travel for Feature Generation at Netflix
Distributed Time Travel for Feature Generation at NetflixDistributed Time Travel for Feature Generation at Netflix
Distributed Time Travel for Feature Generation at Netflixsfbiganalytics
 
Introduction To Serverless Architecture
Introduction To Serverless ArchitectureIntroduction To Serverless Architecture
Introduction To Serverless ArchitectureBen Sherman
 
Caching Tips & Tricks
Caching Tips & TricksCaching Tips & Tricks
Caching Tips & TricksOutSystems
 

Mais procurados (8)

Golden images vs Configuration Mgmt
Golden images vs Configuration MgmtGolden images vs Configuration Mgmt
Golden images vs Configuration Mgmt
 
Troubleshooting Dashboard Performance
Troubleshooting Dashboard PerformanceTroubleshooting Dashboard Performance
Troubleshooting Dashboard Performance
 
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
 
Summit 2019: "Submarine" initiative
Summit 2019: "Submarine" initiativeSummit 2019: "Submarine" initiative
Summit 2019: "Submarine" initiative
 
Distributed Time Travel for Feature Generation at Netflix
Distributed Time Travel for Feature Generation at NetflixDistributed Time Travel for Feature Generation at Netflix
Distributed Time Travel for Feature Generation at Netflix
 
Introduction To Serverless Architecture
Introduction To Serverless ArchitectureIntroduction To Serverless Architecture
Introduction To Serverless Architecture
 
Caching Tips & Tricks
Caching Tips & TricksCaching Tips & Tricks
Caching Tips & Tricks
 

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

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 PipelineDevOps.com
 
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 AppMongoDB
 
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 MLflowDatabricks
 
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 pipelinesJoseph Lust
 
“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 MLOpsRui Quintino
 
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 ResultsScyllaDB
 
Developer Productivity Engineering with Gradle
Developer Productivity Engineering with GradleDeveloper Productivity Engineering with Gradle
Developer Productivity Engineering with GradleAll Things Open
 
The Era of Intelligent Testing
The Era of Intelligent TestingThe Era of Intelligent Testing
The Era of Intelligent Testingmabl
 
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?Viktor Adam
 
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.pdfvitm11
 
End to end MLworkflows
End to end MLworkflowsEnd to end MLworkflows
End to end MLworkflowsAdam Gibson
 
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 PipelineSanjana Chowdhury
 
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 ScaleXavier Amatriain
 
Microsoft Introduction to Automated Machine Learning
Microsoft Introduction to Automated Machine LearningMicrosoft Introduction to Automated Machine Learning
Microsoft Introduction to Automated Machine LearningSetu Chokshi
 
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 Mikhail Rozhkov
 
Software architecture, Patterns for Scale
Software architecture, Patterns for ScaleSoftware architecture, Patterns for Scale
Software architecture, Patterns for ScaleiGbanam
 
What would Jesus Developer do?
What would Jesus Developer do?What would Jesus Developer do?
What would Jesus Developer do?Lukáš Čech
 
Continuous delivery for machine learning
Continuous delivery for machine learningContinuous delivery for machine learning
Continuous delivery for machine learningRajesh Muppalla
 
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 makerszekeLabs Technologies
 
Production-Ready BIG ML Workflows - from zero to hero
Production-Ready BIG ML Workflows - from zero to heroProduction-Ready BIG ML Workflows - from zero to hero
Production-Ready BIG ML Workflows - from zero to heroDaniel Marcous
 

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
 
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
 
Production-Ready BIG ML Workflows - from zero to hero
Production-Ready BIG ML Workflows - from zero to heroProduction-Ready BIG ML Workflows - from zero to hero
Production-Ready BIG ML Workflows - from zero to hero
 

Mais de Joseph Lust

Serverless Preview Environments @ Boston DevOps
Serverless Preview Environments @ Boston DevOpsServerless Preview Environments @ Boston DevOps
Serverless Preview Environments @ Boston DevOpsJoseph Lust
 
Making CLIs with Node.js
Making CLIs with Node.jsMaking CLIs with Node.js
Making CLIs with Node.jsJoseph Lust
 
Serverless preview environments to the rescue
Serverless preview environments to the rescueServerless preview environments to the rescue
Serverless preview environments to the rescueJoseph Lust
 
Going Microserverless on Google Cloud @ mabl
Going Microserverless on Google Cloud @ mablGoing Microserverless on Google Cloud @ mabl
Going Microserverless on Google Cloud @ mablJoseph Lust
 
Going Microserverless on Google Cloud
Going Microserverless on Google CloudGoing Microserverless on Google Cloud
Going Microserverless on Google CloudJoseph Lust
 
Kubernetes & Google Container Engine @ mabl
Kubernetes & Google Container Engine @ mablKubernetes & Google Container Engine @ mabl
Kubernetes & Google Container Engine @ mablJoseph Lust
 
Firebase Cloud Functions: a quick overview
Firebase Cloud Functions: a quick overviewFirebase Cloud Functions: a quick overview
Firebase Cloud Functions: a quick overviewJoseph Lust
 

Mais de Joseph Lust (7)

Serverless Preview Environments @ Boston DevOps
Serverless Preview Environments @ Boston DevOpsServerless Preview Environments @ Boston DevOps
Serverless Preview Environments @ Boston DevOps
 
Making CLIs with Node.js
Making CLIs with Node.jsMaking CLIs with Node.js
Making CLIs with Node.js
 
Serverless preview environments to the rescue
Serverless preview environments to the rescueServerless preview environments to the rescue
Serverless preview environments to the rescue
 
Going Microserverless on Google Cloud @ mabl
Going Microserverless on Google Cloud @ mablGoing Microserverless on Google Cloud @ mabl
Going Microserverless on Google Cloud @ mabl
 
Going Microserverless on Google Cloud
Going Microserverless on Google CloudGoing Microserverless on Google Cloud
Going Microserverless on Google Cloud
 
Kubernetes & Google Container Engine @ mabl
Kubernetes & Google Container Engine @ mablKubernetes & Google Container Engine @ mabl
Kubernetes & Google Container Engine @ mabl
 
Firebase Cloud Functions: a quick overview
Firebase Cloud Functions: a quick overviewFirebase Cloud Functions: a quick overview
Firebase Cloud Functions: a quick overview
 

Último

multiple access in wireless communication
multiple access in wireless communicationmultiple access in wireless communication
multiple access in wireless communicationpanditadesh123
 
Novel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsNovel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsResearcher Researcher
 
Prach: A Feature-Rich Platform Empowering the Autism Community
Prach: A Feature-Rich Platform Empowering the Autism CommunityPrach: A Feature-Rich Platform Empowering the Autism Community
Prach: A Feature-Rich Platform Empowering the Autism Communityprachaibot
 
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithm
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithmComputer Graphics Introduction, Open GL, Line and Circle drawing algorithm
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithmDeepika Walanjkar
 
Comprehensive energy systems.pdf Comprehensive energy systems.pdf
Comprehensive energy systems.pdf Comprehensive energy systems.pdfComprehensive energy systems.pdf Comprehensive energy systems.pdf
Comprehensive energy systems.pdf Comprehensive energy systems.pdfalene1
 
Main Memory Management in Operating System
Main Memory Management in Operating SystemMain Memory Management in Operating System
Main Memory Management in Operating SystemRashmi Bhat
 
『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书
『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书
『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书rnrncn29
 
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...Erbil Polytechnic University
 
KCD Costa Rica 2024 - Nephio para parvulitos
KCD Costa Rica 2024 - Nephio para parvulitosKCD Costa Rica 2024 - Nephio para parvulitos
KCD Costa Rica 2024 - Nephio para parvulitosVictor Morales
 
CS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdfCS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdfBalamuruganV28
 
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.pptROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.pptJohnWilliam111370
 
Research Methodology for Engineering pdf
Research Methodology for Engineering pdfResearch Methodology for Engineering pdf
Research Methodology for Engineering pdfCaalaaAbdulkerim
 
Katarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School CourseKatarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School Coursebim.edu.pl
 
Mine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxMine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxRomil Mishra
 
11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdfHafizMudaserAhmad
 
Cost estimation approach: FP to COCOMO scenario based question
Cost estimation approach: FP to COCOMO scenario based questionCost estimation approach: FP to COCOMO scenario based question
Cost estimation approach: FP to COCOMO scenario based questionSneha Padhiar
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catcherssdickerson1
 
Engineering Drawing section of solid
Engineering Drawing     section of solidEngineering Drawing     section of solid
Engineering Drawing section of solidnamansinghjarodiya
 
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMS
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMSHigh Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMS
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMSsandhya757531
 

Último (20)

multiple access in wireless communication
multiple access in wireless communicationmultiple access in wireless communication
multiple access in wireless communication
 
Novel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsNovel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending Actuators
 
Prach: A Feature-Rich Platform Empowering the Autism Community
Prach: A Feature-Rich Platform Empowering the Autism CommunityPrach: A Feature-Rich Platform Empowering the Autism Community
Prach: A Feature-Rich Platform Empowering the Autism Community
 
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithm
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithmComputer Graphics Introduction, Open GL, Line and Circle drawing algorithm
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithm
 
Comprehensive energy systems.pdf Comprehensive energy systems.pdf
Comprehensive energy systems.pdf Comprehensive energy systems.pdfComprehensive energy systems.pdf Comprehensive energy systems.pdf
Comprehensive energy systems.pdf Comprehensive energy systems.pdf
 
Main Memory Management in Operating System
Main Memory Management in Operating SystemMain Memory Management in Operating System
Main Memory Management in Operating System
 
『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书
『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书
『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书
 
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
 
Designing pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptxDesigning pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptx
 
KCD Costa Rica 2024 - Nephio para parvulitos
KCD Costa Rica 2024 - Nephio para parvulitosKCD Costa Rica 2024 - Nephio para parvulitos
KCD Costa Rica 2024 - Nephio para parvulitos
 
CS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdfCS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdf
 
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.pptROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
 
Research Methodology for Engineering pdf
Research Methodology for Engineering pdfResearch Methodology for Engineering pdf
Research Methodology for Engineering pdf
 
Katarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School CourseKatarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School Course
 
Mine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxMine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptx
 
11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf
 
Cost estimation approach: FP to COCOMO scenario based question
Cost estimation approach: FP to COCOMO scenario based questionCost estimation approach: FP to COCOMO scenario based question
Cost estimation approach: FP to COCOMO scenario based question
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
 
Engineering Drawing section of solid
Engineering Drawing     section of solidEngineering Drawing     section of solid
Engineering Drawing section of solid
 
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMS
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMSHigh Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMS
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMS
 

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