What do the following terms mean?
- SaaS
- PaaS
- IaaS?
There are various cloud services available today, such as Amazon's EC2 and AWS, Apache Hadoop, Microsoft Azure and many others. Which category does each belong to and why?
What do the following terms mean?
There are various cloud services available today, such as Amazon's EC2 and AWS, Apache Hadoop, Microsoft Azure and many others. Which category does each belong to and why?
IaaS, PaaS and SaaS are cloud computing service models.
IaaS (Infrastructure as a Service), as the name suggests, provides you the computing infrastructure, physical or (quite often) virtual machines and other resources like virtual-machine disk image library, block and file-based storage, firewalls, load balancers, IP addresses, virtual local area networks etc.
Examples: Amazon EC2, Windows Azure, Rackspace, Google Compute Engine.
PaaS (Platform as a Service), as the name suggests, provides you computing platforms which typically includes operating system, programming language execution environment, database, web server etc.
Examples: AWS Elastic Beanstalk, Windows Azure, Heroku, Force.com, Google App Engine, Apache Stratos.
While in SaaS (Software as a Service) model you are provided with access to application software often referred to as "on-demand software". You don't have to worry about the installation, setup and running of the application. Service provider will do that for you. You just have to pay and use it through some client.
Examples: Google Apps, Microsoft Office 365.
Few additional points regarding your question:
AWS (Amazon web services) is a complete suite which involves a whole bunch of useful web services. Most popular are EC2 and S3 and they belong to IaaS service model.
Although Hadoop is based on previous works by Google(GFS and MapReduce), it is not from Google. It is an Apache project. You can find more here. It is just a distributed computing platform and does not fall into any of these service models, IMHO.
Microsoft's Windows Azure is again an example of IaaS.
As far as popularity of these services is concerned, they all are popular. It's just that which one fits into your requirements better. For example, if you want to have a Hadoop cluster on which you would run MapReduce jobs, you will find EC2 a perfect fit, which is IaaS. On the other hand if you have some application, written in some language, and you want to deploy it over the cloud, you would choose something like Heroku, which is an example of PaaS.
Meaning For dummies:
IAAS (Infrastructure As A Service) :
The base layer
Deals with Virtual Machines, Storage (Hard Disks), Servers, Network, Load Balancers etc
PAAS (Platform As A Service) :
A layer on top of IAAS
Runtimes (like java runtimes), Databases (like mySql, Oracle), Web Servers (tomcat etc)
SAAS (Software As A Service) :
A layer on top on PAAS
Applications like email (Gmail, Yahoo mail etc), Social Networking sites (Facebook etc)
To quickly relate consider the below Google's offerings:
IAAS : Google Compute Engine (One can develop programs to be run on high performing google's computing infrastructure)
PAAS : Google App Engine (One can develop applications and let them execute on top of Google app engine which take care of the execution)
SAAS : Gmail, Google+ etc (One can use email services and extend email/google+ based applications to form newer applications)
Popularity
Company Wise Popularity
Cloud computing is dominated by
Most of the popularity around these services owe to the reputation of the company and the amount of investments being made by these companies around the cloud space.
Type of Service Wise Popularity
When you are a simple client who wants to make use of a software but you have nothing in hand then you use SaaS.
When you have a software developed by you, but you want to deploy and run on a publicly available platform then you use PaaS.
When you have the software and the platform ready but you want the hardware to run then you use IaaS.
SaaS: Software as a Service Cloud application services or “Software as a Service” (SaaS) are probably the most popular form of cloud computing and are easy to use. SaaS uses the Web to deliver applications that are managed by a third-party vendor and whose interface is accessed on the clients’ side. Most SaaS applications can be run directly from a Web browser, without any downloads or installations required. SaaS eliminates the need to install and run applications on individual computers. With SaaS, it’s easy for enterprises to streamline their maintenance and support, because everything can be managed by vendors: applications, runtime, data, middleware, O/S, virtualization, servers, storage, and networking. Gmail is one famous example of an SaaS mail provider.
PaaS: Platform as a Service The most complex of the three, cloud platform services or “Platform as a Service” (PaaS) deliver computational resources through a platform. What developers gain with PaaS is a framework they can build upon to develop or customize applications. PaaS makes the development, testing, and deployment of applications quick, simple, and cost-effective, eliminating the need to buy the underlying layers of hardware and software. One comparison between SaaS vs. PaaS has to do with what aspects must be managed by users, rather than providers: With PaaS, vendors still manage runtime, middleware, O/S, virtualization, servers, storage, and networking, but users manage applications and data.
IaaS: Infrastructure as a Service Cloud infrastructure services, known as “Infrastructure as a Service” (IaaS), deliver computer infrastructure (such as a platform virtualization environment), storage, and networking. Instead of having to purchase software, servers, or network equipment, users can buy these as a fully outsourced service that is usually billed according to the amount of resources consumed. Basically, in exchange for a rental fee, a third party allows you to install a virtual server on their IT infrastructure. Compared to SaaS and PaaS, IaaS users are responsible for managing more: applications, data, runtime, middleware, and O/S. Vendors still manage virtualization, servers, hard drives, storage, and networking. What users gain with IaaS is infrastructure on top of which they can install any required platforms. Users are responsible for updating these if new versions are released.
IaaS (Infra as a Service)
IaaS provides the infrastructure such as virtual machines and other resources like virtual-machine disk image library, block and file-based storage, firewalls, load balancers, IP addresses, virtual local area networks etc. Infrastructure as service or IaaS is the basic layer in cloud computing model.
Common examples: DigitalOcean, Linode, Rackspace, Amazon Web Services (AWS), Cisco Metapod, Microsoft Azure, Google Compute Engine (GCE) are some popular examples of Iaas.
PaaS (Platform as a Service)
PaaS or platform as a service model provides you computing platforms which typically includes an operating system, programming language execution environment, database, web server. technically It is a layer on top of IaaS as the second thing you demand after Infrastructure is a platform.
Common examples: AWS Elastic Beanstalk, Windows Azure, Heroku, Force.com, Google App Engine, Apache Stratos.
SaaS (Software as a Service)
In a SaaS, you are provided access to application services installed at a server. You don’t have to worry about installation, maintenance or coding of that software. You can access and operate the software with just your browser. You don’t have to download or install any kind of setup or OS, the software is just available for you to access and operate. The software maintenance or setup or help will be provided by SaaS provider company and you will only have to pay for your usage.
Common examples: Google Apps, Microsoft office365, Google docs, Gmail, WHMCS billing software
Basic difference between IaaS, PaaS & SaaS
Difference between IaaS PaaS & SaaS
In the following tabular format we will be explaining the difference in context of
pizza as a service
IaaS, PaaS and SaaS are basically cloud computing segment.
IaaS (Infrastructure as a Service) - Infrastructure as a Service is a provision model of cloud computing in which an organization outsources the equipment used to support operations, including storage, hardware, servers and networking components. The service provider owns the equipment and is responsible for housing, running and maintaining it. The client typically pays on a per-use basis. Ex- Amazon Web Services, BlueLock, Cloudscaling and Datapipe
PaaS (Platform as a Service) - Platform as a Service is one of the GROWING sector of cloud computing. PaaS basically help developer to speed the development of app, saving money and most important innovating their applications and business instead of setting up configurations and managing things like servers and databases. In one line I can say Platform as a service (PaaS) automates the configuration, deployment and ongoing management of applications in the cloud. Ex: Heroku, EngineYard, App42 PaaS and OpenShift
SaaS (Software as a Service) - Software as a Service, SaaS is a software delivery method that provides access to software and its functions remotely as a Web-based service. Ex: Abiquo's and Akamai
Adding to that, I have used AWS, heroku and currently using Jelastic and found -
Jelastic offers a Java and PHP cloud hosting platform. Jelastic automatically scales Java and PHP applications and allocates server resources, thus delivering true next-generation Java and PHP cloud computing. http://blog.jelastic.com/2013/04/16/elastic-beanstalk-vs-jelastic/ or http://cloud.dzone.com/articles/jelastic-vs-heroku-1
Personally I found -
Try any of them and explore yourself. Its fun :-)
Following link gives very good explanation on SaaS, PaaS and Iaas.. http://opensourceforgeeks.blogspot.in/2015/01/difference-between-saas-paas-and-iaas.html
Just some brief:
IaaS, here vendor provides infra to user where an user gets hardware/virtualization infra, storage and Networking infra.
PaaS, here vendor provides platform to user where an user gets all required things for their work like OS, Database, Execution Environment along with IaaS provided environment. So pass is platform + IaaS.
SaaS seems to be quite wide area where vendor provides almost everything from infra to platform to software. So SaaS is Iaas+PaaS along with different softwares like ms office, virtual box etc..
Iam sharing my experiences along with Standard definitions by NIST. Iam developer from product company and we own database and client (eco system). Beside many clear pictures the confusion arises because of many actors(5 defined by NIST) and things differ from prespectives.
For IaaS and Bare metal deployments we sell licenses and packages can be obtained from CD's or FTP server (rpms). The code is compiled tested and delivered. Here our customers pay to us (license cost) and/or to cloud provider for instances.
We partner with cloud providers (technology partner) to sell our products via marketplace.
Typically we deliver images (ami,vhd,etc) + some (cloud formation templates or ARM templates, etc) in case of PaaS. We have Jenkins pipelines to place them in market place (version based). Here with some skills developers can login into instances and manipulate the software (e.g after database instances are launched login and completely remove the software and make it look like just EC2 instances)
In case of SaaS our Jenkins pipelines will directly deploy (whether they are web apps, azure/lambda functions). Neither developers/end users have less control over the physical hardware.
Below are the Actors defined by NIST and since developers(tech company that provides software) partners with cloud provider, developers best match is cloud provider.