If you are not sure exactly what cloud computing means, then you are in good company.
The management consulting firm McKinsey & Company found 22 different definitions of cloud computing and went on to invent a 23rd. One of the most commonly cited definitions, which comes from the National Institute of Standards and Technology (NIST), is also one of the most complex. NIST defines cloud computing as “a pay‑per‑use model for enabling available, convenient, on‑demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.”(1)
This was not quite clear enough to the Yankee Group, who proposed that cloud computing be considered ”dynamically scalable, virtualized information services delivered on demand over the Internet with multi‑tenant capability, service‑level agreements (SLAs) and usage‑based pricing.”(2)
Trevor Doerksen, a founder of MoboVivo, declared, “Cloud computing is the user‑friendly version of grid computing.”(3)
So like an actual cloud, cloud computing today appears distant and different from every perspective, but its benefits should be clear to even the most casual observer. By making better use of hardware, software, and people, cloud computing saves money. Although it is based on some interesting technologies, the real innovations in cloud computing are in pricing. Historically companies and governmental organizations built data centers and hired people to manage them regardless of how much or how little they were used. If they were concerned with cost it was mainly with the amount of capital required to construct a data center and stock it with power, cooling, security, communications equipment, and the actual servers themselves. Once completed and the money was spent, not much time or management attention was given to how much or how little the data center itself was actually used.
Thanks to cloud computing, this thinking has begun to change. Data centers can now be rented or leased on the basis on actual demand. In the long run this will dramatically cut the cost of computing done in small data centers and offer big data centers significant new revenue sources.
Cloud computing promises to have an impact on the technology industry similar to the impact financing had on the automotive business. At one time consumers paid cash for automobiles; the purchase price was their primary concern, and the automotive companies made their money from manufacturing. Today, with 7 out of 10 automobile buyers in the United States using financing(4), the monthly payments are most consumer’s primary concern, and automotive companies make and occasionally lose far more money from automobile financing than they do from automobile manufacturing. This, in turn, has had a profound impact on every aspect of the business from distribution to design. Rather than cut the purchase price of an automobile, manufacturers routinely use financing terms as their primary means of building demand, in part by lowering monthly payments. This causes consumers to be more sensitive to and aware of the monthly costs associated with operating a car and less interested in the purchase price.
A similar process is already at work in the technology business and provides some explanation of why there is so much confusion and conflict around the definition of cloud computing. At least in the technology business the stakes are high. When an industry leader like Eric Schmidt, the CEO of Google, claims cloud computing will be an even bigger phenomenon than personal computing it is because it will a be bigger phenomenon for his company.
The Drive Towards Better Utilization
This may seem a strange state of affairs in an industry in which for the last 60 years the aggregate demand for computing has risen comfortably year in and year out. Yet within a year the actual demand for computing will vary widely by individual, organization, and geography, and vary month‑by‑month, hour‑by‑hour, even minute‑by‑minute. Common sense tells us there is more demand on work days than on weekends and during the day than the middle of the night. But because historically computing capacity could not be shared, data centers were all built out to handle peak capacity. As a result most data centers on average are only utilized 5% to 30% of the time. At this rate, if a week’s worth computing could be done in one batch starting at 8:00 am Monday morning it would be finished between 4:25 pm Monday afternoon and 10:25 am Wednesday morning. Or to look at it another way, if a year’s worth of computing could be done it one batch it would be finished sometime between January 18th and April 19th. Of course it would be impossible for any one organization to work this way, but across many organizations it might be possible.
To understand why, you need look no further than the on‑line retailer Amazon.com. Amazon.com had to build out its computing infrastructure to handle the demand on the days leading up to Christmas when, like most retailers, it does most of its business. For the rest of the year this expensive investment sits idle and unused (but ironically, because of the cost of cooling, more expensive to operate in months other than December). So, to recoup some of its investment, Amazon.com sells access to its infrastructure by the hour. The same server that may be handling your last minute request for gift wrapping on December 23rd is being used by companies like Eli Lilly, ESPN, Autodesk, or one of a host of hedge funds to do their business the rest of the year. Through cloud computing Amazon.com is able to run its data center more efficiently and make better use of its equipment.
So if automotive financing is being driven by an opportunity to make more efficient use of capital, cloud computing is being driven by the opportunity to better utilize data centers. To return to the automotive analogy, if you only use a car a few times a year, at some point it becomes more convenient and cost effective to take a taxi. By the same token, if you really need a car but can’t quite afford it, picking up hitch hikers makes sense if they will help you pay you for gas.*
Given that data centers consume 25% of a typical IT budget, a mid‑tier financial services company spending a $1 billion on IT could save $165 million a year by increasing data center utilization from 30% to 80%. This is what makes organizations in industries other than technology want to take the first step towards cloud computing.
The First Step
More than a few people have asked me what steps they need to take to adopt cloud computing. They are usually surprised by my answer! First and foremost the decision to move to cloud computing is a business decision and financial information about the true cost of current operations is the first thing most executives will want to know. This financial information should also to be provided in a format that allows the benefits of cloud computing to be weighed against other needs of the organization and should conform to some level of accounting standard. Therefore the first step towards moving to cloud computing is not to look outside the organization for vendor offerings but to look inside the organization to identify the costs of running the organization’s applications today.
Determine the Cost of Operating Applications
Researching the cost of running applications can be a challenge because, in my experience, most organization do not have a very clear picture of how much they are spending to keep their current operations going. This may seem counterintuitive in that every IT organization has a budget in the form of either a specific dollar amount or a percentage of revenue. Almost every CIO can tell you, “My IT budget is X million of dollars a year.” Ask what percentage of the budget is run versus investment and many will not have an exact figure at hand, much less an application by application breakdown of actual costs. Typically IT management has a much better handle on the investment part of their budget ‑ new projects, new deployments, and new developments ‑ than on the operations part, since new projects typically demand more of their time. Similarly, many early adopters of the cloud have pushed new development on to the cloud and have kept existing ones in house.
Yet most organizations will spend an order of magnitude more money keeping existing applications functioning than adding new ones. And often they will not have a very good handle on the actual price of this, since they typically don’t consider the full loaded cost and exclude rent, facilities management, benefits, and electricity. This is a little like an automobile consumer is being focused on the purchase price of new car and ignoring all the other costs ‑ fuel, insurance, repairs, and taxes. Overlooking even one element, such as the cost of electricity, can distort the picture.
Make no mistake‑‑servers are expensive to run. If all data centers in the world were considered one country, their combined electricity use would be roughly the same as Argentina, the Netherlands, and Malaysia. That is a big number! Paradoxically, as processors have shrunk, their energy requirements have grown because as units they run much hotter. So roughly 50% of the increased demand for energy stems from the requirement to keep them cool. Overlooking the cost of electricity in an IT budget is a significant oversight, but a very common one, especially in small and mid‑sized shops where the cost may be buried in an overall facilities budget.
Teasing out all the hidden costs of running an application may take some work, but is absolutely critical in taking the first step toward cloud computing. Without an accurate picture of the cost, an internal application may appear less expensive to run than it actually is and conversely a cloud computing application more expensive. This is important because the more costly the application is to run, the better candidate it is for cloud computing. But again this is only the first step.
Determine the Cost of Moving the Application
Current operating costs can not be the only criteria to use when identifying candidate applications to move to the cloud. Even if you identify an application that could be run much less expensively on the cloud, the one‑time costs of moving it may be prohibitive. Before you begin, there are many questions you need to answer about how the application is integrated with the rest of the infrastructure:
- How many sources of data does the application have?
- Where is this data coming from? User entry? Database? Other applications?
- How many integration points does the application have with other applications?
- To how many other applications does this application feed data?
- Are the interfaces standardized using middleware or API’s or custom?
- How well documented are the interfaces?
- Are the people who developed them still available to answer questions?
All these factors determine the next step in estimating how expensive it will be to move applications to the cloud.
Determine Compatibility Issues
The third step in analyzing which applications to move to the cloud is to determine compatibility issues. Cloud computing depends on virtualization. Virtualization software comes from vendors like VMware, Citrix, Microsoft, Novell, and Oracle. Not all applications are certified to run on top of all brands of virtualization software. Determining what virtualization software your application can be run on can make choosing Cloud computing vendors much easier since not all vendors support all platforms.
Determine Latency Issues
One of the biggest complaints people will have when working with computers is response time. Delays in the real and perceived time between a request for data and its delivery have driven data center spending for years. The assumption that most people seem to make is that data should be instantly transmitted between one point and another, which is impossible. But keeping the wait within acceptable bounds should be the goal of any good IT organization. So any time the physical location of an application server changes, latency issues will need be considered and occasionally addressed.
This can be complicated. Some of these issues include:
- Application performance ‑ although it is not strictly a part of the cloud, poor application performance can impact response time and acceptance of the cloud solution. A poorly written data base request can have a measurable impact on response time, even though it has nothing to do with the cloud.
- Application chattiness ‑ some applications may communicate back and forth as much as a 1,000 times between client and server before completing a cycle. This may not have much impact on response time in a local area network, but in a wide area network it can be significant.
- Network performance ‑ again the connection between the end user and the provider’s data center is technically not part of the cloud but should be addressed. Among the factors that influence network performance are:
- Transport medium ‑ The physical connection between points, whether it be twisted pair, coaxial cable, microwave, or optical fiber (and the myriad of possible combinations), introduces different levels of delay.
- Packet size ‑ Larger packets can take longer to send and receive than smaller ones
- Propagation delay ‑ The amount of time it takes for data to travel from one point to another.
- Router overhead ‑ The time it takes routers to examine and update packets can add to delay.
- Cloud performance ‑ the devices in the cloud provider’s data center and virtualization software can also effect latency.
Cloud Pricing Reflects Utilization
Looking again at the National Institute of Standards and Technology (NIST) definition for cloud computing, one idea that stands out is that customers should only pay for what they use. In an additional part of the definition (yes! there is more) NIST goes on to suggest true cloud computing be metered to encourage optimal use of resources. The only problem with this is that there is no agreement in the marketplace about what exactly to meter.
Until this sorts itself out there will be almost as many methods of pricing as there are vendors. For example, to effectively know how much you will spend with Amazon.com every month it is helpful to know the duration of your VPN connection, the amount of data you expect to transfer in, the amount of data you expect to transfer out, how many Gigabytes of storage you expect to use, the operating system, that database or file system, how many applications you are going to run and how much CPU and Memory they will use. Salesforce.com on the other hand bases its pricing primarily on the number of users, with some limits on applications and storage. Other vendors such my company, ACS Business Application Solutions, simplify things for our users by asking fixed monthly fee for specific periods of use time.
After determining what applications cost to run on your terms you need to begin to analyze what your applications will cost to run under someone else’s terms. This means starting to collect and analyze lots of system data. This can be done while you take the next step and consider what your infrastructure architecture looks like today and what it will eventually look like.
Performance Monitoring
Closely related to latency issues is performance monitoring. How performance is measured across the cloud is an important consideration since most relationships between cloud user and cloud provider will be governed by a service level agreement (SLA). Most typically this agreement will have a performance clause. Measurement is intrinsically complex because the user’s data transfer path is likely to involve multiple layers of the network and application stack and to cross multiple network domains that are independently administered. Determining the right tools to perform network monitoring and what is being measured ‑ end‑to‑end, point to point, bandwidth, throughput, or absolute capacity ‑ is worth considering up front.
Cloud Architecture Options
With all the hype in the marketplace it is easy to think of cloud computing as an all‑or‑nothing proposition but it is not. Like real clouds, computing clouds come in many sizes, and shapes..
- Public Cloud ‑ The public cloud is the least traditional but most publicized kind, in which a service provider makes computing resources, such as servers, storage, and applications, available to anyone from the general public over the Internet. Typical public cloud providers are very large companies who want to deal with a large numbers of customers using standardized service level agreements and offerings. This offering is usually has the lowest cost and most potential for scalability. In transportation terms, a public cloud is like a passenger train, commercial airliner, or a bus.
- Private Cloud - An organization that needs or wants more control over its computing or wants a more specialized service can build a private cloud, which provides hosted services to authorized users behind a firewall. This can be done internally as well as externally, although some of potential cost savings are lost in this approach. In transportation terms, a private cloud is like a limo, taxi, or fractional plane ownership.
- Community Cloud - The cost of the cloud is shared by several organizations with similar needs, such as HIPAA compliance, that can not be found on a public cloud. A community cloud can be internal to one of the organizations or hosted by a third party such as ACS. In transportation terms, a community cloud is like car pooling.
- Hybrid Cloud - A fourth model, the hybrid cloud, is maintained by both internal and external providers and is some mix of public cloud, private cloud, and community cloud. Continuing the transportation metaphor, the hybrid cloud is like taking a car to the airport, a bus to the terminal, an airplane to another city, and a taxi to the hotel.
Whether consciously or not, most IT shops today have an architecture that includes some form of a hybrid cloud. The vast bulk of the infrastructure may involve internal applications but some parts of the organization may also use Salesforce.com for sales, Gmail for email, Linked In for recruiting, Double Click for advertising, etc. In other words, many organizations are already moving towards cloud computing, though in some cases in a piecemeal way. It is worth considering how a more deliberate and thorough analysis of the fit between existing applications and cloud resources might serve your organization.
The Cloud is Freedom
Most organizations are headed for the cloud, because besides cost savings, cloud computing offers freedom. The cloud offers the freedom to streamline expenses and increase profits. A cloud can be up and running in a few days, and with the right provider can be more scalable and secure than an internal environment. The cloud also offers freedom from having to justify capital expenditures and unpredictable expenses. It can free the IT organization from maintenance upgrades, security updates, capacity planning, disaster recovery, and release management to concentrate on more valuable work.
With the advantages of cloud computing so clear, if you decide to move forward again you are in good company. IDC announced IT spending on cloud computing will reach $42 billion by 2012.(5) By that time they estimate cloud computing will capture 25% of IT spending growth and amount to 33% of spending growth in 2013.
Getting started is straightforward and using the approach outlined in this article is low risk. There is no reason not learn more about the benefits of cloud computing‑‑the sky’s the limit.
_______________________________________
*This also explains why the Cloud computing business is in the current state it is in. Potential Cloud computing customers want Cloud providers who are well trained and courteous driving a car that is clean and well maintained, and to pay according to a generally established rate. Cloud vendors want passengers who are not dangerous and will not complain about their driving or the trash in the car.
(1) “The NIST Definition of Cloud Computing”, Peter Mell and Tim Grance, Version 15, October 7, 2009 (http://csrc.nist.gov/groups/SNS/cloud‑computing/cloud‑def‑v15.doc )
(2) “When is a cloud?”, Agatha Poon, August 25, 2009 (http://blogs.yankeegroup.com/category/cloud‑computing/ )
(3) “Twenty‑One Experts Define Cloud Computing” Cloud Computing Journal, January 24, 2009
(4) “Best Auto Loans ‑ Car Financing Rates”, November 4, 2009, Galt Buying Guides (http://www.galttech.com/research/cars/auto‑loans‑car‑financing.php )
(5) “IDC Finds Cloud Computing Entering Period of Accelerating Adoption and Poised to Capture IT Spending Growth Over the Next Five Years”, Press Release, October 20, 2008