Ask anyone if they have adopted the cloud, and the answer will likely be yes. Whether it’s Microsoft Office 365, Salesforce.com, Google Docs, Amazon Web Services, Microsoft Azure, or any of the myriad other cloud services, almost everyone will cheerfully admit to using the cloud in some form. Does the definition of cloud imply pulling from cloud services, workloads pushing to the cloud, or perhaps both?

Pulling from the Cloud

Let’s define subscribing to services as pulling from the cloud, or Software as a Service (SaaS). More explicitly, pulling is when a prepackaged service is available for consumption by an individual or company. It is this type of cloud utilization that is the most common and has gained universal acceptance. Office 365 is a perfect example of a prepackaged service that is available for consumption via a subscription model. You sign up for the Office 365 package of your choosing, you pay for it, and the service is available to you on a monthly or annual basis. Easy.

Because small businesses simply don’t have the IT staff, much less the desire, to internally address their computing requirements, consuming available offerings from the cloud makes tremendous sense. Because accounting, productivity, process, project, customer relationship, resource planning, and other packages are readily available in prepackaged, consumable forms, small businesses have adopted the cloud energetically. They are able to pull these services without setting up servers, hiring staff, or needing to engage in all the other aspects of IT.

Medium and large enterprises are also becoming increasingly dependent on pulling cloud services. Enterprise HR systems, customer relationship systems, and other services are being subscribed to by larger companies that find it more conducive to consume Software as a Service than to build and maintain in-house.

Thus, pulling from the cloud is common, and this type of cloud adoption is readily accepted.

Pushing to the Cloud

Pushing to the cloud, however, is much more complex, and it is the primary basis for our discussion. Where an enterprise wishes to push its workloads to a cloud provider such as Microsoft Azure or Amazon Web Services, consumption of those services must first be preceded with network connectivity, domain integration, IP considerations, and numerous other planning steps. While the “rack ’em and stack ’em” tasks associated with physical hardware and cabling in the corporate data center are avoided when moving to the cloud, transitioning to the cloud typically requires extensive and expensive consulting. Pushing workloads to the cloud requires significant planning, testing, expertise, and money. The full push of business workloads to the cloud is still largely a work in progress, and many organizations are in the infancy stage of cloud migration.

The lure of cheaper computing power due to cloud migration is certainly appealing. After all, if allocating a new Windows or Linux server is as simple as a few clicks, the time and money saved in procurement alone should ensure cost effectiveness, right? Because cloud hosting services typically charge per-minute utilization fees, the costs need to be compared against in-house costs for servers that run consistently. When doing such a comparison, it’s not uncommon to find that hosting workloads in the cloud is more expensive. Your mileage (or kilometers) may vary.

Most organizations first approach the cloud in terms of disaster recovery or flexible expansion options.  Rather than purchasing additional servers to host peak season computing power or failover requirements, the cloud beckons attention as a way to prevent underutilization of computing resources in corporate data centers. It certainly makes business sense to avoid paying for servers, space, and people if they’re not going to be used. Especially based on per-minute utilization fees for occasional use, the cost benefits of cloud are clearly visible.

The Perfect Cloud

Just as no enterprise data center delivers 100% availability, there’s no such thing as the perfect cloud.  Cloud services fail occasionally. Cloud networks are slow occasionally. While there are commonly service-level agreements (SLAs) in place that require specific uptime, the repercussion is often a discount or partial refund. Of course, Software as a Service and hosting providers such as Microsoft Azure and Amazon Web Services attract new customers based on very high availability and stellar reputations, but none is perfect.

As conversations related to cloud occur in the technical community, it’s important to understand whether the discussion is focused on pull or push. There’s clearly a difference in the definition of each, as well as the work effort and current adoption rate. What is your perfect cloud?