One of them could be to use Jenkins running multiple Agent nodes

That means yes there are other ways (other than Jenkins)

Agent nodes in Jenkins (more commonly referred to as slave nodes) are used run ‘jobs’ on multiple environments

And there are a lot of different ways you can do this setup

From having multiple physical machines, to VMs to dockerized environments to cloud hostings or SaaS services (Sauce Labs)

The variables I’d consider against each:
– Upfront cost and time
– Vs on-going / maintenance cost and time
– Scalability in the long term
– Support for all needed environments
– Team skill set / learning curve

Everyone has a preference, in some cases I found VMs did a good job

However my preference would be for Docker, and if budget allows hosting services

Anything else you’d add to the equation?