(Last updated in 2018)
Business groups across the enterprise are competing for, or lack access to, IT lab resources customized for their specific objectives. For application development and software testing groups especially, access to IT resources and expertise is a major challenge. According to Gartner,* “through 2015, only 10% of I&O (Infrastructure & Operations) organizations will be able to deliver the speed of change required by the business processes they enable.”
There are two issues that often get in the way of the development and test process:
1. Limited and slow access to infrastructure that causes delays in release cycles and puts testing at risk of being incomplete, resulting in bugs in production.
2. The time it takes to specify and deploy specific development stacks for different purposes.
Enter the Cloud.
One of the big value propositions of cloud infrastructure is that it greatly reduces the hurdles that developers face when setting up software and cloud development environments. By offering developers their own hosted, self-service test labs, organizations would be able to open the doors to increased flexibility and agility. Ultimately, allowing developers to release better software, faster, without requiring IT to process complex requests from developers at every turn. For the organization, this saves internal resources for production and business users
What Makes the Ideal Cloud-Based Testing Lab?
When choosing a cloud lab provider, there are a number of must-have factors to explore. Below is a top 10 questions-to-ask checklist of leading organizations practices when choosing the ideal virtual test environment:
Is It IaaS?
|The ideal virtual self-service test environment is an IaaS service built for pre-production ups and downs. This is important since it allows developers to dive deeper into the infrastructure.|
Do I Have the Ability to Clone Environments?
|Environments should be portable units that capture and clone all needed VMs, their running states, networking, and configurations. Modern applications are more complex than a single VM or service, so the entire application should be treated as a single unit of code and infrastructure.|
Can the Environments be Suspended or just Shut Down?
|The technology should allow virtual machines and complete multi-machine testing environments to be suspended instead of being shut down. This preserves the memory state of environments where they were left. For development processes, it’s important that users will be able to pick up exactly where they left off without the burden of long boot up times.|
Can I Provision Environments?
|The virtual it provider should offer options to provision environments based on existing production environments. This lets developers start coding against production-like configurations without missing a beat.|
What happens to the memory state when not in use?
|The cloud testing provider should allow you to preserve and capture the memory state of a running environment, when not in use. This way, each build comes with a brand new identical environment. There is much less risk of contamination and uncontrolled variables, leaving open the possibilities for more experimentation with continuous integration and delivery.|
Can I integrate environments with my existing development tools?
|Integration organizations should be able to integrate environments with the team’s existing development tools for backlog, monitoring, release automation, bug tracking, testing, source control, and project management.|
Am I able to Collaborate and Share?
|Once developers are working in the cloud, they need to be able to easily share infrastructure with each other, log activity, share ideas and collaborate. A cloud-based test lab should have these social components built into the platform.|
How do I Connect Externally?
|There should be options for external connectivity to the environments beyond standard endpoint- via unique URL, optional access from mobile devices, connection through vLAN, and the connection to the local network via a Site-to-Site VPN. Also, an ability to consume and share resources among other Clouds, or on-premise environments.|
Can I transfer content from one cloud to another?
|The hosted development environment should offer options to transfer content or whole VMs from one Cloud to another, preferably through a secure FTP location. It is automatically visible to the entire infrastructure in the cloud-based dev/test lab, and can be easily connected from any other location.|
Do you provide an API?
|A good cloud testing environment should have an API that provides the ability to transform content to and from the Cloud programmatically, as well as provision the test environments. This allows you to transfer content and provision environments by scripts, an extremely powerful way to automate infrastructure.|
Test Better with Cloud-Based Test Labs
If you provide developers with the right test environment, they can be more efficient and release higher quality applications more frequently. The ideal virtual test environment lets your company forget about infrastructure and develop much more flexibly, and move faster.
To get further information on test environment best practices and the benefits of cloud testing labs, download our whitepaper: The Ideal Development and Test Cloud!