Which Cloud Is Right for You?
Organizations interested in migrating to the cloud must consider what type of cloud service is appropriate -- IaaS, SaaS or PaaS. They should also consider whether a public implementation or a private implementation -- or a hybrid combination of the two -- would be most appropriate. Private clouds are hosted using in-house resources, public clouds are provided by a third-party, and hybrid clouds consist of a combination of the two.
08/02/10 5:00 AM PT
There's no question that the substantial growth of the cloud computing market has become a hot topic, generating almost as much debate and conversation as it has confusion.
Many etailers have already realized the benefits of cloud computing, but the different types of public and private clouds and cloud services -- such as Infrastructure as a Service (IaaS), Software as a Service (SaaS) and Platform as a Service (PaaS), all grouped under the "cloud computing" banner -- make it difficult for businesses to decide how to make the transition when shifting to the cloud.
The decision to use IaaS, SaaS or PaaS largely depends on the services a company wants to use, and how effectively they can be integrated into its infrastructure and business objectives. By understanding the differences among the three types of cloud services, businesses can ensure that the cloud service they choose will provide the most optimal benefits, both in terms of cost and performance.
Infrastructure as a Service
IaaS is the most fundamental type of cloud computing , with providers such as Amazon EC2, Terremark, Joyent and Rackspace. The IaaS vendor provides the basic infrastructure an application may require -- servers, storage and networking. Rather than hosting physical servers internally and virtualizing them, a company can rent as many virtual servers as it needs from a cloud provider.
If a company runs a multitude of complex in-house applications, such as Web servers, inventory databases and CRM applications, an IaaS cloud service could be a good fit. With IaaS, companies can replace many of the costs associated with running the hardware their applications operate on with a pay-per-use model.
A pay-per-use model allows companies to rent the resources they require at any time instead of buying infrastructure that might not be used for months, thereby eliminating the costly problem of over provisioning.
For example, an etailer with seasonal surges in website traffic may need to reserve extra resources to accommodate those busier times, which would be an expensive waste during the slower periods when they're not being used.
Employing IaaS in the cloud eliminates many hardware operational costs by replacing them with hourly fees when they use the servers. These hourly fees can run as low as a few cents per server, which is especially useful for etailers that experience major shopping spikes only a few times a year during sales, promotions and seasonal turnovers.
While IaaS provides impressive cost-saving benefits for variable workloads, there are concerns regarding data security. Cardholder data must be managed within the terms of the PCI DSS regulation, which precludes the use of many IaaS clouds.
As a result, companies may find it necessary to run the majority of their applications from a cloud, but hold back on key secure elements to run in their own data center in order to comply with standards and security issues.
Software as a Service
SaaS is considered one of the most ubiquitous cloud computing models, allowing companies to access key applications over the Internet from an external provider, rather than deploying and managing the applications in house. SaaS can benefit businesses financially by eliminating the costs of software licensing and internal operations.
For instance, instead of installing and running a CRM application in house, a SaaS provider such as SalesForce.com enables companies to access a CRM application online, avoiding expenses for acquiring, installing, managing and upgrading the software internally.
However, it's important for companies to assess how the functionality of an application meets its business objectives before turning to SaaS. By comparing in-house and SaaS-based applications, a company can evaluate the differences in the applications' functionality and costs.
Since SaaS applications are typically accessed remotely using a Web browser, they are typically more accessible, but they generally offer much less scope for customization and may not perform as well as local applications.
Platform as a Service
Between IaaS and SaaS lies a less common type of cloud -- PaaS, or Platform as a Service. Many applications are targeted at a specific deployment platform, be it .Net, Java, PHP, Python or some other. Rather than deploying the platform internally to host the application, an organization can rent capacity on the platform from a PaaS cloud provider.
Some platforms are relatively open and portable, based on common application technologies that are widely available, thus reducing the danger of lock-in to a particular provider.
Other examples of platforms include proprietary extensions that increase lock-in, or may even be specific to one cloud provider (e.g., SalesForce's force.com platform).
However, these proprietary extensions may help to cut down development time and build applications that scale more effectively, so the selection of a PaaS partner should be regarded very much as a strategic one rather than a tactical one.
Public, Private or Hybrid?
Having considered what type of cloud service is appropriate, an organization should also consider whether a public implementation or a private implementation -- or a hybrid combination of the two -- would be most appropriate. Private clouds are hosted using in-house resources, public clouds are provided by a third-party, and hybrid clouds consist of a combination of the two.
The purpose of a private cloud is to allow an organization to make more efficient use of its resources, increasing utilization and providing new resources rapidly. A private cloud gives companies complete control over the network, maintenance and security of the cloud, which may be best for companies handling sensitive data and customer information.
The purpose of a public cloud is to allow for massive elasticity; utilization is of no concern to the cloud user. Upfront CapEx costs are very low, but the OpEx costs will mount, and a public cloud may prove to be more expensive than colocation, for example, over a two to three year period.
Public clouds may be the best option for companies like etailers who see occasional major spikes in demand and don't want to make the substantial investment in their own infrastructure.
The alternative is a combination of private and public cloud environments; the private cloud "spilling over" to a public cloud when resources are tight. Cloud bursting is the technique of moving workloads from one location to another (generally a public cloud) when demand is particularly high.
A hybrid approach also allows an organization to split its workload -- for example, putting Web content in a public cloud, but respecting compliance concerns by keeping the payment system for the Web service in its own private infrastructure.
Any type of scalable, elastic application requires some sort of traffic management solution to ensure that users can access the application reliably and quickly as it scales up and down, or migrates between data centers.
This application delivery controller (ADC) technology is commonly used to mediate between the end-user of a service and the cloud-based instances of the service, ensuring that users get the best possible level of service and that traffic is delivered in the most efficient possible fashion.
ADCs also enable activities like cloud bursting, which occurs when corporate cloud/data center capacity has been exceeded. ADCs can manage small-scale spikes in traffic with ease, and are able to monitor the level of service that an end-user receives, so they are an ideal source of status information to indicate when services should be scaled or even burst out to an alternative provider with more capacity.
Modern ADCs participate directly in scaling and bursting activities, and in routing end-user traffic appropriately as server workloads are created, migrated or destroyed.
With the rate at which the cloud is taking off, more companies will need to examine how the cloud can benefit their organization. Budget cuts and demands for more flexible IT environments are increasingly motivating companies to implement this change.
The first exploration will be to consider IaaS, SaaS and PaaS services, with regard to business objectives and integration solutions. Whatever the final decision comes down to, companies can arm themselves with this knowledge and be confident that ultimately, any of the above is a positive step toward a new future of seamless, agile computing in the cloud.
Owen Garrett is chief innovations officer at Zeus Technology.