Have something to share about Test Automation or WebDriver?
Become a speaker now

Distributed Automation using Kubernetes, Docker, Traefik and Helm

Talk

45 minutes

English

Cloud and the emergence of micro-services pose two challenges, besides cloud cost optimization, to the Selenium Grid based Distributed Automation solution for concurrent execution of UI automation.

First one is, in the world micro-services, teams wants to run their UI automated tests against the deployment of every Git branch (as part of validating a Pull Request before it is merged)
Speed will be an important factor in the pre-merge pipeline as described above. Using pure EC2 instance to scale Selenium Grid nodes is no longer feasible.Kubernetes/Docker based solution is the best so multiple hub/nodes sets can be created, used and destroyed using Helm.

The second challenge posed by the Cloud is, multiple accounts.Every company starts moving to Cloud with just one AWS account. But at a later stage, companies move into multiple accounts. With multiple accounts, accessing resources using private IP address becomes an issue.

This provides different problem like accessing hub using private IP address across different AWS accounts.

The solution to the second problem posed by Cloud is, Traefik with Kubernetes, Docker and Helm, which can help us reach the hubs within the Kubernetes cluster with a domain name for each hub like https://da-4eb769b.hub.test.expedia.com/grid/console.

Ambighananthan Ragavan

Ambighananthan Ragavan

Principal Software Engineer in Test at Expedia, UK

Ambighananthan Ragavan is working in Expedia for the past 7 1/2 years and now as Principal Software Engineer in Test. He has been working in test automation space for the past 16 years. His role is to look out for suitable new technologies and create tools to increase the productivity of engineers. In 2015, he presented “Distributed Automation”, in Selenium Conference in Oregon and Selenium Camp in Kiev in 2016. He is going to present, what he is currently working on, Selenium Grid based on Kubernetes, Docker, Traefik and Helm, which suits the next generation of things.