Selecting the right cloud: A step-by-step guide

An architectural approach for savvy enterprise adoption of public cloud computing

There are many patterns, or categories, in the world of cloud computing that you can use to meet the needs of your enterprise architecture. Some solve specific problems, such as security-as-a-service or testing-as-a-service, and some provide complete platforms, such as platform-as-a-service or infrastructure-as-a-service. They all have trade-offs and different problems that each solves. However, you must consider them all in light of your architecture.

So, the categories of service are storage, database, information, process, application, platform, integration, security, management/governance, testing, and infrastructure. The figure shows how they relate.

[ This article is excerpted from David Linthicum's book "Cloud Computing and SOA Convergence in Your Enterprise." Get a copy today! | Stay up on the cloud with InfoWorld's Cloud Computing Report newsletter. ]

You can further break them down into fine-grained solutions, or those providers who solve very specific problems that alone cannot be considered a platform. Or into coarse-grained providers, or those that, unto themselves, are a complete platform.

Thus, fine-grained services include storage, database, information, process, integration, security, management/governance, and testing. And coarse-grained services include application, platform, and infrastructure.

It's helpful to do this breakdown, because one coarse-grained cloud computing provider can actually be made up of many fine-grained resources. For example, a single platform-as-a-service provider could offer storage, database, process, security, and testing services.

However, while it may seem easier to use a coarse-grained cloud computing solution because it provides many fine-grained resources, the decision is really a matter of the requirements of your architecture. You may find that selecting many fine-grained cloud computing solutions is a much better fit for your architecture, when considering your requirements and/or the ability to mesh effectively with the on-premise portion of your architecture. Thus, it is useful to think of the candidate cloud computing provider categories by architectural component:

  • For processes, the service components are application, platform, infrastructure, process, and integration.
  • For data, the service components are application, platform, infrastructure, storage, database, and information.
  • For services, the service components are application, platform, infrastructure, and information.

To make this point clearer, consider this provider arrangement based on one possible architectural categorization:

  • Processes: process service via Appian Anywhere.
  • Data: infrastructure service via's Elastic Computing Cloud (EC2) and database service via Amazon Simple DB.
  • Services: infrastructure service via Amazon EC2.

You might store your data in Amazon Simple DB, as well as on the Amazon EC2 platform. Then, you might build and/or host the services on the Amazon EC2 platform, say, using an application server it provides on-demand within that platform. Finally, you could use Appian Anywhere as the platform where those processes live. Keep in mind that the processes are connected to the services, and the

services are connected to the data. You're just selecting the target platforms here.

As a more complex example involving more cloud computing providers:

  • Processes: process service via Appian Anywhere and application service via
  • Data: infrastructure service via 3Tera Cloudware and Amazon EC2, and database service via Amazon Simple DB.
  • Services: infrastructure service via Amazon EC2 and 3Tera Cloudware, application service via, and platform service via's

Or, you could have a simple arrangement using a single cloud computing provider:

  • Processes: process service via Amazon EC2.
  • Data: infrastructure service via Amazon EC2.
  • Services: infrastructure service via Amazon EC2.

Moreover, you need to consider the other core components of the architecture including security, testing, and governance, which can be deployed on-premise or in the cloud, depending on your needs.

The purpose of this exercise is to is to illustrate the number of architectural options you have, and how you can mix the options to form your final architecture, using as many or as few as you need to address the requirements of the architecture and thus the business.

There's a high-level process you can use to find the right cloud computing category or categories, and finally cloud computing providers to move your processes, services, and data that were selected as good cloud computing candidates.

The core steps are:

  1. List the candidate platforms.
  2. Analyze and test the candidate platforms.
  3. Select the target platforms.
  4. Deploy to the target platforms.

Let's look at each step in more detail.

Read the rest of this article and more in InfoWorld's free PDF report, "Cloud Computing Deep Dive," including:

  • The 11 cloud computing categories
  • How to embrace the new "cloudy" platforms
  • Learn what cloud computing really is -- and is not
  • Cloud options that really help IT
  • InfoWorld Test Center comparative review: cloud vs. cloud

This article, "Selecting the right cloud: A step-by-step guide," was originally published at Follow the latest developments in cloud computing at


Copyright © 2010 IDG Communications, Inc.