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