What is Cloud Computing?

Living in the Cloud

What is Cloud Computing?

In many ways, cloud computing is simply a new way of looking at and talking about virtual servers. Or, as Dan Hoffman, CEO of M5 Networks, puts it, "Cloud computing is indeed a new name for an old idea." He goes on to say that what this means is that instead having a software application running in a server room down the hallway from a person's office, the application runs in datacenter.

And, this datacenter doesn't need to be anywhere near the office, either. In fact, you may not even know where the datacenter is.

Hampton Catlin, author of Haml and Wikipedia's head Ruby/mobile architect, has firsthand experience with this. His Rails 2.3.1 template generator, railsboost.com is running in the Amazon cloud. "Cloud computing," he explains, "is, in general, using remote servers whose specifics are unknown to you. Typically, this is using server resources in a large mainframe cluster. You don't know where the server is, what its physical properties are, or nearly anything about it. What you do know, is its general power. It's using remote resources in an expandable and configurable way."

What Makes Cloud Computing Different Than Virtual Servers?

Most often, cloud computing is talked about in terms of "service in the cloud" or "running services in the cloud." It's this service component that makes cloud computing so much more than just virtual server space.

George Reese, CTO of enStratus Networks and author of the book Cloud Application Architectures (O'Reilly Press), prefers speaking about cloud computing in terms of service. That, he says, is the way the cloud really affects people and businesses. Reese provides a set of criteria to determine whether a service can be called a "cloud service."

  1. Is the service accessible via Web browser or a published programming API?
  2. Is there any capital expenditure required for start-up? (The answer should be no.)
  3. Are you only paying for the services you need?

"In the end," says Reese, "what the cloud really amounts to is: it’s not my problem." Lest you misunderstand, he explains further. "It arises from the fact that throughout IT history, we have always drawn our network diagrams to list out the components of our infrastructure and used a cloud to represent the stuff that was someone else’s problem. Whether it was the Internet or a business partner’s network, it simply was not our problem (in the sense we were not responsible for it, not in the sense that we don’t care about outages)."

Software as Service

Who is responsible for the maintenance and deployment of applications in the cloud really depends on what type of presence you have in the cloud. The most significant difference between the cloud computing model and virtual servers is that cloud computing provides users with a number of different options for doing what they want to do. The three most commonly talked about are: software as service (SaaS), platform as service and infrastructure as service.

"With SaaS, the applications and the data used within the applications are all stored “in the cloud,” which means the user doesn’t need any additional software or hardware on-premise in order to use and access them, and often a standard web browser is used," explains Paul Wood, MessageLabs Intelligence Senior Analyst, Symantec. He points to Webmail and online word processing programs (such as Google Docs) as examples of SaaS.

Reese expands on this idea, explaining that software as service is a solution that eliminates the need to use licensed software. The downside of this? Privacy. Reese notes that when you are using online software solutions, you need to be much more aware of privacy and security concerns.

Platform as Service

Platform as service, or PaaS, is a little different, for which there seems to be no non-cloud metaphor.

Anthony Velte, co-author of the upcoming Cloud Computing: A Practical Approach(McGraw-Hill Professional), sees SaaS and PaS as overlapping ideas. "Generally," he says,"software as a service provides the user with a particular application whether off the shelf or custom developed. The service provider takes care off all the maintenance and delivery aspects required for that application. Platform providers take this concept to a slightly higher level by creating an environment to run more than one application."

What does this mean for the user, exactly? You can think of it as sort of a buffet. The restaurant is offering up an eclectic selection of foods, from which you can pick and choose to create your own meal. You don't have to cook the meal and you typically pay one price for the buffet no matter what you eat, but if you order off-menu there may be an extra charge. Here, however, the restaurant is actually a cloud computing company and the selection includes things like widgets, shopping carts and web editors.

To extend the buffet metaphor, the caution in this is that once you choose your food, you can't decide to eat it at another restaurant and have no control over the environment in which your food is cooked. Dave Vandervort, Architect-Client Hardware/Software for Xerox Innovation Group puts it simply. "What goes on behind the scenes – for example the server operating system, or even the programming language services use – is all abstracted away from the user."

Velte thinks this is a smart move for smaller enterprises who can run their own applications but rely on the cloud computing company to provide maintenance and necessary components for the application. Others aren't so sure. Vandervort notes that implementing PaaS is complex and he's skeptical of the maturity of current offerings. Reese agrees that it makes it easy for rapid development of smaller applications, but points out it "is a poor environment for running large-scale or mission critical applications." And, Wood cautions that PaaS has the potential to tie developers to a vendor's platform and, should the vendor change platform or direction, it can be a costly venture to switch to something new.

The Benefits of Living in the Cloud

Vandervort very succinctly sums up the benefits of living in the cloud: presence, cost and redundancy. When you're using applications like Google Docs for writing and collaborations, it's available to you from any computer, any time, anywhere. Dan Hoffman of M5 Networks points out that most everyone uses the cloud this way, citing online banking as an example. "You don’t have to call someone everytime you want to transact from your bank account, or write checks, or keep a spreadsheet for records," he expounds.

"You can work from anywhere. Your computer can die and you won’t lose anything. It keeps getting upgraded."

This upgrade is where redundancy comes in. Cloud computing companies have larger resources than the typical business or individual. Instead of one laptop and a desktop computer or a couple of servers, there are multiple servers keeping track of data. When one of them goes down, it doesn't mean everything is lost, nor does it mean that everything grinds to a halt.

And cost? Well, the cost benefits are obvious. Both Symantec's Paul Wood and enStratus' George Reese speak to the extraordinary opportunities cloud computing provides for companies. Wood points out that it allows companies to shift from capital expenditure to operational expenditure, because instead of factoring in the costs of hardware deprecation, the cost of the cloud computing subscription model remains relatively steady.

Reese says it allows companies to focus more on functional usage costs than investing in (possible) non-critical expenditures.

The Risks of Living in the Cloud

As with everything, cloud computing has its risks. Velte and his co-author, Toby Velte, outline some of the risks of moving to a cloud computing society.

"As we are ever more dependant on our IT services to run our businesses, outages can be disastrous," state the Veltes. "So we must have a very high level of confidence in our providers. There is also compliance issue (is the provider keeping us compliant) as well as geopolitical issues (where is the data really sitting?) and control challenges (what if I need to make changes now)."

Reese speaks of these concerns as the flip-side of the "not my problem" view of cloud computing. "If," he says,"the cloud means 'not my problem', it also means 'not in my control.' As a result, you have to be very aware of the security and privacy controls your cloud vendor has in place so you can feel comfortable they are supporting your needs."

Do the benefits outweigh the risks? That's a question each business and individual needs to answer for himself. If you want to see what the experts have to say, though, we can certainly help you out there. Take a look at our interview series What Do The Experts Have to Say About Cloud Computing?