Public vs. Private Device Cloud & Dedicated Devices
Most software projects leverage synthetic tests to verify functionality early on, but physical devices are the ultimate form of quality assurance. While a few smartphones may suffice early on, a growing user base means quality assurance teams must ensure support for a broad range of devices, operating systems, and browsers with public or private device clouds.
Device clouds make it easier to manage devices and run automated tests from anywhere. While some teams transition small device labs into an in-house private device cloud, a growing number of companies offer done-for-you public and private device clouds. That way, you can focus on software development and not device management.
Let's consider different factors when deciding between managing devices in a private versus public cloud.
Public device clouds may provide easy access to a wide range of devices for test automation. Still, if you need enhanced security or priority access, you should consider a private device cloud.
What’s the Difference
A private cloud is a complete environment that you own. For example, you may have your own server or virtual machine, separate databases, and a dedicated bank of mobile devices. These services and devices may live inside your building, or you might rent them through third-party services. But either way, you own them 100% of the time.
On the other hand, a public device cloud typically provides as-needed access to devices via an API. You can sign in to a pre-made environment and quickly run tests against a bank of mobile or desktop devices. But unlike private clouds, a third-party provider controls the environment, and other companies may run tests against the same devices.
Management & Expertise
Private device clouds provide the most flexibility, but you're often responsible for creating and maintaining the environment. As a result, your team may need DevOps expertise, and setting up and maintaining the cloud environment will consume your team's time. These costs could add up over time and slow down other development work.
On the other hand, public device clouds provide ready-made environments. For example, with mobile tests, you can simply upload your APK or IPA tests to a public cloud's Appium server and receive the results via an API or a web-based user interface. The environment configuration, device maintenance, and other concerns are behind the scenes.
Flexibility & Customization
Private device clouds provide the most flexibility because you can control the environment completely. For example, you can fine-tune server scripts to run tests in specific ways or integrate in-house development scripts or third-party tools. Depending on your project, you may require unique capabilities, like testing on legacy browsers or niche OSs.
Public device clouds might provide some integrations with development tools via an API, but they offer less customization than a private device cloud. The trade-off is that public clouds enable you to get up and running faster with a broad range of devices, potentially providing more flexibility in terms of coverage than private device clouds.
Security & Compliance
Software projects in compliance-driven industries, like healthcare or finance, may require private device clouds. For example, they may need to adhere to Sarbanes Oxley (SOX), Payment Card Industry Data Security Standards (PCI), or Health Insurance Portability and Accountability Act (HIPAA) regulations governing who has access to data.
While public device clouds don't share data between customers, anyone with the credentials to access that cloud could view the database contents. Conversely, private device clouds don't provide database access to anyone other than those with access to the environment, providing much higher levels of security.
Speed & Efficiency
Many device clouds provide access to many devices, but public clouds may require you to wait if you haven't reserved them. These wait times can become problematic if you have long-running tests. While it's possible to simplify or pare down tests to get around these issues, that's not always the best option because it might hurt quality.
Dedicated device clouds let you reserve certain devices with specific features, making them available immediately for long-running tests or manual quality assurance. You can run your long-running test automation suites to get the best results and provision extra devices for manual testers that may need to spot-check a release.
Taking a Hybrid Approach
BitBar provides the best of both worlds, with public and private clouds available on-demand and accessible via an easy-to-use API.
We offer public clouds for both browser-based and device-level testing. Rather than running your own device lab, we provide access to the latest and most popular browsers, operating systems, and devices, along with powerful APIs, to integrate these tests into your continuous integration and deployment workflows and tools.
BitBar’s user interface is intuitive and easy to use, providing access to the information you need to automate device-level testing or access ad-hoc devices. Source: BitBar
Meanwhile, our private clouds enable you to create a dedicated environment with hardware and infrastructure built to your specific parameters. We also take privacy seriously with enterprise-grade security features, like a dedicated VPN, SSO, and configured device cleanups to help you meet strict regulatory requirements.
Start your free trial today!
The Bottom Line
Most software organizations appreciate the benefits of outsourcing device labs to cloud-based providers. But when doing so, you must decide between public and private clouds. By understanding the differences we've discussed in this article, you can make a more informed decision and choose the right option for your project.
If you're interested in a one-stop solution for both public and private device clouds, BitBar makes it easy to set up the environments you need and access them with a simple and powerful API.
Try it for free today!