http://java.sun.com/javaone http://java.sun.com/javaone http://java.sun.com/javaone
JavaOne - Experiencing Java technology through education, industry, and community
  2009 Platinum Cosponsor
Intel
  Cosponsors
Cosponsors
  Gen Session Cosponsors
General Session Cosponsors
  Media Sponsors
Media Cosponsors
Home > Cloud Computing: Show Me the Money

Cloud Computing: Show Me the Money


by Jim Holliday

On Thursday afternoon, the JavaOne conference panel discussion titled Cloud Computing: Show Me the Money (PAN-5366) drew a very large audience, because lots of developers are asking the questions that were in the session description: Is cloud computing more of a myth than a reality? What do "infrastructure as a service," "database as a service," "platform as a service," and "software as a service" really mean?

The panelists were Jeff Barr of Amazon.com, Jeff Collins of Intuit, Chris Fry of Salesforce.com, Simon Guest of Microsoft, Gregor Hohpe of Google, and Lew Tucker of Sun Microsystems.

The moderator, Raghavan ("Rags") Srinivas is a witty and charismatic technology evangelist who has worked for Sun Microsystems and Intuit. To kick off the session, he said that every 10 years or so, distributed computing seems to morph itself. Ten years ago, he explained, the next big thing was web services, service-oriented architecture (SOA), and related technologies. Now, the world has suddenly changed because of cloud computing. And he joked that all the talk about cloud computing is just like talk among teenagers about sex: Everyone wants to do it; everyone says they are doing it; no one is sure who is really doing it; and the ones who are screaming the loudest are the ones who are lying about doing it.

Before turning the microphone over to the panelists, Rags prepared the audience by stating that none of the questions about what cloud computing is would be answered in the roundtable. There are other sources for that kind of information. Instead, the focus of this roundtable was to show cloud computing as it exists in the industry right now.

Most importantly, as a Java developer, how do you prepare yourself for whatever cloud computing is?

Cloud Computing as It Exists Now

Each panelist gave a five-minute demonstration of his company's cloud-computing technology. This helped to demystify the terminology associated with cloud computing. The demos gave the audience just a taste of the cloud computing offerings that each of the largest players in this space has to offer. They also showed the use of the Java programming language to create cloud applications.

Amazon EC2 and S3

Jeff Barr of Amazon said that many organizations like to start with a small application and then scale it upward. So he showed a simple application that he had coded to display frequent updates of the traffic slowdowns on the highways that he travels most, in Seattle, Washington.

The application uses a few data sources and a little bit of code, and runs in an instance of the Amazon Elastic Compute Cloud (Amazon EC2), getting storage from the Amazon Simple Storage Service (Amazon S3). He ran the application in real time and showed that at this small scale, the cost would be only pennies, given that S3 only costs 15 cents per Gig per month of storage.

Salesforce.com

Chris Fry encouraged developers to play around with this technology by signing up for a free developer's account at Salesforce.com. Salesforce has a powerful system for creating applications. If you are a Java developer, said Fry, it is very easy to learn the metaphors needed for development.

Scalability is built in to the Salesforce technology. He showed how to develop one simple class that will scale as needed in the company's batch-processing infrastructure. As a programmer, you don't have to think about how to scale the application. Just keep adding users, and no change is needed to the application.

Fry's demo was written in the Apex language, which is much like the Java programming language. The demo showed how to cycle through all of an organization's accounts throughout the country. The display is updated by batch processing in the background.

Google App Engine

Gregor Hohpe showed how to build a demo for the Google App Engine. From scratch, he coded a few lines in the Eclipse IDE to implement a servlet using the APIs from Java technology, circa year 2000. He clicked on the App Engine icon in his local IDE, logged in, and immediately the servlet was deployed to the cloud.

Hohpe showed that you simply create an account to use Google App Engine, set a quota, and deploy your app. If your usage scales, you can simply sign up for a higher quota.

Cloud computing is about making things easy. You can migrate old applications, use Java code, then deploy out to the cloud. Scaling is taken care of for you. As of now, 80,000 applications are already deployed to the Google cloud.

Intuit Partner Platform

Jeff Collins showed the Intuit Partner Platform (IPP), a cloud computing service that lets you store data and then deploy or integrate applications. Collins said that the key question is relevancy.

