The tech industry is rife with acronyms, each new one more bewildering than the last, and often challenging to keep up with. Like IaaS, PaaS, Saas.
Since the introduction of cloud services, and the proliferation of cloud service models, businesses globally have been able to grow and prosper, achieve business continuity and expand their networking resources.
The cloud refers to where data is stored, and enables software and services to run on the internet rather than on one device. This data is stored remotely across a variety of different servers, allowing it to be accessed from absolutely anywhere.
Where did cloud computing start?
According to Technology Review, the term cloud computing goes all the way back to late 1996, to an office park outside Houston. "Inside the offices of Compaq Computer, a small group of technology executives was plotting the future of the Internet business. For Compaq, it was the start of a $2-billion-a-year business selling servers to Internet providers."
IaaS, PaaS, SaaS: The most common cloud computing Services
At the risk of making you choke on your alphabet soup, this guide will cover everything you need to know about the three main types of cloud services in the cloud computing environment. That is, Infrastructure as a Service (Iaas), Platform as a Service (PaaS) and Software as a Service (Saas)
Cloud services have transformed how businesses work, allowing them to use IT infrastructures, platforms, software and applications via the internet. This flexibility and freedom has helped them retain complete control of their business operations - and by using cloud resources - made businesses highly scalable.
IaaS, Paas and Saas are the three main types of cloud computing models available.
IaaS, PaaS and Saas explained
Figures from Statista show that the three platforms have grown significantly over the last decade, with worldwide revenue increasing from around $90 billion in 2016 to more than $312 billion in 2020.
Let's start by explaining what each of these cloud service models means, how they've changed the modern business world, and ultimately, their relationship to one another. In a nutshell:
IaaS (Infrastructure as a Service):
IaaS solutions allow organizations to manage their business resources, such as their network, servers, and data storage on the cloud. IaaS solutions can be included in a public cloud, private cloud, or hybrid cloud model
PaaS (Platform as a Service):
PaaS solutions allow businesses and developers to host, build, and deploy consumer-facing apps.
SaaS (Software as a Service):
By far the most common cloud service, SaaS apps offer both consumers and businesses cloud-based tools and applications for everyday use.
IaaS provides end users with cloud-based alternatives to the on-premise, physical hardware and computing infrastructure that businesses typically used in the past.
Iaas allows businesses to purchase resources on-demand instead of having to buy and manage hardware and build costly physical on-premises infrastructure.
Infrastructure as a Service is fully scalable and offers businesses greater flexibility and better infrastructure management than on-premise solutions by utilizing the cloud.
IaaS businesses typically provide services such as pay-as-you-go storage, networking and virtualization tech, through a virtual data center. This helps companies build and manage data as they grow, without having to actually host and manage servers themselves on-site.
With IaaS, enterprises get a full cloud infrastructure including network, servers, operating system, and data storage centers.
IaaS providers manage their customers’ data on physical servers across the world. The IaaS platform is a type of server, but you don’t have to manage a physical server, because the IaaS cloud service provider hosts it for you on virtual machines. As the user, however, you are responsible for the operating system and any data, applications, middleware, and runtimes
IaaS cloud servers are a pay-as-you-go service where a third party provides infrastructure services, which are typically offered to businesses over the internet. This insures users have complete control over their computing infrastructure.
Google Compute Engine (GCE) is an example of Infrastructure as a Service, allowing clients to run workloads on Google's physical hardware.
The advantages of Infrastructure as a Service platforms are:
Highly flexible and highly scalable.
Accessible by multiple users.
There are certain limitations when it comes to transitioning to IaaS, including:
Legacy systems: Many older systems that are not designed for cloud-based services and may need to be upgraded or replaced then reviewed for compatibility before considering a full cloud migration.
Security: New security threats could be a problem moving from on-premise to the cloud, where the IaaS provider must share infrastructure resources with multiple clients
Training: With a new system comes a lack of familiarity with its intricacies. Businesses should prepare the necessary additional training and resources to ensure a good user experience.
Amazon Web Services (AWS): AWS is overseen by Amazon and is used for on-demand cloud computing and purchased for on a recurring subscription basis.
Microsoft Azure: Microsoft Azure is a cloud computing model that allows for building, testing, and managing applications through a network of Microsoft data centers.
Google Cloud: Google Cloud is an IaaS platform that businesses can use to natively run Windows, Oracle, and SAP, as well as AI solutions to increase operational efficiency.
IBM Cloud: IBM Cloud allows businesses to “allocate your computer, network, storage and security resources on demand”, so businesses only use resources when needed.
PaaS is also referred to as cloud platform services, and provides developers with a framework, software and tools needed to build apps and software which are all accessible through the internet.
Often seen as a scaled-down version of IaaS, Platform as a Service gives its customers broader access to servers, storage and networking, all managed by a third-party cloud services provider.
(Note: PaaS is also an acronym for Payments as a Service, but in this guide we will be exploring Platform as a Service. You can read our guide 'How Payments as a Service is transforming the future of payments' here)
PaaS delivery is comparable to SaaS methods, with the main difference being that customers are not able to access online software but an online platform.
PaaS provides a platform for software developers to create, and allows developers to build custom applications online without having to deal with data serving, storage, and management. In essence, PaaS cloud computing service models allow businesses to concentrate on the software itself without altering existing IT infrastructure.
A Platform as a Service model still provides customers with servers and data centers where they can store their information, but its customer is a developer creating a single app that will then be delivered over the internet to consumers. With PaaS, it's easy to migrate to a hybrid cloud model, and gain access to various resources in the application stack, including programming languages, operating systems, and databases
The advantages of Platform as a Service are:
Accessible by multiple users.
Scalable; customers can choose from various tiers of computing resources to suit the size of their business.
Built on virtualization technology.
Easy to run without extensive system administration knowledge.
Like IaaS, there are certain drawbacks to using PaaS that companies should be aware of, as you can only control what's built on the platform. If, for example there's an outage or issue with the hardware or operating systems, it will take out the software with it.
Integrations: Again, legacy systems not built for the cloud may stand in the way of integrating new applications.
Data security: Using third-party servers for your data could potentially lead to additional security risks.
Runtime: PaaS platforms may not be fully optimized for the language and frameworks your business uses and finding a specifically tailored solution may be difficult.
Operational limitations: Customized cloud operations may not be compatible with PaaS solutions, especially those with management automation workflows.
Google App Engine: Google App Engine allows developers to build and host web applications in cloud-based data centers that Google manages.
Red Hat OpenShift: Red Hat OpenShift is an on-premises containerization PaaS software.
Heroku: Developers can use this PaaS tool to build, manage, and grow consumer-facing apps.
Apprenda: Apprenda is a PaaS product that allows developers and businesses to host an entire application portfolio. Build and deploy applications of all types on this platform.
The SaaS service model is sometimes referred to as cloud application services. SaaS solutions are the most commonly used services within the cloud market. SaaS platforms make software available to users over the internet, usually for a monthly subscription fee.
SaaS solutions like Google apps are typically ready-to-use and run from a web browser, which doesn't interfere with existing IT infrastructure, and allows businesses to skip any additional downloads or application installations.
SaaS is one of the most common cloud native applications, as its easy to use and manage, is completely scalable, and it doesn't need to be downloaded and installed on individual devices to deploy it to an entire team or company. This feature is particularly helpful for distributed global teams and hybrid working environments. SaaS is hosted on remote servers and fully managed, updated, and maintained by a third-party vendor.
SaaS delivery is executed over the web to end users. These tools can either be used as a web app (such as Google Docs) or downloaded and installed on the device (such as Mailchimp).
With a SaaS app, there’s no need for specialized teams to come in and manually install it on each laptop using a purchased license.
The advantages of Software as a Service are:
Available over the Internet, and usable any time as long as there is an internet connection.
Hosted on a remote server by a third-party provider.
All users will have personalized logins suitable to their access level. You'll no longer need to engage an IT specialist to download the software onto multiple computers
Ideal for small businesses or startups who cannot develop their own software applications.
Scalable, with different tiers for small, medium and enterprise-level businesses.
Inclusive, offering security, compliance and maintenance as part of the cost.
Data Security: With sensitive data primarily located in off-premise servers, security could potentially become an issue.
Interoperability: As many SaaS applications are not designed for open integrations, finding a service with integration capabilities can be difficult.
Customization: SaaS services typically allow minimal customization for features, capabilities and integrations.
Lack of control: With a SaaS solution, businesses often pass control to the third-party SaaS providers, giving them the keys to functionality, performance and even data. You will want to ensure that you trust the Saas provider.
Dropbox: Dropbox is a file-sharing SaaS tool that allows multiple users within a group or organization to upload and download different files.
Hubspot: HubSpot is a CRM, marketing, sales, and service SaaS platform that businesses use to connect with and retain customers.
Shopify: A subscription-based program that lets anyone build an online store easily. Clients can also sell in physical locations with the company’s POS app and extra hardware.
Adobe Creative Cloud: Offers the full suite of Adobe Inc.’s software that allows for video and photo editing and manipulation, graphic design, etc.
IaaS vs PaaS vs SaaS
Each cloud model offers specific features and functionalities at enterprise scale.
You may just need cloud-based software for storage options, or a smooth platform and development tools that allow you to create customized applications. You may want full control over your underlying infrastructure without having to physically maintain it. You might want automatic software upgrades, or a better way to manage apps and data streams. IaaS, PaaS and Saas provide all the tools without having to build development environments.
Why Cloud performance testing is critical
With IaaS, PaaS and SaaS, there's potentially an infinite pool of resources for computing, storage, and networking, allowing all kinds of applications to be scaled exactly the way a business needs.
But it's important to measure the performance of these applications in the cloud. Performance is the utmost factor - and performance testing all your applications is vital, as it directly impacts the end user experience.