Cloud Computing Part II: The Three Cloud Computing Infrastructures
In last month’s issue we introduced the concept of cloud computing, and discussed some of the obvious benefits for small businesses. In this month’s issue we will introduce and discuss the three different cloud computing infrastructures. Knowing the difference between these three options is important for understanding which type of cloud computing technology is best for your needs, and the one which will help you strike the right balance of control and the avoidance of having to own complex hardware and software in house, and do all of that heavy lifting. In fact, you may have heard of these three types of cloud infrastructure offerings: Software as a Service (SaaS), Platform as a Service (PaaS) and Infrastructure as a Service (IaaS). There are some who use these three kinds of services interchangeably when referring to cloud computing but, in reality, each service type is simply one part of a larger cloud computing stack.
The Essentials of Cloud Computing
While some may use these terms interchangeably when referring to the cloud, the truth is that each service is part of a much larger cloud computing stack. Cloud computing is often described as a stacked infrastructure, due to the broad array of services that can be built one on top of another. The NIST definition basically says that “cloud computing is a model for enabling 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.” Basically, cloud computing allows the end user to utilize bulk computing and telecommunications infrastructure which should available quick and easily. Cloud computing provides the end user, or small business owner, with huge access to multiple resources that used to be prohibited to an end user due to the high costs of installing some kind of infrastructure.
NIST also lists several attributes for essential cloud computing. They are:
• On-demand self-service. The ability for an end user to sign up and receive services without the long delays that have characterized traditional IT
• Broad network access. Ability to access the service via standard platforms (desktop, laptop, mobile etc)
• Resource pooling. Resources are pooled across multiple customers Rapid elasticity; Capability can scale to cope with demand peaks
• Measured Service. Billing is metered and delivered as a utility service
Some kind of infrastructure must be in place in order for cloud computing to be available to the end user. There are essentially three ways that cloud computing is delivered and made available to the end user: Infrastructure as a Service (IaaS); Platform as a Service (PaaS) and, Software as a Service (SaaS). Imagine the extreme and vast complexity of the United States Highway System. This is analogous to the complex infrastructure of cloud-based services. Now imagine all of the cars, delivery trucks, busses, etc. entering and exiting a big city, whose highway infrastructure is a complicated network of off and on ramps. Think of all of the cars and trucks, etc. as the platform that sits on top of that highway infrastructure, allowing the transport of people and goods.
The following is a great introduction for the three types of cloud-based computing services: “Infrastructure as a Service (IaaS) involves outsourcing the equipment used to support operations, including storage, hardware, servers and networking components. Platform as a Service (PaaS) is a paradigm for delivering operating systems and associated services over the Internet without downloads or installation. Software as a Service (SaaS) is a software distribution model in which applications are hosted by a vendor or service provider and made available to customers over a network, typically the Internet” (www.searchcloudcomputing.com).
Infrastructure-as-a-Service (IaaS)
Once you visualize the three different kinds of cloud-based services as a stacked pyramid, you can see that the lowest level made available is infrastructure-as-a-service (IaaS). This is the elementary basics and building blocks of hardware needs, including servers, storage, and operating systems that power everything. With IaaS, the end user has access to the actual building blocks of complex computer resources, which is highly automated, quick, easy to operate, and scalable, especially when IaaS is coupled with cloud storage and network capability which can be “self-provisioned, metered, and available on-demand.”
Access is through virtualized interfaces such as a dashboard and/or APIs. Utilizing IaaS gives the end user direct access to pre-figured hardware, huge servers and mega-storage components, almost like they would with traditional servers, etc. but with the IaaS end users can gain access to a much higher order of development, growth, and scalability. “Infrastructure as a Service (IaaS) is a way of delivering Cloud Computing infrastructure – servers, storage, network and operating systems – as an on-demand service. It allows the end user access to remote and virtual database centers, storage, and networking services, rather than purchasing servers, software, datacenter space or network equipment, clients instead buy those resources as a fully outsourced service on demand” (www.computerweekly.com). Instead of having to purchase the hardware outright, end users can purchase IaaS based on consumption, like the analogy with paying monthly utility bills.
A few of the companies that operate IaaS systems include: Amazon Web Services (AWS), Microsoft Azure, Google Compute Engine (GCE), and Joyent.
Platform-as-a-Service (PaaS)
Simply put, PaaS offers computing platforms permitting the construction of web applications very quickly and easily, and without the complexity of buying and maintaining the software and infrastructure underneath it. It is a platform for the creation of software, delivered over the web.
Typical of cloud-based services, PaaS hosts virtualization technology so that businesses can request software-based services as they need them, scaling along the way as demand grows. This is very different than having to invest in complex and costly hardware and software. PaaS provides a complete virtual platform on which many different kinds of software applications can be developed and deployed. PaaS providers take care of all the servers, operating systems, programming languages, execution environment, database warehouses, and server software, as well as the underlying server hardware and network infrastructure. This leaves users free to focus on the business side of scalability, and the application development of their product or service.
Utilizing a PaaS development environment has resulted in the creation of these applications being significantly faster than would otherwise be the case. In some examples, in the absence of PaaS, the cost of developing the application would have been prohibitive. There are a number of different characteristics that would qualify as a PaaS but some basic characteristics include,
• Services to develop, test, deploy, host and maintain applications in the same integrated development environment. All the varying services needed to fulfill the application development process
• Web based user interface creation tools help to create, modify, test and deploy different UI scenarios
• Multi-tenant architecture where multiple concurrent users utilize the same development application
• Built-in scalability of deployed software including load balancing and failover
• Integration with web services and databases via common standards
• Support for development team collaboration – some PaaS solutions include project planning and communication tools
• Tools to handle billing and subscription management
(This list of characteristics of IaaS is adapted from
www.searchcloudcomputing.com and www.quora.com)
Examples of PaaS providers include Heroku, Google App Engine, and Red Hat’s OpenShift, Windows Azure, Heroku, Force.com, Apache Stratos, AWS Elastic Beanstalk, and Amazon Web Services.
Software-as-a-Service (SaaS)
The use of SaaS applications tends to reduce the cost of software ownership by removing the need for technical staff to manage install, and upgrade software, as well as reduce the cost of licensing software. SaaS applications are usually provided on a subscription model.
Software as a Service (SaaS) is defined as “…software that is deployed over the internet…” (www.computer weekly.com). With SaaS, the task of managing software and deploying it is now transferred to third-party SaaS servic. SaaS works because the provider licenses certain software applications to their clients, either as a services, or on-demand, and then the client has all of the benefits of operating software programs and all they have to do is “pay-as-you-go.” You don’t have to worry about the installation, setup and running of the application. Service providers will do that for you. You just have to pay and use it through some client.
“SaaS is a rapidly growing market as indicated in recent reports that predict ongoing double digit growth. This rapid growth indicates that SaaS will soon become commonplace within every organization and hence it is important that buyers and users of technology understand what SaaS is and where it is suitable” (www.stackoverflow.com).
Among the most familiar SaaS applications for business are customer relationship management applications like Salesforce, productivity software suites like Google Apps, and storage solutions brothers like Box and Dropbox, Some of the most well known SaaS solutions are “Google Apps”, Salesforce.com, and Microsoft’s “Business Productivity Online Suite.”
Story by Mark Joseph Manion
RESOURCES:
http://www.computerweekly.com/photostory/2240109268/The-Computer-Weekly-guide-to-Cloud-Computing/2/The-difference-between-Saas-Paas-and-Iaas
http://searchcloudcomputing.techtarget.com/definition/SPI-model
http://stackoverflow.com/questions/16820336/what-is-saas-paas-and-iaas-with-examples
https://www.quora.com/What-are-basic-differences-between-IAAS-PAAS-and-SAAS
http://www.rackspace.com/knowledge_center/whitepaper/understanding-the-cloud-computing-stack-saas-paas-iaas
http://csrc.nist.gov/groups/SNS/cloud-computing/
No comments yet... Be the first to leave a reply!