He asked: What is the application going to integrate to? To whom will you show it so that the customer can see a value? Many Intuit customers use QuickBooks, said Collins. How do you apply this technology to a business problem that the customer has? How can you integrate your application, and what does the cloud say about it? How can you make a user's identity make sense to a small business that is trying to sell a software-as-a-service product?

Collins discussed how to integrate different clouds. He showed the Intuit Workplace, through which Intuit takes the QuickBooks customer information and moves it to the cloud. Then the developer can write an application that integrates that data and even sends data back to QuickBooks.

He demonstrated two applications. One has code that points to the data source. Within minutes, he could build a Flex application that can work with QuickBooks data.

The other application allows a recently announced Intuit partner, Vertical Response, to download the list of QuickBooks customers from Intuit to the Vertical Response data center.

The Vertical Response developers set up an EC2 application on Amazon that uses a Java SDK provided by Intuit to federate back in to the Intuit cloud. So Vertical Response can sell this service to Intuit customers and even have the billing done on Intuit's marketplace. This is an integration of different clouds.

Windows Azure

Simon Guest talked about Microsoft's cloud service, Windows Azure, which was announced in 2008. Lots of documentation and webcasts are available to describe the features and use of this service. Like other services, Windows Azure supports the building and deployment of cloud applications. It has a full production environment, which requires only one click to switch from staging to deployment. It also supports GlassFish Metro or published REST endpoints.

In his demo, Guest showed how to use Java technology-based applications with Windows Azure. He showed a Web 2.0 Java application that allows users to interact with the primesolvr.net web site. The user can submit an integer and test whether it is a prime number or not.

Sun Cloud

Lew Tucker of Sun Microsystems started off by asking, "What is your data center today? Who is already using cloud services, such as EC2, Salesforce.com, or Google App Engine?"

He took five minutes to demonstrate the visual web interface to the Sun Cloud. If you use the Sun Cloud, you can administer a virtual data center from a web browser. The data center is your own -- only it's being managed by Sun in the cloud.

A simple click on the browser interface lets you configure resources and add them to the virtual data center. With a simple drag and drop, you can add Ubuntu, Windows, and LAMP servers to your virtual data center.

You can also do more complicated things, like set up a multitiered architecture. For example, he showed a first-tier server, a load balancer, three web servers, and a back end (the third tier). You can even hook in Drizzle.

Watch a demo of the drag-and-drop Virtual Datacenter Deployment Tool. Sun has also developed and released open-source APIs for REST and other technologies, as outlined in this video.

Questions From the Audience

The roundtable concluded with questions and answers from the developer audience. Many people have asked, when contemplating cloud computing, what if you want or need to retain physical control of your enterprise's data? In some cases, there are even legal requirements to keep data in a local geo. How can this be accomplished with cloud computing?

Every panelist agreed that there is a way to handle this. Amazon has tools to report and track the physical location of data. Google has a Secure Data Connector that lets the cloud call in to your own data center. Thus, you can host your most sensitive data behind a firewall. Microsoft has a similar mechanism, called the .Net Service Bus.

One panelist mentioned that this problem is one that we all faced even before the advent of the cloud. For example, the data that an email attachment sent from one geo to a second geo might be routed through a third geo server between the time it was sent and delivered.

Another developer asked: How can a cloud application be tested before going live? All the services have a staging mechanism, the panelists indicated. Typically, a key user must give permission before the application goes live. And a technical check can be required even after that permission is received. Lew Tucker said that the Sun Cloud has full support for continuous integration in multiple environments.

Salesforce has a full sandbag model to clone your organization's data for staging prior to deployment. There are mechanisms to avoid malicious behavior. Code can't do something to some other client's processes in the cloud.

For More Information

» Amazon Elastic Compute Cloud (Amazon EC2)
» Salesforce.com
» Google App Engine
» Intuit Partner Platform
» Windows Azure
» Sun Cloud
» JavaOne Minute: Lew Tucker on the Sun Cloud

 

Do you have comments about this article? We welcome your participation in our community. Please keep your comments civil and on point. You may optionally provide your email address to be notified of replies - your information is not used for any other purpose. By submitting a comment, you agree to these Terms of Use.