SlideShare a Scribd company logo
Selenium in Kubernetes: lessons learned
by Ivan Krutov
About me
Java & Golang developer
Devops
Big Selenium cluster
Big Selenium Cluster
Typical Selenium Grid
50 browsers
10000 sessions / day
1 data center
5 rps
500 Kbit/s
Sometimes down
My cluster
5000+ browsers
2.5M sessions / day
5 data centers
4000 rps
> 2 Gbit/s
24/7/365
Big Selenium Cluster
Selenium Tools
Selenoid BrowsersMoon
Selenium is expensive
Stone Age (10 years ago)
Middle Ages (5 years ago)
Modern History (3 years ago)
Nowadays
Getting Kubernetes cluster
Minikube CloudDocker Manually
Interacting with Kubernetes
kubectlAPI Web UI
Namespace
Kubernetes Concepts
Pod Service Deployment
Demo #1
Selenium Grid in Kubernetes
Node 1 Node 2
Hub Node
Selenium launcher in Kubernetes
Selenium
API
ContainerPod
Kubernetes
API
Why Selenoid is not suitable
Node 1 Node 2
Fault-tolerance in Kubernetes
ServiceIngress (L7)
LoadBalancer (L3)
Stateful Selenium fault-tolerance
Stateful Selenium fault-tolerance
Selenograph Selenium Grid 4 WebDriverGrid
Stateful Selenium fault-tolerance
Databases maintenance is complicated
Not every database can live in Kubernetes
Databases go down under Selenium load
Stateless Selenium fault-tolerance
Service
POST /session/<id>/url
GET /session/<id>/screenshot
Stateless Selenium fault-tolerance
Ggr Moon
Original session ID:
e0dfdda0-1786-4e8f-987b-29a61f5c165e
md5(‘http://example.com:4444’):
798744d2b7036ba36c4ea285272bcd48
Extended session ID:
798744d2b7036ba36c4ea285272bcd48e0dfdda0-
1786-4e8f-987b-29a61f5c165e
Ggr session ID magic
Moon generated host names
firefox-73-0-<uuid>
firefox-73-0-<uuid>
Artifact storage in Kubernetes
Container 1
Container 2
Volume
S3 artifact storage
Data
Replica 2
S3 SLB
Replica 1
Demo #2
Kubernetes makes Selenium cheaper
References
https://github.com/aerokube/moon
@aerokube
https://t.me/aerokube
https://aerokube.com/
https://bit.ly/2C2LstZ

More Related Content

PDF
Grid Router – scalable and fault tolerant solution for Selenium grid
PDF
The top 5 Kubernetes metrics to monitor
PPTX
Scaling jenkins with kubernetes
PPTX
Selenium-Grid-Extras
PDF
Global Operations with Docker for the Enterprise - Nico Kabar, Docker
PDF
Meet the Selenium Grid
PDF
Browser Testing with Docker - Craig Huber
PPT
Running Selenium tests on CI server
Grid Router – scalable and fault tolerant solution for Selenium grid
The top 5 Kubernetes metrics to monitor
Scaling jenkins with kubernetes
Selenium-Grid-Extras
Global Operations with Docker for the Enterprise - Nico Kabar, Docker
Meet the Selenium Grid
Browser Testing with Docker - Craig Huber
Running Selenium tests on CI server

What's hot (20)

PDF
Why I wish I'd Heard of Docker when I was 12 - Finnian Anderson
PPTX
Implementing Lightweight Kubernetes(K3s) on Raspberry Pi Stack - Sangam Biradar
PPTX
Sharing Best Practices in Setting up and Operating OpenStack CI Loops
PPTX
Inside Microsoft Azure
PDF
DockerCon 2017 - General Session Day 1 - Solomon Hykes
PDF
DockerCon 2017 - Cilium - Network and Application Security with BPF and XDP
PDF
Microservices: 5 things I wish I'd known - Vincent Kok - Codemotion Amsterdam...
PDF
Quarkus tips, tricks, and techniques
PPTX
Scaling Jenkins with Docker and Kubernetes
PDF
DCSF19 Container Security: Theory & Practice at Netflix
PDF
Docker & IoT: protecting the Datacenter
PDF
Back to the Future: Containerize Legacy Applications - Rob Tanner, Northern T...
PPTX
Kubernetes
PPTX
9 ways to consume kubernetes on open stack in 15 mins (k8s meetup)
PPTX
How to Install and Use Kubernetes by Weaveworks
PDF
Microservices Manchester: Microservice, Microservice, Wherefor Art Thou Micro...
PDF
Journey to Docker Production: Evolving Your Infrastructure and Processes - Br...
PDF
Brian Ketelsen - Microservices in Go using Micro - Codemotion Milan 2017
PDF
Containers what are they, and why are they important v2.1
PPTX
Building a Multi-tenanted SaaS with Node.js
Why I wish I'd Heard of Docker when I was 12 - Finnian Anderson
Implementing Lightweight Kubernetes(K3s) on Raspberry Pi Stack - Sangam Biradar
Sharing Best Practices in Setting up and Operating OpenStack CI Loops
Inside Microsoft Azure
DockerCon 2017 - General Session Day 1 - Solomon Hykes
DockerCon 2017 - Cilium - Network and Application Security with BPF and XDP
Microservices: 5 things I wish I'd known - Vincent Kok - Codemotion Amsterdam...
Quarkus tips, tricks, and techniques
Scaling Jenkins with Docker and Kubernetes
DCSF19 Container Security: Theory & Practice at Netflix
Docker & IoT: protecting the Datacenter
Back to the Future: Containerize Legacy Applications - Rob Tanner, Northern T...
Kubernetes
9 ways to consume kubernetes on open stack in 15 mins (k8s meetup)
How to Install and Use Kubernetes by Weaveworks
Microservices Manchester: Microservice, Microservice, Wherefor Art Thou Micro...
Journey to Docker Production: Evolving Your Infrastructure and Processes - Br...
Brian Ketelsen - Microservices in Go using Micro - Codemotion Milan 2017
Containers what are they, and why are they important v2.1
Building a Multi-tenanted SaaS with Node.js
Ad

Similar to Selenium in Kubernetes: lessons learned (20)

PDF
Windows Browsers: How to Run them in Docker containers
PDF
Scalable Selenium cluster: up and running
PDF
Selenoid: browsers in containers
PDF
QA Fest 2017. Иван Крутов. Selenoid: запускаем Selenium тесты в Docker контей...
PDF
selenium-webdriver-interview-questions.pdf
KEY
Getting started with Selenium 2
PDF
Scalable. Reliable. Lightning fast. Running 1 000 000 tests with Selenoid.
PDF
Chrome Developer Tools Protocol: Scaling and Running in Kubernetes cluster
PDF
Testing world selenium_start_chapter1 (1)
PPTX
Kubernetes Selenium Grid
PDF
Automated UI testing.Selenium.DrupalCamp Kyiv 2011
PDF
Fabric8: Better Software Faster with Docker, Kubernetes, Jenkins
PPT
watir-webdriver
KEY
Testing with Jenkins, Selenium and Continuous Deployment
PPTX
DevOps with Kubernetes and Helm - Jenkins World Edition
PPTX
Test Automation Using Selenium
PPTX
Cont0519
PDF
How to Dockerize Parallel Execution of Selenium Tests - SQA Days EU, Rgia, La...
PDF
QA Fest 2018. Иван Крутов. 1001 причина использовать Ggr в своем кластере Sel...
PDF
1001 reasons to use Ggr in your Selenium cluster
Windows Browsers: How to Run them in Docker containers
Scalable Selenium cluster: up and running
Selenoid: browsers in containers
QA Fest 2017. Иван Крутов. Selenoid: запускаем Selenium тесты в Docker контей...
selenium-webdriver-interview-questions.pdf
Getting started with Selenium 2
Scalable. Reliable. Lightning fast. Running 1 000 000 tests with Selenoid.
Chrome Developer Tools Protocol: Scaling and Running in Kubernetes cluster
Testing world selenium_start_chapter1 (1)
Kubernetes Selenium Grid
Automated UI testing.Selenium.DrupalCamp Kyiv 2011
Fabric8: Better Software Faster with Docker, Kubernetes, Jenkins
watir-webdriver
Testing with Jenkins, Selenium and Continuous Deployment
DevOps with Kubernetes and Helm - Jenkins World Edition
Test Automation Using Selenium
Cont0519
How to Dockerize Parallel Execution of Selenium Tests - SQA Days EU, Rgia, La...
QA Fest 2018. Иван Крутов. 1001 причина использовать Ggr в своем кластере Sel...
1001 reasons to use Ggr in your Selenium cluster
Ad

Recently uploaded (20)

DOCX
The Five Best AI Cover Tools in 2025.docx
PPTX
Transform Your Business with a Software ERP System
PPTX
FLIGHT TICKET RESERVATION SYSTEM | FLIGHT BOOKING ENGINE API
PDF
medical staffing services at VALiNTRY
PPTX
Presentation of Computer CLASS 2 .pptx
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
Understanding Forklifts - TECH EHS Solution
PPTX
What to Capture When It Breaks: 16 Artifacts That Reveal Root Causes
PDF
top salesforce developer skills in 2025.pdf
PDF
AI in Product Development-omnex systems
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
A REACT POMODORO TIMER WEB APPLICATION.pdf
PDF
Best Practices for Rolling Out Competency Management Software.pdf
PDF
Multi-factor Authentication (MFA) requirement for Microsoft 365 Admin Center_...
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
Become an Agentblazer Champion Challenge Kickoff
PPTX
Materi-Enum-and-Record-Data-Type (1).pptx
PDF
Digital Strategies for Manufacturing Companies
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
The Five Best AI Cover Tools in 2025.docx
Transform Your Business with a Software ERP System
FLIGHT TICKET RESERVATION SYSTEM | FLIGHT BOOKING ENGINE API
medical staffing services at VALiNTRY
Presentation of Computer CLASS 2 .pptx
VVF-Customer-Presentation2025-Ver1.9.pptx
Understanding Forklifts - TECH EHS Solution
What to Capture When It Breaks: 16 Artifacts That Reveal Root Causes
top salesforce developer skills in 2025.pdf
AI in Product Development-omnex systems
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
A REACT POMODORO TIMER WEB APPLICATION.pdf
Best Practices for Rolling Out Competency Management Software.pdf
Multi-factor Authentication (MFA) requirement for Microsoft 365 Admin Center_...
Which alternative to Crystal Reports is best for small or large businesses.pdf
Become an Agentblazer Champion Challenge Kickoff
Materi-Enum-and-Record-Data-Type (1).pptx
Digital Strategies for Manufacturing Companies
2025 Textile ERP Trends: SAP, Odoo & Oracle

Selenium in Kubernetes: lessons learned