Understand and compare the three most popular cloud computing service models
IaaS, PaaS and SaaS are the three most popular types of cloud service offerings. (They are sometimes referred to as cloud service models or cloud computing service models.)
IaaS, PaaS and SaaS are not mutually exclusive. Many mid-sized businesses use more than one, and most large enterprises use all three.
'As a service' refers to the way IT assets are consumed in these offerings - and to the essential difference between cloud computing and traditional IT. In traditional IT, an organization consumes IT assets - hardware, system software, development tools, applications - by purchasing them, installing them, managing them and maintaining them in its own on-premises data center. In cloud computing, the cloud service provider owns, manages and maintains the assets; the customer consumes them via an Internet connection, and pays for them on a subscription or pay-as-you-go basis.
So the chief advantage of IaaS, PaaS, SaaS or any 'as a service' solution is economic: A customer can access and scale the IT capabilities it needs for a predictable cost, without the expense and overhead of purchasing and maintaining everything in its own data center. But there are additional advantages specific to each of these solutions.
IaaS is on-demand access to cloud-hosted computing infrastructure - servers, storage capacity and networking resources - that customers can provision, configure and use in much the same way as they use on-premises hardware. The difference is that the cloud service provider hosts, manages and maintains the hardware and computing resources in its own data centers. IaaS customers use the hardware via an internet connection, and pay for that use on a subscription or pay-as-you-go basis.
Typically IaaS customers can choose between virtual machines (VMs) hosted on shared physical hardware (the cloud service provider manages virtualization) or bare metal servers on dedicated (unshared) physical hardware. Customers can provision, configure and operate the servers and infrastructure resources via a graphical dashboard, or programmatically through application programming interfaces (APIs).
IaaS can be thought of as the original 'as a service' offering: Every major cloud service provider - Amazon Web Services, Google Cloud, IBM Cloud, Microsoft Azure - began by offering some form of IaaS.
Compared to traditional IT, IaaS gives customers more flexibility build out computing resources as needed, and to scale them up or down in response to spikes or slow-downs in traffic. IaaS lets customers avoid the up-front expense and overhead of purchasing and maintaining its own on-premises data center. It also eliminates the constant trade-off between the waste of purchasing excess on-premises capacity to accommodate spikes, versus the poor performance or outages that can result from not having enough capacity for unanticipated traffic bursts or growth.
Other benefits of IaaS include:
Faster access to best-of-breed technology. Cloud providers compete with each other by providing the latest technologies to their users, IaaS customers can take advantage of these technologies much earlier (and at far less cost) than they can implement them on premises.
Common uses of IaaS include:
Ecommerce: IaaS is an excellent option for online retailers that frequently see spikes in traffic. The ability to scale up during periods of high demand and high-quality security are essential in today’s 24-7 retail industry.
Internet of Things (IoT), event processing, artificial intelligence (AI): IaaS makes it easier to set up and scale up data storage and computing resources for these and other applications that work with huge volumes of data.
Startups: Startups can't afford to sink capital into on-premises IT infrastructure. IaaS gives them access to enterprise-class data center capabilities without the up-front investment in hardware and management overhead.
Red Hat OpenShift on IBM Cloud
IBM Cloud Kubernetes Service
IBM Cloud Code Engine
IBM Cloud Satellite
PaaS provides a cloud-based platform for developing, running, managing applications. The cloud services provider hosts, manages and maintains all the hardware and software included in the platform - servers (for development, testing and deployment), operating system (OS) software, storage, networking, databases, middleware, runtimes, frameworks, development tools - as well as related services for security, operating system and software upgrades, backups and more.
Users access the PaaS through a graphical user interface (GUI), where development or DevOps teams can collaborate on all their work across the entire application lifecycle including coding, integration, testing, delivery, deployment, and feedback.
Examples of PaaS solutions include AWS Elastic Beanstalk, Google App Engine, Microsoft Windows Azure, and Red Hat OpenShift on IBM Cloud.
The primary benefit of PaaS is that it allows customers to build, test, deploy run, update and scale applications more quickly and cost-effectively than they could if they had to build out and manage their own on-premises platform. Other benefits include:
PaaS can advance a number of development and IT initiatives including:
API development and management: With its built-in frameworks, PaaS makes it easier for teams to develop, run, manage and secure APIs for sharing data and functionality between applications.
Internet of Things (IoT): PaaS supports a range of programming languages (Java, Python, Swift, etc.), tools and application environments used for IoT application development and real-time processing of data from IoT devices.
Agile development and DevOps: PaaS solutions typically cover all the requirements of a DevOps toolchain, and provide built-in automation to support continuous integration and continuous delivery (CI/CD).
Cloud-native development and hybrid cloud strategy: PaaS solutions support cloud-native development technologies - microservices, containers, Kubernetes, serverless computing - that enable developers to build once, then deploy and manage consistently across private cloud, public cloud and on-premises environments.
IBM Cloud Paks
SaaS (sometimes called cloud application services) is cloud-hosted, ready-to-use application software. Users pay a monthly or annual fee to use a complete application from within a web browser, desktop client or mobile app. The application and all of the infrastructure required to deliver it - servers, storage, networking, middleware, application software, data storage - are hosted and managed by the SaaS vendor.
The vendor manages all upgrades and patches to the software, usually invisibly to customers. Typically, the vendor ensures a level of availability, performance and security as part of a service level agreement (SLA). Customers can add more users and data storage on demand at additional cost.
Today, anyone who uses a or mobile phone almost certainly uses some form of SaaS. Email, social media, and cloud file storage solutions (such as Dropbox or Box) are examples of SaaS applications people use every day in their personal lives. Popular business or enterprise SaaS solutions include Salesforce (customer relationship management software), HubSpot (marketing software), Trello (workflow management), Slack (collaboration and messaging), and Canva (graphics). Many applications designed originally for the desktop (e.g., Adobe Creative Suite) are now available as SaaS (e.g., Adobe Creative Cloud).
The main benefit of SaaS is that it offloads all infrastructure and application management to the SaaS vendor. All the user has to do is create an account, pay the fee and start using the application. The vendor handles everything else, from maintaining the server hardware and software to managing user access and security, storing and managing data, implementing upgrades and patches and more.
Other benefits of SaaS include:
Some SaaS vendors even enable customization of their product by providing a companion PaaS solution. One well-known example is Heroku, a PaaS solution for Salesforce.
Today, just about any personal or employee productivity application is available as SaaS; specific use cases are too numerous to mention (some are listed above). If an end user or organization can find a SaaS solution with the required functionality, in most cases it will provide a significantly simpler, more scalable and more cost-effective alternative to on-premises software.
SaaS, Paas, IaaS are not mutually exclusive; most organizations use more than one, and many larger organizations today use all three, often in combination with traditional IT.
Obviously, the as-a-service solution a customer chooses depends first on the functionality the customer requires, and the expertise it has on staff. For example, an organization without the in-house IT expertise for configuring and operating remote servers isn't well matched to IaaS; an organization without a development team has no need for PaaS.
But in some cases, any of the three 'as-a-service' models will offer a viable solution. In these cases, organizations typically compare the alternatives based on the management ease they offer, vs. the control they give up.
For example, suppose a large organization wants to deliver a customer relationship management (CRM) application to its sales team. It could:
IBM has a broad menu of IaaS, PaaS and SaaS offerings to meet your company’s needs up and down the stack. IBM’s rich and scalable PaaS solutions help organizations develop cloud native applications from scratch, or modernize existing applications to benefit from the flexibility and scalability of the cloud. IBM also offers a full IaaS layer of virtualized compute, network, and storage within our full-stack cloud platform, and more than 150 SaaS business applications to help you innovate.
Take the next step:
To get started, create an IBM Cloud account today.
Red Hat OpenShift on IBM Cloud leverages OpenShift in public and hybrid environments for velocity, market responsiveness, scalability and reliability.
IBM Cloud Kubernetes Service enables the orchestration of intelligent scheduling, self-healing and horizontal scaling.
IBM Cloud Code Engine, a fully managed, serverless platform, runs containerized workloads, including web apps, microservices, event-driven functions, and more.
With IBM Cloud Satellite, you can launch consistent cloud services anywhere — on premises, at the edge and in public cloud environments.