It never occurred to me until today, so making a post for my own reference and others.
For running Selenium tests in parallel distributed fashion across a larger set of nodes than what your internal environment allows, one has two or a few choices depending on how you view it:
- Other cloud providers (expand the list rather than define generically, and you would have more than two options)
Cloud virtualization services/providers:
- Amazon EC2
- Microsoft Windows Azure
- Rackspace Cloud
- Other small players
With SauceLabs, it may be cheaper to use the service, or not. And you don’t have to manage/maintain cloud servers (e.g. turn on, off, etc.). It’s all managed for you and on demand. Those are the advantages.
Disadvantages are that you’re limited to programming languages that they support, can only scale to whatever their max is, and lack of customization like if you need custom tools to integrate with Selenium that need to go on the browser host machine.
Clearly using cloud providers gives you more power and customization. Everything SauceLabs does for automation, you can do with cloud providers. Only problem is you have to build the control and maintenance infrastructure yourself (unless you plan to manually start/stop servers and kick off tests). Until someone releases prebuilt frameworks to use with the cloud providers, you have to “roll your own”.
Given time and resource allocation, I’d prefer the cloud provider route, but if you need simple quick solution, SauceLab might be the way to go (short term, anyways).