Dev/Test in the Cloud
In case you haven’t noticed, Microsoft has been extremely busy of late improving and promoting its Windows Azure cloud platform as a compelling tool for development. Most recently, the Windows Azure group has been preaching the benefits of Windows Azure in dev and test operations, citing the flexibility and rapid scalability provided by Windows Azure virtual machines (VMs).
Craig Kitterman, product manager for the Windows Azure Team at Microsoft, gave a keynote address at the Visual Studio Live! Chicago conference in May. When I asked Kitterman about aspects of Windows Azure that developers find most compelling, he singled out dev and test.
“We’re seeing the most buzz around core scenarios that developers can get started with quickly. The primary one here is the ability to use Windows Azure virtual machines for doing dev and test in the cloud,” Kitterman told me. “Many developers think they have to be deploying into the cloud for production to get any benefit, but with on-demand, scriptable VMs, anyone can stand up and tear down a complete dev/test environment in minutes. MSDN subscribers can actually do it for free today by activating their Azure benefit in just a few minutes.”
Kitterman stressed that developers often look at the cloud as “an all-or-nothing proposition,” when it in fact allows them to start small and go big with things such as dev/test environments.
“Hybrid is a core design point for Azure,” Kitterman said, “so we’ve built it from the ground up to make the on-ramp easy, allowing customers to leverage existing IT investments while taking advantage of some Azure services.”
This benefit is certainly visible in the dev/test cycle, where Windows Azure can help dev organizations break time- and budget-sapping bottlenecks. Tasks that once demanded steep investments in physical infrastructure can now be serviced from the cloud.
“Generally speaking, you want your test environment to mirror exactly your production environment. This makes your testing environment realistic. But this also is very expensive because you’re essentially doubling the cost of all your hardware,” says Bruno Terkaly, coauthor of the MSDN Magazine Windows Azure Insider column and a Microsoft technical evangelist. “Being able to quickly deploy to a staging environment, and with the click of a mouse, moving it to production is a seamless process. Companies don’t need to invest in these large test environments.”
Terkaly adds that Microsoft is investing heavily in automation, enabling the use of Windows PowerShell scripts to automate application testing and deployment, for instance. He also notes that many developers he talks to aren’t aware that the cloud, by way of Visual Studio Team Foundation Service, can be used to leverage application lifecycle management (ALM) features such as source control, bug tracking, build automation, test-case management and test labs.
Windows Azure has been a bit slow to earn uptake in the development space, but that trend by all accounts is changing, and offerings like Team Foundation Service are making cloud-based development hard to ignore. Still, Kitterman said, Microsoft has “a ways to go.”
“Naturally, it’s going to take some time as enterprise application lifecycles are long, and new applications are where developers will see the most benefit,” Kitterman said. “Driving awareness of scenarios like dev/test and VM migration that developers can take advantage of immediately will be my focus in the short term.”
Is your dev organization looking into Windows Azure? What would you like to see Microsoft do to make Windows Azure more compelling for your needs?
Michael Desmond is the Editor-in-Chief of MSDN Magazine.