Thursday, March 21, 2013

What is Cloud Computing?


In this lesson, we will cover the history of cloud computing, providing some background on how it came to be and the problems it aims to solve. Cloud computing is generally broken down into three primary service levels. We will define these for you, show you examples of what they are, and also point to major cloud vendors with products that serve at those levels.

What is Cloud Computing?

There are plenty of definitions for "cloud computing" online, and for the most part, they generally point to the same thing: taking applications and running them on infrastructure other than your own. Companies or individuals who offload or effectively "outsource" their hardware and/or applications are running those apps "in the cloud."
However, this may not be the complete definition for you. As a developer, you need a more detailed definition. You may be outsourcing actual hardware, application development and hosting, or only wish to run online software from other providers. In other words, what you outsource to cloud vendors may and will be different from what other people or companies do... every situation is different, as are the cloud service levels.
Several reasons drive companies to investigate or adopt cloud computing services, with the primary reason being cost. Small companies can't afford a large amount of hardware nor the staff that goes along with it. Large companies may find the costs of maintaining and managing their own datacenters to be prohibitive, or perhaps they have made a significant investment only to discover that much of their resources idling away. Why not outsource to companies who specialize in running data centers and providing hardware/virtualization services and only pay for what you use? It's the classic "buy vs. rent" scenario.
If you choose to outsource everything (your apps and the hardware they run on), you're saving on the capital expenditures yet still responsible for everything above the hardware layer, meaning the operating system and any other services required to run your application(s).
The other extreme is to use existing software available online. Instead of hosting your company.s own e-mail or CRM (customer relationship management) software, you can choose to go with a third-party vendor. With services such as Salesforce or Gmail customized for your business (via a Google Apps domain), there's no need to even think of hardware.
Both of these are considered cloud computing, so depending on which type(s) of service you're looking for, you can already see that there are multiple service levels of cloud computing to choose from.

Cloud Computing Service Levels

In Figure 1 below, you can see how the analyst firm Gartner segregates cloud computing into three distinct classes of service.
Cloud service levels
Figure 1: Cloud Computing Service Levels
These classes map directly from the different types of cloud service described at the end of the previous subsection. Let's explore these in detail here.


Let's start at the highest level: software applications that are only available online fall into the "Software-as-a-Service" category, also known as "SaaS". The simplest example to understand is e-mail.
If you have an Internet provider, you'll need a desktop or mobile application to access that e-mail, else host it on your own servers. Not only would you have to run an inbound mail server using protocols such as IMAP (or POP for older systems), but you would also need to run an SMTP or outbound mail server. Then you'd have to configure your desktop or mobile e-mail application to connect to those servers, add appropriate levels of security, quota management, etc.
For personal e-mail, people typically select from a variety of free web-based e-mail servers such as Google's Gmail, Yahoo!Mail, or Microsoft's Hotmail, rather than setting up all of the above through their provider. Not only is it "free" (supported through advertising), but users are freed from any additional server maintenance. Another example of SaaS from Google includes their Apps product: office productivity software hosted and run by Google online.
Because these applications run (and store their data online), users no longer need to worry about managing, saving, and backing up their files. Of course, now it becomes Google's responsibility to ensure that your data is safe and secure. Other examples of SaaS include Salesforce, IBM's NetSuite, and online games.
The easiest way to think of SaaS is like this: it's software, but do you download and install it on your computer, or do you access it using a web browser or mobile app? If the latter, you've likely got a SaaS cloud application on your hands. Note that you don't have control of these applications, short of user-specific application settings. You can't fix bugs in the code or make changes to it. This is the responsibility of the vendor. To some, this lack of control is unacceptable.
Post BY: 

No comments:

Post a Comment