Welcome!

Cloud Expo Authors: Jill Tummler Singer , Ken Rutsky, Elizabeth White, Dana Gardner, Jeremy Geelan

Related Topics: Cloud Expo, .NET, Virtualization

Cloud Expo: Article

Taking .NET Development to the Cloud

The leap of faith

Cloud computing platforms, such as Microsoft Azure, offer compelling advantages for building new scalable .NET applications. But can the Cloud be used for developing existing .NET applications? In this article, I'll explain how we've made the leap to Cloud-based development for our internal applications and the lessons we've learned along the way. Specifically, I'll describe our checklist for selecting a Cloud vendor and how we've used the virtualization capabilities of the Cloud to improve our agile development process. I'll also outline the quantifiable benefits we've seen, including saving $100,000 in capital expenditure and reducing our iteration cycle times by 25%.

All Clouds Are Not the Same
As the development team lead for Buildingi, a corporate real estate consultancy that specializes in back-office technology solutions to manage large portfolios, I'm responsible for building Web-based applications using Visual Studio, the Microsoft .NET Framework, and Silverlight. Last year we started looking at Cloud Computing to gain the advantages of a scalable, virtualized platform for software development and testing.

Most of our developers were using virtual machines (VMs) on their individual development workstations, which limited the ability to share environments across the team. In addition, giving access to customers for user acceptance testing was still a very manual process that involved taking new builds and installing them on under-utilized physical servers.

We had ruled out an onsite virtual lab solution because we estimated even a modest lab would cost well over $100,000 in hardware, storage, lab management software, and labor, which was well beyond our budget of $40,000. By moving to the cloud for a new development and test lab we hoped to avoid this large capital expense and gain the ability to:

  • Quickly set up and tear down multi-machine environments
  • Snapshot entire systems and store them in a central library to enable more efficient bug replication by our regionally distributed development team
  • Run multiple isolated copies of the same application stack side-by-side for testing
  • Enable customers to access new software builds over the Web

Microsoft Azure is a Platform-as-a-Service (similar to Google App Engine) and won't support existing multi-tier .NET applications unchanged, so we explored using Amazon EC2. EC2 is classified as Infrastructure-as-a-Service and offers Xen-based virtual machines and Cloud-based services, including storage, database, and queuing services. Essentially, this means you get Xen-based virtual machines in the cloud, can scale these machines on-demand, and only pay for what you use.

We loved the potential of EC2, but the fact that it only offers Windows 2003 and no other Windows clients (such as XP and Vista) was a non-starter for our client/server solutions. We found the user interface very limited and not suitable for use by an end customer. It also lacked workflow functionality to easily share entire application development stacks with customers or across the team.

Another requirement to consider was the ability to import VMware images of an application stack to a Cloud and run them unchanged. EC2 will only import its AMI format and this is only possible for Linux-based images. After some more research, we discovered Skytap's Virtual Lab, an emerging start-up that offers a virtual lab as a Cloud-based service and solved these requirements.

A Virtual Lab in the Cloud
Virtual lab management is a term coined to describe a new set of tools and test practices to automate labs using virtualization technology. There are vendors (such as VMware) that offer virtual lab management as an onsite package and Skytap offers these capabilities in the Cloud. Virtual labs offer some important capabilities over individual workstation virtualization solutions:

Multi-Machine Configurations
Virtual machine images are the containers that enable operating systems and applications to be isolated from physical resources. A group of virtual images that defines a complete system, including network and storage characteristics, is called a configuration. For instance, a configuration could consist of multiple Vista client machines, an Oracle database server, and a .NET application server. A configuration is a very useful concept for QA teams because it allows a whole system to be defined and isolated in a test environment. Virtual networking enables copies of the same environment to be run in parallel and the emulation of production environments during the test process. Many Cloud vendors only support single machines, so finding a solution that supports configurations is important.

Configuration Library
A configuration library allows a team to manage and organize virtual images and configurations. Standard builds and images can be created and made available to development and QA teams to save manual installation and set-up time.  Additionally, the library is used to store new configurations that are cloned or created as part of a test.

Suspend, Snapshot, and Restore
The ability to suspend a complete state of a multi-machine configuration and make a snapshot (a copy at a point in time) is a major benefit of Cloud environments. This is especially useful for application development teams because when a bug is found a configuration snapshot to be taken at the point of failure and a link to the configuration added to a defect report. Instead of a developer spending hours to reproduce the defect, he or she can restore the configuration and start debugging the issue in minutes.

