Application development and testing in the cloud are gaining popularity, as more businesses launch public and private cloud computing initiatives. Cloud development typically includes integrated development environments, application lifecycle management components (such as test and quality management, source code and configuration management, continuous delivery tools), and application security testing components.
Although technology executives and developers with experience in cloud-based development say there are clear benefits to developing in these environments -- such as costs savings and increased speed to market -- they also caution that there are challenges and surprises to look out for.
[ Get the no-nonsense explanations and advice you need to take real advantage of cloud computing in InfoWorld editors' 21-page Cloud Computing Deep Dive PDF special report. | Stay up on the cloud with InfoWorld's Cloud Computing Report newsletter. ]
Just how common development in the cloud is likely to become isn't clear. But industry analysis shows it's on the rise. In a February 2011 research note, Gartner said clients that attended the firm's symposia in 2010 expressed "sharply increased interest" in cloud computing to enhance the development and maintenance of existing custom Web applications.
"I see it the most in prototyping and parallel branch development, but there's also huge growth in the load- and performance-testing space," says Eric Knipp, a principal research analyst at Gartner.
If you're looking to venture into cloud development for the first time, here are nine types of hurdles you might encounter and suggestions on how to address them from developers who've actually done the work.
Cloud development gotcha 1: The cloud doesn't always work like the "real world"
Developers might find that the configuration they use in production is hard to replicate on cloud services. For example, with an application you develop in the cloud before bringing back to run locally, you might need to test against a legacy system that you can't simply copy onto a cloud service, Knipp says: "That means there might be a lot more stuff that developers have to stub out to get a test app up and running."
Service virtualization technology can help, Knipp says, and developers can take advantage of market offerings that enable multiple/parallel branch development. Take the case of iTKO, which offers a software suite called Lisa that helps companies move enterprise applications into the cloud.