While the cloud is an extremely hot topic from small businesses all the way to global enterprises, it is still a pretty broad concept that covers a lot of online territory. As you begin to consider switching your business to the cloud, whether it be for application or infrastructure deployment, it is more important than ever to understand the differences and advantages of the various cloud services.
There are usually three models of cloud service to compare: Software as a Service (SaaS), Platform as a Service (PaaS), and Infrastructure as a Service (IaaS). Each of these has its own benefits, as well as variances, and it is necessary to understand the differences among SaaS, PaaS, and IaaS to know how to best choose one for your organization.
BMC Helix: Next Generation ITSM
Summary of Key Differences
Common Examples of SaaS, PaaS, & IaaS
|Platform Type||Common Examples|
|SaaS||Google Apps, Dropbox, Salesforce, Cisco WebEx, Concur, GoToMeeting|
|PaaS||AWS Elastic Beanstalk, Windows Azure, Heroku, Force.com, Google App Engine, Apache Stratos, OpenShift|
|IaaS||DigitalOcean, Linode, Rackspace, Amazon Web Services (AWS), Cisco Metapod, Microsoft Azure, Google Compute Engine (GCE)|
SaaS: Software as a Service
Software as a Service, also known as cloud application services, represents the most commonly utilized option for businesses in the cloud market. SaaS utilizes the internet to deliver applications, which are managed by a third-party vendor, to it’s users. A majority of SaaS applications are run directly through the web browser, and do not require any downloads or installations on the client side.
Due to its web delivery model, SaaS eliminates the need to have IT staff download and install applications on each individual computer. With SaaS, vendors manage all of the potential technical issues, such as data, middleware, servers, and storage, allowing businesses to streamline their maintenance and support.
SaaS provides numerous advantages to employees and companies by greatly reducing the time and money spent on tedious tasks such as installing, managing, and upgrading software. This frees up plenty of time for technical staff to spend on more pressing matters and issues within the organization.
There are a few ways to help you determine when SaaS is being utilized:
- Managed from a central location
- Hosted on a remote server
- Accessible over the internet
- Users not responsible for hardware or software updates
When to Use SaaS
There are many different situations in which SaaS may be the most beneficial option, including:
- If you are a startup or small company that needs to launch ecommerce quickly and don’t have time for server issues or software
- For short-term projects that require collaboration
- If you use applications that aren’t in-demand very often, such as tax software
- For applications that need both web and mobile access
SaaS Limitations and Concerns
- Interoperability: Integration with existing apps and services can be a major concern if the SaaS app is not designed to follow open standards for integration. In this case, organizations may need to design their own integration systems or reduce dependencies with SaaS services, which may not always be possible.
- Vendor Lock-In: Vendors may make it easy to join a service and difficult to get out of it. For instance, the data may not be portable – technically or cost-effectively – across SaaS apps from other vendors without incurring significant cost or inhouse engineering rework. Not every vendor follows standard APIs, protocols and tools, yet the features could be necessary for certain business tasks.
- Lack of Integration Support: Many organizations require deep integrations with on-premise apps, data and services. The SaaS vendor may offer limited support in this regard, forcing organizations to invest internal resources in designing and managing integrations. The complexity of integrations can further limit how the SaaS app or other dependent services can be used.
- Data Security: Large volumes of data may have to be exchanged to the backend data centers of SaaS apps in order to perform the necessary software functionality. Transferring sensitive business information to public-cloud based SaaS service may compromise security and compliance, as well as incur significant cost in migrating large data workloads.
- Customization: SaaS apps offer minimal customization capabilities. Since a one-size-fits-all solution does not exist, users may be limited to specific functionality, performance and integrations as offered by the vendor. In contrast, on-premise solutions that come with several SDKs offer a high degree of customization options.
- Lack of Control: SaaS solutions effectively involves handing over controls to the third-party service provider. These controls are not limited to the software – in terms of the version, updates or appearance – but also the data and governance. Customers may therefore need to redefine their data security and governance models to fit the features and functionality of the SaaS service.
- Feature Limitations: Since SaaS apps often come in a standardized form, the choice of features may be a compromising tradeoff against security, cost, performance or other organizational policies. Furthermore, due to the vendor lock-in, cost or security concerns, it may not be viable to switch vendors or services to serve new feature requirements in the future.
- Performance and Downtime: Since the vendor controls and manages the SaaS service, customers depend on vendors to maintain security and performance of the service. Planned and unplanned maintenance, cyber-attacks or network issues may impact the performance of the SaaS app despite adequate Service Level Agreement (SLA) protections in place.
Examples of SaaS
Google Apps, Dropbox, Salesforce, Cisco WebEx, Concur, GoToMeeting
PaaS: Platform as a Service
Cloud platform services, or Platform as a Service (PaaS), provide cloud components to certain software while being used mainly for applications. PaaS delivers a framework for developers that they can build upon and use to create customized applications. All servers, storage, and networking can be managed by the enterprise or a third-party provider while the developers can maintain management of the applications.
The delivery model of PaaS is similar to SaaS, except instead of delivering the software over the internet, PaaS provides a platform for software creation. This platform is delivered over the web, and gives developers the freedom to concentrate on building the software while still not having to worry about operating systems, software updates, storage, or infrastructure.
PaaS allows businesses to design and create applications that are built into the PaaS with special software components. These applications, or middleware, are scalable and highly available as they take on certain cloud characteristics.
No matter what size your company may be, there are numerous advantages for using PaaS:
- Makes the development and deployment of apps simple and cost-effective
- Highly available
- Gives developers the ability to create customized apps without the headache of maintaining the software
- Greatly reduces the amount of coding
- Automates business policy
- Allows easy migration to the hybrid model
PaaS has many characteristics that define it as a cloud service, including:
- It is built on virtualization technology, meaning resources can easily be scaled up or down as your business changes
- Provides a variety of services to assist with the development, testing, and deployment of apps
- Numerous users can access the same development application
- Web services and databases are integrated
When to Use PaaS
There are many situations where utilizing PaaS is beneficial or even necessary. If there are multiple developers working on the same development project, or if other vendors must be included as well, PaaS can provide great speed and flexibility to the entire process. PaaS is also beneficial if you wish to be able to create your own customized applications. This cloud service also can greatly reduce costs and it can simplify some challenges that come up if you are rapidly developing or deploying an app.
PaaS Limitations and Concerns
- Data Security: Even though organizations can run their own apps and services using PaaS solutions, the data residing in third-party cloud servers controlled by vendors poses security risks and concerns. The security options may also be limited as customers may not be able to deploy services with specific hosting policies.
- Integrations: The complexity of connecting the data stored within inhouse data center or off-premise cloud is increased and may affect which apps and services can be adopted with the PaaS offering. Especially when not every component of a legacy IT system is built for the cloud, integration with existing services and infrastructure may be a challenge.
- Vendor Lock-In: Business and technical requirements that drive decision for a specific PaaS solution may not apply in the future. If the vendor has not provisioned convenient migration policies, switching to alternative PaaS options may not be possible without affecting the business.
- Customization of Legacy Systems: PaaS may not be a plug-and-play solution for existing legacy apps and services. Several customizations and configuration changes may be necessary for legacy systems to work with the PaaS service. The resulting customization may lead to a complex IT system that may limit the value of the PaaS investment altogether.
- Runtime Issues: In addition to limitations associated with specific apps and services, PaaS solutions may not be optimized for the language and frameworks of your choice. Specific framework versions may not be available or perform optimally with the PaaS service and customers may not be able to develop custom dependencies with the platform.
- Operational Limitation: Customized cloud operations management automation workflows may not be applicable to PaaS solutions as the platform tends to limit operational capabilities for end-users. Although this is intended to reduce the operational burden on end-users, the loss of operational control may affect how PaaS solutions are managed, provisioned and operated.
Examples of PaaS
AWS Elastic Beanstalk, Windows Azure, Heroku, Force.com, Google App Engine, Apache Stratos, OpenShift
IaaS: Infrastructure as a Service
Cloud infrastructure services, known as Infrastructure as a Service (IaaS), are made of highly scalable and automated compute resources. IaaS is fully self-service for accessing and monitoring things like computers, networking, storage, and other services, and it allows businesses to purchase resources on-demand and as-needed instead of having to buy hardware outright.
IaaS delivers Cloud Computing infrastructure, including things such as servers, network, operating systems, and storage, through virtualization technology. These cloud servers are typically provided to the organization through a dashboard or an API, and IaaS clients have complete control over the entire infrastructure. IaaS provides the same technologies and capabilities as a traditional data center without having to physically maintain or manage all of it. IaaS clients can still access their servers and storage directly, but it is all outsourced through a “virtual data center” in the cloud.
As opposed to SaaS or PaaS, IaaS clients are responsible for managing aspects such as applications, runtime, OSes, middleware, and data. However, providers of the IaaS manage the servers, hard drives, networking, virtualization, and storage. Some providers even offer more services outside of the virtualization layer, such as databases or message queuing.
There are many benefits of choosing IaaS, such as:
- It’s the most flexible cloud computing model
- Easily allows for automated deployment of storage, networking, servers, and processing power
- Hardware can be purchased based on consumption
- Gives clients complete control of their infrastructure
- Resources can be purchased as-needed
- Is highly scalable
Some characteristics to look for when considering IaaS are:
- Resources are available as a service
- The cost varies depending on consumption
- Services are highly scalable
- Typically includes multiple users on a single piece of hardware
- Provides complete control of the infrastructure to organizations
- Dynamic and flexible
When to Use IaaS
Just as with SaaS and PaaS, there are specific situations when it is the most advantageous to use IaaS. If you are a startup or a small company, IaaS is a great option because you don’t have to spend the time or money trying to create hardware and software. IaaS is also beneficial for large organizations that wish to have complete control over their applications and infrastructures, but are looking to only purchase what is actually consumed or needed. For rapidly growing companies, IaaS can be a good option since you don’t have to commit to a specific hardware or software as your needs change and evolve. It also helps if you are unsure what demands a new application will require as there is a lot of flexibility to scale up or down as needed.
IaaS Limitations and Concerns
Many limitations associated with SaaS and PaaS models – such as data security, cost overruns, vendor lock-in and customization issues – are also applicable to the IaaS model. Some of the additional limitations to IaaS include:
- Security: While the customer is in control of the apps, data, middleware and the OS platform, security threats can still be sourced from the host or other VMs. Insider threat or system vulnerabilities may expose data communication between the host infrastructure and VMs to unauthorized entities.
- Legacy Systems Operating in the Cloud: While customers can run legacy apps in the cloud, the infrastructure may not be designed to deliver specific controls to secure the legacy apps. Minor enhancement to legacy apps may be required before migrating them to the cloud, possibly leading to new security issues unless adequately tested for security and performance in the IaaS systems.
- Internal Resources and Training: Additional resources and training may be required for the workforce to learn how to effectively manage the infrastructure. Customers will be responsible for data security, backup and business continuity. Due to inadequate control into the infrastructure however, monitoring and management of the resources may be difficult without adequate training and resources available inhouse.
- Multitenant Security: Since the hardware resources are dynamically allocated across users as made available, the vendor is required to ensure that other customers cannot access data deposited to storage assets by previous customers. Similarly, customers must rely on the vendor to ensure that VMs are adequately isolated within the multitenant cloud architecture.
Examples of IaaS
DigitalOcean, Linode, Rackspace, Amazon Web Services (AWS), Cisco Metapod, Microsoft Azure, Google Compute Engine (GCE)
SaaS vs PaaS vs IaaS
Overall, each cloud model offers its own specific features and functionalities, and it is crucial for your organization to understand the differences. Whether you are looking for cloud-based software for storage options, a smooth platform that allows you to create customized applications, or are wanting complete control over your entire infrastructure without having to physically maintain it, there is a cloud service for you. No matter which option you choose, migrating to the cloud is the future of business and technology as we know it, and it is necessary to be properly informed.
BMC Helix: Next Generation ITSM
BMC Helix ITSM combines the latest in digital and cognitive automation technologies to enable best-practice ITSM principles, helping you to provide intelligent and predictive service management across any environment. Learn more about BMC Helix ITSM
- Optimized for ITIL® 4
- Predictive service management through auto-classification, assignment, and routing of incidents
- Integrations with leading agile DevOps tools such as Jira
- Delivered in containers to enable operational and cloud deployment efficiencies
Original reference image:
These postings are my own and do not necessarily represent BMC's position, strategies, or opinion.
See an error or have a suggestion? Please let us know by emailing firstname.lastname@example.org.