![]() |
|
![]() |
![]() |
|
EDUCAUSE Quarterly
|
![]() |
Cloud Computing ExplainedCloud Computing Explained
While many talk about the cloud, few actually understand it. Three organizations' definitions come to the forefront when defining the cloud: Gartner, Forrester, and the National Institutes of Standards and Technology (NIST). Although both Gartner1 and Forrester2 provide definitions of cloud computing, the NIST definition3 is concise and uses industry-standard terms.4 This article takes an in-depth look at the NIST definition of cloud computing. Each of the NIST definition's points is defined in greater detail, and examples of cloud-based technologies will help the reader gain a better understanding of the cloud. NIST defines cloud computing as:
The remainder of this article discusses these five characteristics, three service models, and four deployment models. Five Characteristics of the CloudWhen people think of the cloud, they often think of software as a service (SaaS). However, the service used to supply technology doesn't define the technology. The following five characteristics are how NIST describes cloud computing. Characteristic: On-Demand Self-ServiceWhen an institution develops or deploys a new application, they first must jump through a number of hoops. For example, if an institution decides they would like to install the learning management system Moodle, they might have to order a server, wait for the vendor to ship it, install the server in the data center, provision an IP address for the server, set up the DNS for the new IP address, install the operating system, etc. While virtualization tools have improved this workflow dramatically, the process can still be cumbersome. With cloud-based services, many of these steps can be eliminated. Interaction with the service provider is minimized, and with a few clicks of a button, an application can be up and running in a matter of minutes. In the example below, I use the cloud-based service Heroku to deploy a basic blog application. Prior to creating the video, I installed Ruby on Rails, Heroku's Ruby Gems, and Git on my computer and developed the application. Once these few simple set-up steps were accomplished, deploying the application into Heroku's cloud took a matter of minutes. Characteristic: Resource PoolingWith current systems and data centers, IT departments often get stuck in a silo of their own creation. Institutions rarely share computing resources, and if they do, it is cumbersome to create and manage workflows that utilize these shared resources. With the cloud, multi-tenancy rules. Users of the cloud can provision computing resources based on their needs, and then destroy those resources, giving them back to the shared pool once their needs are met. Additionally, users can share resources amongst themselves. For example, if an institution has developed a new piece of software and would like to share it with other institutions, they can create a template for that system in the cloud and allow other institutions to use that template as they see fit. This example demonstrates Amazon's Elastic Compute Cloud, or EC2. This service allows IT departments to choose from a shared pool of Amazon Machine Images (AMIs) and start up a server with a few clicks. AMIs offer users of Amazon EC2 a quick and easy way to set up systems and servers, with little to no intervention from channels one might normally need to go through. Characteristic: Rapid ElasticitySystems change constantly. To create the best experience for users, IT departments often must scale or update systems to meet user demand. Scaling or upgrading a system currently in production can be cumbersome and resource intensive for an IT department. The cloud provides ways of rapidly scaling to meet user demand. If a system requires more computing resources, an IT department can easily scale the technology to meet those demands. For IT departments that use the cloud, it seems as if they have an endless supply of computing resources available. In the video below, I use Suchi Software's S3Fox Organizer, a Firefox add-on, to access Amazon Web Services' Simple Storage Solution (S3). S3 allows users to upload files to Amazon's servers and access those files through Amazon web addresses or API calls. S3 plug-ins are available for the blogging software WordPress and the web-based project management application Redmine. In addition to its use within applications, S3 is often used to back up files. A number of scripts,6 add-ons,7 and plug-ins8 help you back up your files on any type of server to Amazon S3. Characteristic: Broad Network AccessTraditionally, software like Microsoft Word or PowerPoint has been offered as client-based software. Users have to install software to their computers and upgrade systems to handle the programs. If you're away from your computer, you may not have access to the software, which can cause frustration. Today, much of the software we use is available over the Internet. Many people believe that having a resource available via the Internet is the defining characteristic of the cloud, but it is just one of the five characteristics. In the example here I demonstrate Google Docs, a web-based document creator and editor. Google Docs is a slimmed down version of Microsoft Office, which also has a web-based version known as Microsoft Office Web Apps 2010. Both products allow you to access and edit files from any computer with an Internet connection, eliminating the need for access to a particular computer to edit documents. Characteristic: Measured ServiceTo monitor network, server, and application usage, IT departments employ many different monitoring tools and reporting systems. The cloud, however, allows both cloud providers and IT departments to monitor usage. Cloud providers charge IT departments based on their use of computing resources. On the other hand, IT departments can use these metering (or measured) services to scale resources up and down based on information gathered from these particular tools. The following demonstration discusses a bill from an Amazon Web Services' account. In addition to this bill, I will also briefly discuss Amazon Web Services' CloudWatch, a monitoring tool that not only allows you to monitor your system but also, in conjunction with other services, helps you scale your AWS-based system. Information on Amazon's pricing schema for different services, including CloudWatch, can be found on the Amazon Web Services' website. Three Service Models for the CloudThe three types of cloud-based services are software as a service (SaaS), platform as a service (PaaS), and infrastructure as a service (IaaS). Remember that although computing resources may be delivered through one of these three models, it doesn't mean "cloud" provision. Virtual private servers are also IaaS, but virtual private servers do not possess the five characteristics of the cloud. Service Model: Cloud Software as a ServiceSaaS is common in the IT community. Usually software companies that provide such SaaS host their software themselves, and then upgrade and maintain it for their customers. Cloud SaaS combines this hosting practice with the five characteristics of the cloud described above. Software supplied via the cloud is often easy to use and requires little intervention from the user to get the service up and running. In this example I once again discuss Google Docs. Similar cloud-based SaaS applications include Microsoft Web Apps 2010 and Zoho. Service Model: Cloud Platform as a Service"In computing, a platform describes some sort of hardware architecture and software framework (including application frameworks) that allows software to run."9 A common platform in computing is the LAMP stack, or the Linux, Apache, MySQL, and PHP stack. Cloud PaaS supplies these familiar platform stacks to users, without the need for them to maintain the underlying hardware or upgrade the supporting software. This next example discusses Heroku, a Ruby on Rails cloud platform. Other cloud platform providers include Google App Engine, which supports Java and Python, and Engine Yard, which supports Ruby on Rails. Service Model: Cloud Infrastructure as a ServiceWhen people think about infrastructure, if they consider it at all, they think of servers, wires, cooling systems, and all the other things necessary to run today's data centers. But when infrastructure is purchased through the cloud, none of these components are necessary; instead, users of cloud-based infrastructure only need to concern themselves with developing platforms and software. In the following video, I discuss Rackspace, a provider of cloud-based infrastructure as a service. Competitors to Rackspace include Amazon Web Services and GoGrid. Four Deployment Models for the CloudJust as there are multiple ways to deploy a system within your data center, there are multiple ways to deploy a system in the cloud. The four deployment models described in the NIST definition of cloud computing are public cloud, community cloud, private cloud, and hybrid cloud. While each of these models and the examples used have associated problems and issues (security, feasibility, etc.), this article does not cover them. Deployment Model: Public CloudA public cloud is a cloud made available to the general public for use and is the most common type of cloud. Users of a public cloud sign up with the cloud provider and make payments based on the provider's pricing schema. Examples include Amazon Web Services, Google applications, or similar cloud-based services. Deployment Model: Community CloudA community cloud is a cloud made available to a certain group or association. For example, a consortium of schools might decide to create a community cloud. Payments for use of the cloud might be made via dues to the consortium or through some other equitable pricing schema. Deployment Model: Private CloudA private cloud is a cloud made available at only one particular institution. If an institution chooses to create its own private cloud, they might create a charge-back pricing schema for the different departments that use the institution's cloud. This would allow the different departments to gain access to the IT resources they need, while at the same time allowing an IT department to create a sustainable support model. Deployment Model: Hybrid CloudA hybrid cloud combines two or more of the other cloud deployment models. Perhaps part of the system lives inside a community cloud, while the remainder lives in a private cloud. Another way of doing this is through cloud bursting, which occurs when your system or service is too large to be maintained in just your private cloud, so you allow the system to spill over into, say, a public cloud. Eucalyptus software, for example, allows IT departments to deliver their own private cloud and burst into Amazon's cloud if they need to scale beyond what their private cloud offers them. ConclusionCloud computing is complex (see Further Resources). While many people have concerns about its current uses, there is no doubt that it is changing the way we provide systems and services. The more informed IT departments are about the cloud, the better the position they will be in when making decisions about deploying, developing, and maintaining systems in the cloud. Endnotes
© 2010 Rosalyn Metz. The text of this article is licensed under the The text of this article is licensed under the Creative Commons Attribution-Noncommercial-Share Alike 3.0 license.. |
![]() |
| EDUCAUSE Quarterly authors retain the copyright to their intellectual content, with individual articles licensed under Creative Commons licenses. EQ articles reflect the opinions of the authors and not necessarily those of EDUCAUSE or its members. For more information about EDUCAUSE copyright, please see http://www.educause.edu/copyright | |||
I was looking for an article that I refer people to that would explain the basic cloud models and terminology - this article does a nice clear job of this, with the bonus of some simple and clear demonstrations of what it looks like to provision cloud services. Good job Rosalyn!