Saturday, April 24, 2010

A Primer on Cloud Computing

cloud_computing

Although I’ve written about cloud computing in the past, there was an assumption that people know what cloud computing was. As I get serious about writing multiple articles on cloud computing, I really need to rewind a bit and introduce it. If for no other reason, I need to build a logical progression of knowledge of cloud computing and build on that as I go along.
This post will introduce “cloud computing” and describe what it is, talk a little about history in order to describe why it’s evolutionary, and show some examples. I’ll also talk just a bit about why this is happening and then leave the benefits, gotchas, evaluation decisions and other articles for future posts.



Cloud computing will be, in my opinion, the fastest growing segment of computing for the next five years. Potential cost savings and inexpensive high speed networking are probably the two biggest drivers for this.
This article will focus more on cloud computing for business but there’s plenty of benefit for the everyday consumer. In fact, most consumers today benefit from cloud computing and don’t even realize it (and they shouldn’t).

What is Cloud Computing

First, a definition or explanation of what cloud computing is in order.
Accroding to Wikipedia
Cloud computing is Internet-based computing, whereby shared resources, software and information are provided to computers and other devices on-demand, similar to a public utility such as the electricity grid.”.

From my point of view, cloud computing is any time that I’m using an Internet service shared with others. For the most part, cloud computing vendors don’t ship software per say, they provide the entire solution hosted to you via the web. Although you may consider Internet search as a cloud computing service (it is), I’ll focus more on services that fit our more typical use case for computers,like accounting, business management, and office applications.

History

A quick history will help further explain what cloud computing is and why I think it’s evolutionary. From a evolutionary standpoint the original implementation of business software was a completely custom affair running on very expensive iron boxes inside of a company data centers. This software was the result of geeks (like me) running around with pocket protectors slaving away on programs the the data center. These data centers were in a secure room with people attending to the hardware’s every need and access to look at information on-line or input data was very limited. Data entry left to specialized clerks and others and then they employed others to pull paper reports and delivered the output to workers around the company. The systems were slow and inflexible and so expensive only the largest companies had them. I wouldn’t even classify these behemiths as mainframes and quite frankly I don’t know what to call them.

Next came the mainframe computers that were accessible by more common workers. They used dumb green-screen terminals to access and input data. The method of input was clumsy at best and most of the time users had no idea if what they inputted was valid data until the next day when they received a report. Accountants had to wait until a “batch job” was run in the evening to crunch the number to see if their numbers balanced and aligned to other figures put in by co-workers.

Next came the "mini computer". Mini computers were a lot more flexible and provided more real-time access to the common worker and at times, instant answers for price, inventory, and other more real-time needs. Large companies still used mainframe computers to crunch large data sets that pulled data from the “mini computers”.

The next major evolution was PCs and then PC networks. I’m sure all of my readers are aware of the PC explosion in business in the late 80s and the power of spreadsheets. This evolution of computing scared IT staffers to death because they quickly “lost control” of their hold on data and computing resources. When you are the only guy that has something that everyone wants, you are a power guy. Accountants loved spreadsheets and the instantaneous what-if analysis they could bring to their world. Networking came shortly after as the need to share data between workers grew. Once PC’s were able to connect to the mini-computer or mainframe, computing designs split the work between PCs and their sequestered brethren. Data entry and display was performed by the PC, and the raw processing of data, was performed by the brawney machine in the back room. This went on for a good 20+ years and still continues today in most companies. If you want an accounting application, it normally resides on a server (or servers) in the companies data center to provide security, cooling, and consistent power and storage. The software is no longer completely custom but it’s still expensive and requires experts to provide the care and feeding (backup, maintenance, and upgrades). Adding more users, data, and computing capacity to any of the above models was still an expensive affair. This is especially true if IT needed to add infrastructure (space, cooling, power and the hardware needed to provide the computing and storage needs) to support the new demand.

Enter the next evolution, cloud computing. Cloud computing does away with the data center and all of it’s expense (space, cooling, power, maintenance, etc). It also lowers the number of IT experts it takes to support applications like CRM and accounting by moving all of this expense to a central location shared by multiple companies. Normally, any device with a browser becomes a power interaction device. Although companies no longer have to purchase hardware and software to run their business, they generally pay a sort of rent to the cloud provider to use their application implementation. This model places the typical hardware/software needed outside the company, possibly thousands of miles from a workers location. From the worker’s standpoint, it still looks like they have their own implementation of the software. This is because they actually are just using a logical instance that is customized for that company. At the end of the day, companies are solving the same business problems for accounting, email and other activities but at a much lower cost and with more flexibility. In addition, because the cloud provider takes care of any need to increase capacity, adding data, number of users or compute capacity, is passed on to the outside entity as well.

Examples

I think the best way to describe what I consider cloud computing, is to give a few examples. The three most prevalent cloud services used by consumers are Google’s Gmail, Microsoft’s Hotmail for mail, and Yahoo’s Flickrfor photos (
See my earlier article on Flickr

and how it is an excellent example of cloud computing). Some of the most well known business related products are things like salesforce.com, a well known customer relationship management (CRM) vendor for companies.

Financialforce.com
is to the accounting world what salesforce.com is to the sales world.

Another growth area is in cloud backup services. Home and corporate users are finding that they have a lot of data on laptops that needs to be protected from computer crashes, theft and fire. Now that consumers are placing more and more digital content on their system in the form of music and photos, they need a way to safeguard that data. These new service providers allow you to backup your PC over the network to their secure location (encrypting your data before it leaves your system). This gives users a way to get reliable backups that are stored off-site. Read my review of two of these vendors and network backups HERE.

One of the most popular cloud computing vendors in the press today is Google with their
Google Apps
. Google Apps bring the likes of Microsoft Office to the cloud with gMail, calendar, document editor, spreadsheet, presentation software and other typical office tools. One of the barriers to entry for cloud computing is figuring out how to deliver services to potentially millions of people in a way that requires little or no support with the same reliability, performance, and security of a locally installed application. Because Google had built such a huge infrastructure for search as well as the intellectual capital that comes with experience, they were able to parlay that into cloud computing for business productivity applications and things like mapping and translation. Today Google docs may not contain all the features and capabilities that MS Office provides but every month that goes by, Google closes the gap.

Types of Clouds

I'm not talking about cumulonimbus or cirrus clouds, I’m talking about the three common models that are typically offered by vendors today. The three types are “Infrastructure as a Service” (IaaS), “Platform as a Service” (PaaS), and “Software as a Service” (SaaS). Sometimes the marketing can be quite confusing. Referencing the image to the right (click for larger image), for each designated service type, the vendor owns all of the services and costs below the line. Starting with IaaS, the vendor owns things like facilities, network, computers, racking, storage, and general management to make the compute factory work. In IaaS, customers are responsible for everything above that line, like operating system (windows or Linux), middleware and software. In PaaS, vendors provide everything in the IaaS and other components that a customer needs to deploy their code to run on like database, application engines (like JVM and Tomcat). At the top of the service delivery stack is SaaS. These vendors provide the entire stack, allowing customers to focus more on application setup, business process integration and go on about their day.

Hopefully by now you are asking questions like “What are the benefits and pitfalls of cloud computing?” Take a look at the following two related articles to learn more.


-----------------------------------
Chris Claborne uses cloud computing where ever possible in order to gain a better perspective. He also works for a Fortune 100 company that makes hardware and provides services to Cloud computing vendors although he isn’t currently involved in any of those efforts.

- Chris Claborne

No comments:

Post a Comment