Moving Testing to the Cloud: A Look at Windows Azure and CloudShare
With the announcement earlier this year that Microsoft would kill off TechNet subscriptions forthwith, giving existing subscribers a limited timeframe in which to continue downloading software, many IT professionals have had to look at alternative solutions when creating onsite test labs.
Microsoft has promised to expand the download options for free evaluation versions of its products, and it still provides access to software for testing purposes through more expensive MSDN subscriptions and TechNet Labs. But with an MSDN subscription out of reach for many, and a time limit imposed on free evaluation downloads, the change in policy has led me to think about moving testing into the cloud.
Cloud vs. Onsite Test Labs
The biggest challenge for small companies that need to set up and maintain test environments is that funds are usually restricted. As such, there is limited processing power, disk capacity, and speed, making the task of creating and maintaining labs a time-consuming chore.
Onsite labs can require a surprising amount of administration to keep them up and running in a way that makes them useful. Unless you set up your own OS deployment server and maintain gold images with the latest patches, constant updating, and reprovisioning of VMs can impact IT’s ability to deliver and innovate.
Say Goodbye to Traditional PC Lifecycle Management
Traditional IT tools, including Microsoft SCCM, Ghost Solution Suite, and KACE, often require considerable custom configurations by T3 technicians (an expensive and often elusive IT resource) to enable management of a hybrid onsite + remote workforce. In many cases, even with the best resources, organizations are finding that these on-premise tools simply cannot support remote endpoints consistently and reliably due to infrastructure limitations.
Moving my test environments to the cloud has brought several important advantages, including:
- Connect remotely anytime without keeping servers powered up 24/7 in my office.
- Provision new servers quickly from regularly updated images with the latest OS patches.
- Flexibly assign disks, memory, and processing power to VMs as needs change.
- Work securely from any location without maintaining an inbound Internet connection to my office.
Testing in the Cloud: Azure or CloudShare?
Despite the fact that there will always be certain tasks that require me to keep a physical server available for testing onsite, I decided over the summer to move the majority of testing to the cloud. I already knew that setting up an Active Directory domain in VMs on Azure wasn’t straightforward, and as AD forms the basis of most of my testing, I investigated alternatives specifically geared towards testing scenarios.
I came across CloudShare and decided to give it a go on a trial basis to make sure it met my needs. The only limitation for trial users is that VMs have no outbound Internet connection. As its name suggests, CloudShare allows you to share test environments with colleagues.
VMs are provisioned with fixed IP addresses, so there’s no problem to get a domain controller up and running quickly. Another nice touch is that by default, test environments (of which you can have more than one) are suspended automatically after a period of inactivity, saving energy in the remote datacenter. CloudShare provides its own browser-based interface for connecting to remote desktops, providing some handy features to optimize the connection. Alternatively, you can use Microsoft’s Remote Desktop Connector.
Windows Azure offers a wider array of services than CloudShare and isn’t specifically intended for use by IT pros as a test environment, but there’s no reason why it can’t be used as such. While there’s the disadvantage that setting up an AD domain is a little more complicated than in CloudShare, don’t let that put you off.
One advantage of using Azure is the chance to learn how it works. Azure skills are already in demand, and this is only likely to increase in the future. If the pricing model doesn’t make the cost prohibitive, then it’s worth taking a look. If you’d prefer a simpler system with a clearer pricing structure, then consider CloudShare or similar alternatives.
Apart from the technical differences between the two services, the main difference is that CloudShare only offers fixed subscription fees depending on the resources you want access to. Azure offers a pay-as-you-go model, which might suit some uses better.
Performance is critical, and I’ve been impressed with the general responsiveness of VMs provided by Azure and CloudShare – certainly faster than anything I could provide physically in my own office. This makes creating new test environments faster. I know I can be up and working quickly with a new configuration without spending hours installing new VMs.
If I have one minor criticism, it is that disk access seems slower than it would be on a server with a physically attached disk. Both Azure and CloudShare use Storage Area Networks (SANs) for disk provisioning, and there can be a slight delay when accessing disk resources. Both services have excellent reliability, and I’ve never been left without access to my test environments.