Automation API
Automating a test lab almost always involves integrating tools and test processes. An automation API enables teams to automatically create test environments as part of the build process and initiate automated test runs once a new build has been deployed. An automation API is typically made available through a Web Services interface.

Administration, Reporting, and Security
Administration and security features include user and quota management, project creation, permissions, and authentication. Remote access to the system (for instance, for an outsourced vendor) is usually managed through secure connections via encrypted protocols and virtual private networking. Reporting lets users and administrators manage usage and quotas to keep project costs in budget.

More Stories By Robert Le Moine

Robert Le Moine is a Senior Consultant with Buildingi, helping people transform ideas into actual tools. With a background in both computer science and engineering, he has designed and implemented solutions ranging from complete IT Infrastructure designs to customized software applications. Fifteen years of experience in leading teams through the ever-changing IT and development worlds has provided Robert with the skills to guide his team through delivering solutions for small business as well as corporate environments.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Cloud Expo Breaking News
With Cloud Expo 2012 New York (10th Cloud Expo) now under four months away, what better time to start introducing you in greater detail to the distinguished individuals in our incredible Speaker Faculty for the technical and strategy sessions at the conference... We have technical and strategy sessions for you every day from June 11 through June 14 dealing with every nook and cranny of Cloud Computing and Big Data, but what of those who are presenting? Who are they, where do they work, what e...
"Having been in the IT field for many years, I believe the cloud computing chapter in the industry is an exciting one and I am proud to be a part of it," said National Reconaissance Office (NRO) Chief Information Officer Jill T. Singer Tuesday, as it was announced that she was one of 10 winners of the 2012 CloudNOW "Top Ten Women in Cloud" Awards.
2011 was a year of rapid adoption for public and private cloud services. Instant and on-demand server provisioning was the driving force behind the massive growth. On top, cloud server templates and script automation simplified application installation for simple and pre-defined application stacks, but have not targeted more complex enterprise application environments. In his session at the 10th International Cloud Expo, John Yung, CEO of Appcara, will discuss how 2012 will be the year for app...
As more enterprises are adopting clouds, the nature of cloud computing is changing. Previously, clouds were used to test applications or for non-mission critical applications. Today, enterprises are using clouds for cost-saving advantages and launching more mission critical applications that have defined performance needs. In his session at the 10th International Cloud Expo, Eric Shepcaro, CEO and Chairman of the Board of Telx, will discuss how distributed computing has many advantages. It wou...
Building a cloud computing environment with on-demand access to compute, network, and storage resources requires an elastic infrastructure at multiple levels. Virtualization combined with x86 servers has transformed the way we scale out compute resources. Unfortunately, legacy Fibre Channel and iSCSI storage architectures are rooted in rigid mainframe-era designs, and are fundamentally mismatched with the dynamic, shared modern data center. In his session at the 10th International Cloud Expo, ...
With Cloud Expo 2012 New York (10th Cloud Expo) just four months away, what better time to start introducing you in greater detail to the distinguished individuals in our incredible Speaker Faculty for the technical and strategy sessions at the conference... We have technical and strategy sessions for you every day from June 11 through June 14 dealing with every nook and cranny of Cloud Computing and Big Data, but what of those who are presenting? Who are they, where do they work, what else h...
With Cloud Expo 2012 New York (10th Cloud Expo) now under four months away, what better time to start introducing you in greater detail to the distinguished individuals in our incredible Speaker Faculty for the technical and strategy sessions at the conference... We have technical and strategy sessions for you every day from June 11 through June 14 dealing with every nook and cranny of Cloud Computing and Big Data, but what of those who are presenting? Who are they, where do they work, what e...
With Big Data Expo 2012 New York (co-located with 10th Cloud Expo) now under four months away, what better time to start introducing you in greater detail to the distinguished individuals in our incredible Speaker Faculty for the technical and strategy sessions at the conference... We have technical and strategy sessions for you every day from June 11 through June 14 dealing with every nook and cranny of Cloud Computing and Big Data, but what of those who are presenting? Who are they, where ...
With Big Data Expo 2012 New York (co-located with 10th Cloud Expo) just four months away, what better time to start introducing you in greater detail to the distinguished individuals in our incredible Speaker Faculty for the technical and strategy sessions at the conference...
Can you bring services from the cloud to your customers faster and have them adopt it with ease of use or bring the power of bundled services to the fingertips of your clients without creating new rigid ‘apps stove pipes'? Do you want to prevent your business running away to public and unmanageably immature cloud services? In his session at the 10th International Cloud Expo, Hans van de Koppel, Sr. Enterprise Architect at Capgemini, will take Cloud Expo delegates to the developing world of clou...