Anyone who follows technology trends has undoubtedly heard the term “cloud service” thrown around a few gazillion times over the past few months. But if you don’t know the difference between terms such as PaaS, IaaS and SaaS, don’t fret — you’re far from alone.
Let’s start at the beginning. “Cloud” is a metaphor for the Internet, and “cloud computing” is using the Internet to access applications, data or services that are stored or running on remote servers.
When you break it down, any company offering an Internet-based approach to computing, storage and development can technically be called a cloud company. However, not all cloud companies are the same. Typically, these companies focus on offering one of three categories of cloud computing services. These different segments are called the “layers” of the cloud.
Not everyone is a CTO or an IT manager, so sometimes following the lingo behind cloud technology can be tough. With our first-annual CloudBeat 2011 conferencecoming up at the end of this month, we thought this would be a good opportunity to go over the basics of what purpose each layer serves and some company examples to help give each term more meaning.
Layers of the cloud
A cloud computing company is any company that provides its services over the Internet. These services fall into three different categories, or layers. The layers of cloud computing, which sit on top of one another, are Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (PaaS) and Software-as-a-Service (SaaS). Infrastructure sits at the bottom, Platform in the middle and Software on top. Other “soft” layers can be added on top of these layers as well, with elements like cost and security extending the size and flexibility of the cloud.
Here is a chart showing simplified explanations for the three main layers of cloud computing:
The first major layer is Infrastructure-as-a-Service, or IaaS. (Sometimes it’s called Hardware-as-a-Service.) Several years back, if you wanted to run business applications in your office and control your company website, you would buy servers and other pricy hardware in order to control local applications and make your business run smoothly.
But now, with IaaS, you can outsource your hardware needs to someone else. IaaS companies provide off-site server, storage, and networking hardware, which you rent and access over the Internet. Freed from maintenance costs and wasted office space, companies can run their applications on this hardware and access it anytime.
Some of the biggest names in IaaS include Amazon, Microsoft, VMWare, Rackspace and Red Hat. While these companies have different specialties – some, like Amazon and Microsoft, want to offer you more than just IaaS — they are connected by a desire to sell you raw computing power and to host your website.
The second major layer of the cloud is known as Platform-as-a-Service, or PaaS, which is sometimes called middleware. The underlying idea of this category is that all of your company’s development can happen at this layer, saving you time and resources.
PaaS companies offer up a wide variety of solutions for developing and deploying applications over the Internet, such as virtualized servers and operating systems. This saves you money on hardware and also makes collaboration easier for a scattered workforce. Web application management, application design, app hosting, storage, security, and app development collaboration tools all fall into this category.
Some of the biggest PaaS providers today are Google App Engine, Microsoft Azure, Saleforce’s Force.com, the Salesforce-owned Heroku, and Engine Yard. A few recent PaaS startups we’ve written about that look somewhat intriguing includeAppFog, Mendix and Standing Cloud.
The third and final layer of the cloud is Software-as-a-Service, or SaaS. This layer is the one you’re most likely to interact with in your everyday life, and it is almost always accessible through a web browser. Any application hosted on a remote server that can be accessed over the Internet is considered a SaaS.
Services that you consume completely from the web like Netflix, MOG, Google Apps, Box.net, Dropbox and Apple’s new iCloud fall into this category. Regardless if these web services are used for business, pleasure or both, they’re all technically part of the cloud.
Some common SaaS applications used for business include Citrix’s GoToMeeting, Cisco’s WebEx, Salesforce’s CRM, ADP, Workday and SuccessFactors.
We hope you’ll join us at CloudBeat 2011 at the end of the month to explore a number of exciting case studies in cloud services.
All three of these big players have their own way of connecting data center of an organization to public clouds, not to mention, each one of them come with their share of benefits and risks that should be considered before making a choice. With the all new edition of Windows server, Microsoft looks committed to a patent […]
2011 was a year where despite the economic constraints everything Big was seemingly good; Big Data, Big Clouds, Big VMs etc. Caught in the industry’s lust for this excess, 2011 was also the year I lost count of how many overprovisioned resources to ‘Big’ Production VMs I witnessed. More often than not this was a typical reaction from System Admins trying to alleviate their fears of potential performance problems to important VMs. It was the year where I began to hear justifications such as “yes we are overprovisioning our production VMs..but apart from the cost savings, overallocating our available underlying resources to a VM isn’t a bad thing, in fact it allows it to be scalable”. Despite this 2011 was also the year where I lost count of the amount of times I had to point out that sometimes overprovisioning a VM does lead to performance problems – specifically when dealing with Virtual CPUs.
Content Reference: The original author of this article is Archie Hendryx. The article can be found at: http://www.thesanman.org/2012/01/vspheres-virtual-cpus-what-o.html
In the many meetings that we have at customer sites, conferences, seminars, and other industry events, one conversation point that we continually come into is the difference between Cloud Computing and Virtualization. The “cloud” has become a term shrouded in confusion. Many IT organizations position themselves to be “doing cloud” to satisfy the questions from the business and other executives, because they believe virtualization to be synonymous. While virtualization is an integral part of cloud computing, they are not the same thing.
Virtualization has been around for many years and is the way for IT to maximize the use of compute, storage, networking and to provide increased flexibility to those resources. Cloud computing brings significant value on top of virtualization platforms by streamlining management processes and increasing efficiencies to reduce the total cost of ownership (TCO). While most people talk about these two terms interchangeably, they are truly very different.
So, what technically makes cloud different than virtualization?
At its most basic level, Cloud treats computing as a utility rather than a specific product or technology. Cloud computing evolved from the concept of utility computing and can be thought of as many different computers pretending to be one computing environment. Cloud computing is the delivery of compute and storage resources as a service to end-users over a network. Virtualization itself does not provide the customer a self-service layer and without that layer you cannot deliver compute as a service. Orchestration is the combination of tools, processes and architecture that enable virtualization to be delivered as a service. This architecture allows end-users to self-provision their own servers, applications and other resources. Virtualization itself, allows companies to fully maximize the computing resources at its disposal but it still requires a system administrator to provision the virtual machine for the end-user.
Orchestration is what allows computing to be consumed as a utility and what separates cloud computing from virtualization. Cloud computing is the belief that computing resources and hardware are a commodity to the point that people and companies will purchase these resources from a central pool and only pay for what they used. In essence, these resources are metered, very similar to how you buy power or water for your home.
Cloud computing is an approach for the delivery of services to an end-user while virtualization is one possible service that could be delivered.
A self-serving model however is not an essential component of virtualization, but it is in cloud computing. Some will argue that virtualization solutions may include a self-serving component, however it is not mandatory. In cloud computing, self-service is crucial to deliver on-demand resources to end users, which is what service is all about. Self service is then, an effective mechanism to reduce the amount of training and support needed at all levels within an organization. It is a crucial vehicle to accelerate the ROI of a cloud computing solution.
So how do you decide which of these technologies meets your needs?
It is important to remember that you are not choosing between Virtualization and Cloud Computing as a final solution for your IT needs. If you have already invested in virtualization, the cloud can work on top of that to help further maximize your computing efficiency in certain instances and help deliver your exiting network as a service. The cloud enables you to always use only what you need and this ability to rapidly, elastically, and in some cases automatically, provision computing resources to quickly scale out and rapidly release to quickly scale in, allows you to concentrate on your core business and not have to worry about IT management.
In the end, virtualization and the cloud computing operational model allow you to do more with what you have by maximizing the utilization of your computing and infrastructure resources. Just remember, they are not the same thing. While both have their respective advantages, you’ll want to think about factors like start-up vs. long-term costs in both models and which is the better fit for your organization.
* Source: The original author of this article is Josh Ames.
There seems to be a lot of confusion around what exactly is ‘Cloud computing‘?
Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.
According to NIST there are some key components that help define Cloud computing. The cloud model is composed of five essential characteristics, three service models, and four deployment models.
On-demand self-service : A consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with each service provider.
Broad network access : Capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, tablets, laptops, and workstations).
Resource pooling : The provider’s computing resources are pooled to serve multiple consumers
using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand. There is a sense of location independence in that the customer generally has no control or knowledge over the exact location of the provided resources but may be able to specify location at a higher level of abstraction (e.g., country, state, or datacentre). Examples of resources include storage, processing, memory, and network bandwidth.
Rapid elasticity: Capabilities can be elastically provisioned and released, in some cases automatically, to scale rapidly outward and inward commensurate with demand. To the consumer, the capabilities available for provisioning often appear to be unlimited and can be appropriated in any quantity at any time.
Measured service : Cloud systems automatically control and optimize resource use by leveraging a metering capability1 at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency for both the provider and consumer of the utilized service.
Service Models :
Software as a Service (SaaS) : The capability provided to the consumer is to use the provider’s applications running on a cloud infrastructure2. The applications are accessible from various client devices through either a thin client interface, such as a web browser (e.g., web-based email), or a program interface. The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user specific application configuration settings.
Platform as a Service (PaaS) : The capability provided to the consumer is to deploy onto the cloud infrastructure consumer-created or acquired applications created using programming languages, libraries, services, and tools supported by the provider.3 The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, or storage, but has control over the deployed applications and possibly configuration settings for the application-hosting environment.
Infrastructure as a Service (IaaS) : The capability provided to the consumer is to provision processing, storage, networks, and other fundamental computing resources where the consumer is able to deploy and run arbitrary software, which can include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, and deployed applications; and possibly limited control of select networking components (e.g., host firewalls).
Private cloud : The cloud infrastructure is provisioned for exclusive use by a single organization comprising multiple consumers (e.g., business units). It may be owned, managed, and operated by the organization, a third party, or some combination of them, and it may exist on or off premises.
Community cloud : The cloud infrastructure is provisioned for exclusive use by a specific community of consumers from organizations that have shared concerns (e.g., mission, security requirements, policy, and compliance considerations). It may be owned, managed, and operated by one or more of the organizations in the community, a third party, or some combination of them, and it may exist on or off premises.
Public cloud : The cloud infrastructure is provisioned for open use by the general public. It may be owned, managed, and operated by a business, academic, or government organization, or some combination of them. It exists on the premises of the cloud provider.
Hybrid cloud : The cloud infrastructure is a composition of two or more distinct cloud infrastructures (private, community, or public) that remain unique entities, but are bound together by standardized or proprietary technology that enables data and application portability (e.g., cloud bursting for load balancing between clouds).
1 Typically this is done on a pay-per-use or charge-per-use basis.
2 A cloud infrastructure is the collection of hardware and software that enables the five essential characteristics of cloud computing. The cloud infrastructure can be viewed as containing both a physical layer and an abstraction layer. The physical layer consists of the hardware resources that are necessary to support the cloud services being provided, and typically includes server, storage and network components. The abstraction layer consists of the software deployed across the physical layer
3 This capability does not necessarily preclude the use of compatible programming languages, libraries, services, and tools from other sources.
*Information for this article was taken from the NITS