Comments
yourfanat wrote: I am using another tool for Oracle developers - dbForge Studio for Oracle. This IDE has lots of usefull features, among them: oracle designer, code competion and formatter, query builder, debugger, profiler, erxport/import, reports and many others. The latest version supports Oracle 12C. More information here.
Cloud Expo on Google News
SYS-CON.TV
Cloud Expo & Virtualization 2009 East
PLATINUM SPONSORS:
IBM
Smarter Business Solutions Through Dynamic Infrastructure
IBM
Smarter Insights: How the CIO Becomes a Hero Again
Microsoft
Windows Azure
GOLD SPONSORS:
Appsense
Why VDI?
CA
Maximizing the Business Value of Virtualization in Enterprise and Cloud Computing Environments
ExactTarget
Messaging in the Cloud - Email, SMS and Voice
Freedom OSS
Stairway to the Cloud
Sun
Sun's Incubation Platform: Helping Startups Serve the Enterprise
POWER PANELS:
Cloud Computing & Enterprise IT: Cost & Operational Benefits
How and Why is a Flexible IT Infrastructure the Key To the Future?
Click For 2008 West
Event Webcasts
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.

About 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.

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1

Latest Cloud Developer Stories
In his keynote at 18th Cloud Expo, Andrew Keys, Co-Founder of ConsenSys Enterprise, provided an overview of the evolution of the Internet and the Database and the future of their combination – the Blockchain. Andrew Keys is Co-Founder of ConsenSys Enterprise. He comes to ConsenSy...
Blockchain. A day doesn’t seem to go by without seeing articles and discussions about the technology. According to PwC executive Seamus Cushley, approximately $1.4B has been invested in blockchain just last year. In Gartner’s recent hype cycle for emerging technologies, blockchai...
DevOps is under attack because developers don’t want to mess with infrastructure. They will happily own their code into production, but want to use platforms instead of raw automation. That’s changing the landscape that we understand as DevOps with both architecture concepts (Clo...
The need for greater agility and scalability necessitated the digital transformation in the form of following equation: monolithic to microservices to serverless architecture (FaaS). To keep up with the cut-throat competition, the organisations need to update their technology sta...
Product connectivity goes hand and hand these days with increased use of personal data. New IoT devices are becoming more personalized than ever before. In his session at 22nd Cloud Expo | DXWorld Expo, Nicolas Fierro, CEO of MIMIR Blockchain Solutions, will discuss how in orde...
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021



SYS-CON Featured Whitepapers
ADS BY GOOGLE