Developers beware: Downsides to developing in the cloud

Article

Developers beware: Downsides to developing in the cloud

SAN FRANCISCO – Developers at JavaOne this week heard about some of the challenges and strategies involved in developing cloud based applications, notably around security and performance.

Ted Leung and Ashwin Rao, principal engineers at Sun Microsystems, gave a presentation called "Seeding the Cloud" in which they highlighted some key areas for developers to explore.

Leung said developers need to think about what happens when an application scales and multiple images are brought online to address the increased load. While some applications, like basic Web servers, are trivial to scale, more complex applications like ERP need to be able to deal with servers being brought online or turned off. The burden of dealing with this complexity falls on the developers who need to be looking for the ability to control the starting and stopping of images via APIs.

    Requires Free Membership to View

    When you register, my team of editors will also send you alerts about public, private and hybrid cloud computing as well as other related technologies.

    Cathleen A. Gagne, Senior Editorial Director

    By submitting your registration information to SearchCloudComputing.com you agree to receive email communications from TechTarget and TechTarget partners. We encourage you to read our Privacy Policy which contains important disclosures about how we collect and use your registration and other information. If you reside outside of the United States, by submitting this registration information you consent to having your personal data transferred to and processed in the United States. Your use of SearchCloudComputing.com is governed by our Terms of Use. You may contact us at webmaster@TechTarget.com.

More on cloud development:
Tibco set to bring governance to the cloud

Google App Engine plus Amazon AWS: Best of both worlds

He discussed the software Stack as a Service idea and said it opens up performance and security challenges regarding the different stacks that are brought into the system. Leung asked, "Can you trust a stack that someone else gave you?" He said that he would like to a see a service for providing stacks that are built and certified, but no one is currently doing this commercially.

A further challenge occurs when organizations need to add new services or applications to the stack, running the risk of adding new security holes or performance bottlenecks. They would have to provide a whole series of stacks with different applications optimized for different purposes, he said.

Platform as a Service (PaaS) offerings like Google App Engine and Amazon AWS places further constraints on the kinds of code and applications that can be written. "When you look at PaaS, you need to see what limitations are built into the development and deployment environment," Leung said. Google App Engine, for example, is the most popular PaaS offering at the moment, but it only uses a small subset of Java and is only optimal for a narrow range of applications. It, for example, cannot do background processing.

Cloud development also changes the code efficiency of different programming techniques, according to Leung. "As a Java programmer you understand the cost model, and know what is expensive and what is cheap. When you migrate those applications to the service world, all of that goes out the window. Even though the platform might have similar offerings, the performance characteristics are different."