DevX Skillbuilding for IBM DeveloperWorks
DevX Skillbuilding for IBM DeveloperWorks
DevX Skillbuilding for IBM DeveloperWorks
Get regular email alerts when we publish new features!
DevX Update for IBM developerWorks

More Newsletters

Use Case Community Coalesces in the Cloud

Like any new technology, cloud computing needs standards to assure interoperability and application portability. Recently, a community has developed to identify needed standards and show how they would apply in real-world use cases. 


The problem is that it is easy for implementation to outrun interoperability. When that happens, enterprises create future trouble for themselves in the process of taking advantage of a new technology today.

"Any time there's something new and shiny, any developer worth their salt will start playing with it," says Doug Tidwell, a cloud computing evangelist at IBM. "Before you know it, you've got some business system dependent on a single vendor. If you're in that boat and the vendor says we're going to have to double our prices, chances are you're going to have to eat those costs because you're stuck with that platform."

"Developers need to realize there are certain choices they make that are extremely expensive to undo later if they've locked themselves in," Tidwell says.

Join the Google Cloud Computing Use Cases Group Today!

Read the Cloud Computing Use Cases Whitepaper

Standards Development and Use Cases
Standards are a bedeviling problem for developers in new fields. Without standards, everyone goes their own way and interoperability and portability become difficult, if not impossible. On the other hand, setting standards too early and too rigidly runs the risk of stifling development.

Ideally, standards should be set early in the game while enterprises are seriously considering a new technology, but before there is widespread adoption. This is where cloud computing is today.

"It's still very early days," Tidwell says. "We're at a point now where, despite all the buzz around cloud computing, a lot of people waiting to learn more before committing key applications to the cloud. There aren't that many people who have built production applications around it."

"This is one of the reasons it's important to get people involved now," Tidwell says. "You want to make sure as much as you can that you're not going to get burned by that later."

One way to produce early, robust and useful standards is by assembling use cases. Use cases focus developer attention on specific scenarios illustrating how a technology like cloud computing will be used. In doing so, they highlight both the appropriate existing standards to handle various parts of the use case and show where there is a need for new standards.

As a result, the key to developing successful standards for cloud computing, Tidwell says, is a robust community-based effort to develop use cases reflecting how cloud computing will be used in the real world.

To meet the need to develop standards, a community for cloud computing was formed this year. It has a forum at http://groups.google.com/group/cloud-computing-use-cases with over 1000 participants and is actively soliciting more members to broaden its range of experiences, understand the requirements of the community and develop more use cases.

"If we have a set of use cases, people can say this is what I'm going to do with the cloud, you guys (cloud vendors) need to tell me how to do that without being locked in," Tidwell says. "The more use cases I have the more I can point to something users want to do and say we need to provide that capability in a standards based way."

"With use cases we're trying to define what people need with the cloud," Tidwell says. "When you start talking about where we need standards that's an important point."

Areas where the community is looking at standards include security, client access (RIAs), tools and development languages, the platform model, data integration, management and governance systems, monitoring, deployment and the service lifecycle.

Of course many of the needs of cloud computing are covered by existing standards such as HTTP, REST and web services. In other cases, such as making virtual machines and databases portable among various clouds, the standards still need to be developed.

"There are a lot of standards out there and we need to use them wherever it makes sense," Tidwell says. "If there's a standard that solves the problem already, we need to use that and move on to the next problem.

Tidwell emphasizes this is not a vendor-led project. Instead it is a community-based effort which attempts to be inclusive, involving as many members of the cloud computing community as possible.

"The involvement we want is with people who are doing things already or who have taken a long, careful look at this. The more people get involved, the better

In addition to helping to define the needed standards, use cases serve to convince vendors to approach cloud computing in a standards-based manner. "The more I have use cases, the more I can point to something the users want to do and vendors need to provide that capacity in a standards-based way they can use as a competitive advantage."

One of the main tools for the community to disseminate its findings is a white paper (available at http://www.scribd.com/doc/18172802/Cloud-Computing-Use-Cases-Whitepaper, which is always the latest version) that outlines the basics of cloud computing, the need for standards and presents use cases, real-world applications and cloud standards from a developer's perspective.

The use cases in the current version of the white paper cover a range of enterprises, as well as different categories of cloud computing. Among the scenarios represented are payroll processing on virtual machines in the cloud and logistics and project management using an enterprise-to-cloud-to-end-user model. There are also scenarios for central government, local government, and a massive astronomical database using virtual machines and cloud storage.

The use cases white paper is an ongoing project with an aggressive schedule. The first version appeared in the summer of 2009, a second version, with more discussion of the need for APIs for developers, appeared in October 2009, and an updated version comes roughly every 60 days—incorporating the latest ideas and feedback from the community. With extra time for the holidays, version three is due at the end of January and work will begin on version four in early February with a 60-day window.

So far, Tidwell says, the effort is going well. More than 1000 members have joined the Google groups forum since the effort started in June. "We're pretty happy with the responses we've gotten."

"We have a nice range of participants," Tidwell says. "We have people from government, large companies, consultants and others. From our standpoint the more participants we have the better. Those of us on this team are looking at the cloud and those are issues people care about. There have been some issues brought up that we never would have thought about."

As the community develops the focus of the white paper, both broaden. For example, Tidwell says the January release will begin to address the issues surrounding cloud security. "We will only scratch the surface in this version and based on the comments coming in do a deeper dive in the next version."

The critical factor in the success of the standards effort for cloud computing is developers participating in the community effort, Tidwell says.

"If people want to contribute we'd love to hear your ideas." It's easy to join the discussion group. Visit http://groups.google.com/group/cloud-computing-use-cases and click on "Join this Group".

Additional cloud computing resources are at http://www.opencloudmanifesto.org/resources.htm.

More Cloud Computing Resources from IBM

   
Rick Cook is the author of hundreds of articles about information technology and its impact on business.