AWS Lambda is a serverless computing platform that lets users run code without provisioning or managing servers. With Lambda, users can run code for virtually any type of app or backend service—all with zero administration. It takes of requirements to run and scale code with high availability.
$NaN
Per 1 ms
Sauce Labs
Score 6.9 out of 10
N/A
Sauce Labs is a cloud-based platform
for automated testing of desktop and mobile applications. It is designed to be instantly scalable, since it is optimized for continuous
integration workflows. (The vendor says that when tests are automated and run in parallel on
multiple virtual machines across many different browser, platform and device
combinations, testing time is reduced and developer time is freed up from
managing infrastructure.) The Sauce Labs testing cloud is intended to be paired…
Lambda excels at event-driven, short-lived tasks, such as processing files or building simple APIs. However, it's less ideal for long-running, computationally intensive, or applications that rely on carrying the state between jobs. Cold starts and constant load can easily balloon the costs.
Having used some of the competitor's tools over the year I would say that SauceLabs provides a lot of value for money if you plan to run long sets of tests with high frequencies. Paying for a single slot means you can run tests whenever you want without creeping costs but it does make running tests in parallel require an extra slot. Currently, our test suite takes over three hours to run and at the moment it is cost prohibitive to purchase an extra slot. However, having access to live testing and integration with Appium is great.
Developing test cases for Lambda functions can be difficult. For functions that require some sort of input it can be tough to develop the proper payload and event for a test.
For the uninitiated, deploying functions with Infrastructure as Code tools can be a challenging undertaking.
Logging the output of a function feels disjointed from running the function in the console. A tighter integration with operational logging would be appreciated, perhaps being able to view function logs from the Lambda console instead of having to navigate over to CloudWatch.
Sometimes its difficult to determine the correct permissions needed for Lambda execution from other AWS services.
I've had four changes in account managers over the past couple of years. They ranged from super experienced/advocate to some that seems relatively junior/a bit removed. I understand this happens but clarity on what I can expect with these partnerships would be valuable. What I've gotten in the end has varied dramatically.
As we currently know, there's nothing on the market with a big feature set like saucelabs at their current price point. Along with the business not having to learn a whole new tool to use again and the ability to refresh our private devices and the continuously growing number of public devices available and features.
I give it a seven is usability because it's AWS. Their UI's are always clunkier than the competition and their documentation is rather cumbersome. There's SO MUCH to dig through and it's a gamble if you actually end up finding the corresponding info if it will actually help. Like I said before, going to google with a specific problem is likely a better route because AWS is quite ubiquitous and chances are you're not the first to encounter the problem. That being said, using SAM (Serverless application model) and it's SAM Local environment makes running local instances of your Lambdas in dev environments painless and quite fun. Using Nodejs + Lambda + SAM Local + VS Code debugger = AWESOME.
It is an incredibly easy service to use for what its primary intention is. The only reason a point is deducted is because more feature enrichment can be done around the Sauce Connect Proxy utility and the Jenkins Sauce OnDemand plugin. User Account administration also needs more work, such as the addition of user groups, rather than a simple hierarchy of users.
Yes, Sauce labs is always there, and it is easy to troubleshoot when you are having any connectivity issue, they always keep you informed when they plan to perform any type of maintenance window on their side in advance, so you can plan and will not affect your current work. I do not recall any outage.
The time where they acquired TestObject and were trying to integrate their services would probably be the most annoying time. Annoying as features were in two separate places (websites) for example. But since the introduction of their unified platform, we haven't run into any issues as of yet and we've used them for at least 5-6 years now.
Amazon consistently provides comprehensive and easy-to-parse documentation of all AWS features and services. Most development team members find what they need with a quick internet search of the AWS documentation available online. If you need advanced support, though, you might need to engage an AWS engineer, and that could be an unexpected (or unwelcome) expense.
The people here are just so friendly and personable. For instance, Tristan Lombard answered every single email with a very cheery tone and not only did he diagnose my issue, he also made sure to ask how my day was going. Keep it up
I am not sure if it's my company that makes getting Sauce Labs integrated into the team difficult or is it Sauce Labs. The process for getting Sauce Labs for a project is quite a tedious process and the information for using Sauce Labs initially is quite lacking. There is little support for getting started
AWS Lambda is good for short running functions, and ideally in response to events within AWS. Google App Engine is a more robust environment which can have complex code running for long periods of time, and across more than one instance of hardware. Google App Engine allows for both front-end and back-end infrastructure, while AWS Lambda is only for small back-end functions
We have also tested out Browser Stack, which at the time was more geared towards manual testing. Although it appeared to support more mobile devices/browsers, we also wanted something that can plugin in easily with our existing Selenium test scripts. Sauce Labs was definitely more geared towards our goals at the moment which were to automation functional/regression testing and build it into our release pipeline.
With private devices, you have full reign over usage of them, so no complaints there. Public devices are available if no one else is using it, which is understandable. Browser VMs are based on number of open sessions and Saucelabs give you a certain number depending on what you need. If you need more, then you pay for more. It is as simple as that. You need more devices, then you can pay for more private ones too. A workaround for public devices is to pick the first available one and not be too picky, that's if you are able to of course.
Positive - Only paying for when code is run, unlike virtual machines where you pay always regardless of processing power usage.
Positive - Scalability and accommodating larger amounts of demand is much cheaper. Instead of scaling up virtual machines and increasing the prices you pay for that, you are just increasing the number of times your lambda function is run.
Negative - Debugging/troubleshooting, and developing for lambda functions take a bit more time to get used to, and migrating code from virtual machines and normal processes to Lambda functions can take a bit of time.