Software solutions are in more demand than ever before. They have become an indispensable part of people’s professional lives and are used to streamline and automate processes, measure our performance, and facilitate communication.
This article will give you a primer on how software is made, stored, and delivered to users using one of the three main types of cloud-based computing: SaaS, PaaS, and IaaS.
As a SaaS founder developing unique software, you may also find this article helpful if you’re trying to decide which cloud computing model is best suited for your needs.
So, keep reading and find out everything you ever wanted to know about cloud computing and the three as-a-service models it’s built on.
Jump to a section:
In the past, software companies delivered solutions using physical media, such as CDs, USB sticks, or floppy disks which meant software could be installed on one computer at a time, and could only be accessed with a user’s license.
In addition, software products were scarce, so many companies resorted to building and maintaining their own solutions to carry out the work that needed to be done.
This approach is called on-premises software, and it’s still in use, although on a much smaller scale.
Fast forward a couple of decades, and most software is delivered to customers over the internet, instead of being stored locally, on one device.
This is enabled by the fact that data is stored remotely on multiple servers worldwide—an innovative approach to software called cloud-based computing.
As you can see in the above illustration, while on-premises computing works as a closed system, cloud computing accesses data stored remotely.
Cloud computing has largely phased out the less efficient on-premises model. It has become the preferred computing model of consumers, developers, and businesses alike, and continues to grow exponentially.
Source: Programming Insider
The graph above illustrates the breakneck speed at which the cloud computing market has grown. As you can see, it is expected to gain even more momentum in the following years.
The three types of cloud-based software are:
- Software as a service (SaaS): offers software solutions for everyday use to consumers and businesses.
- Platform as a service (PaaS): provides tools developers can use to host, build, and deliver consumer apps and software.
- Infrastructure as a service (IaaS): allows organizations to manage resources like networks and services.
You can already see how the three services differ according to the product they offer (software, platform, and infrastructure), as well as their target audiences.
Have a look at the image above to understand which audience each cloud service is meant for.
Another difference lies in the level of management required from the service subscriber.
As you can see, SaaS is entirely managed by the service provider, with the user in the passenger seat.
On the other hand, IaaS requires the user to manage most of the resources and offers infrastructure and storage space for large amounts of data. PaaS is squarely in between, meaning it provides a platform for you to build a software product that fits your needs.
Each as-a-service model corresponds to specific needs, and the following sections will explain them in detail to help you choose the right service for your computing requirements.
We’re kicking off with the most common type of cloud computing service. SaaS products are used worldwide by consumers and businesses to solve everyday problems and streamline work processes.
They’re incredibly easy to use and are completely managed by remote service providers. To access SaaS apps, all a user needs is a computer and an internet connection.
SaaS delivers complete software solutions perfect for small and medium companies that lack the staff or resources to develop their own software.
From CRM to analytics, from invoices to marketing automation, SaaS can cover every type of need.
But it doesn’t stop there. Consumers, not just businesses, rely on SaaS products to organize their lives, access entertainment, and communicate.
Like all cloud-based computing services, SaaS products are delivered over the internet. Users can access SaaS products using any browser (and sometimes desktop and mobile apps) from anywhere in the world.
Users access the product via dashboards and APIs which allow them to start working on analyzing data the moment they log in.
What’s unique about SaaS is that users can rely on the service provider to support them every step of the way, with dedicated staff handling bug fixes, technical issues, and customer support.
SaaS business is immensely popular because it relies on recurring revenue. It allows you to bill your customers automatically, on a monthly or yearly basis, meaning you don’t have to keep acquiring new customers and close sales to generate revenue.
Instead, your revenue comes from existing customers while new customers are a source of growth.
Of course, you will need to devote resources to keep your customers happy and prevent them from churning, but generally speaking, customer retention is easier and costs less than customer acquisition.
Source: Super Office
As you can see above, retaining customers is up to seven times cheaper than acquiring new ones.
This business model isn’t just good for SaaS companies. It serves customers as well.
With SaaS products, customers have the option of paying for software in increments, meaning they don’t have to pay a large sum upfront, which makes paying for your software much more digestible.
This way, you’re attracting a much larger customer base of users who perhaps wouldn’t have been able to afford your product were it not for the subscription model.
There is a flip side to the SaaS model. If your business is based on small payments made every month, that could cause some problems with cash flow.
This could prevent you from making large investments and slow your company’s growth by a major factor.
Additionally, customers will depend on you to provide an impeccable service.
Any outages or disruptions in delivery will be your responsibility, as will data leaks, because with SaaS products, all aspects of the software are managed by you, the service provider.
Source: Bleeping computer
No SaaS operator ever wants to send out a notification, like the one above, to their valued customers.
Finally, as we’ve already mentioned, SaaS business is rooted in customer retention. While other industries can afford to more-or-less forget about the customer after the sale is closed, you will have to stay with your customer for the duration of their user journey and do everything you can to keep them from churning.
B2B SaaS solutions include all kinds of tools that make work processes easier.
Famous examples include:
On the consumer side of SaaS, you’ll find some of the most famous apps for entertainment, shopping, learning, and traveling.
Here are some examples:
As you can see, SaaS products color every aspect of our work and personal life. Knowing how much they make our lives easier, it’s hardly any wonder.
Next up, we’re going to discuss platforms as a service. Where SaaS products offer complete software ready to be used by the end customer, PaaS products provide tools that enable developers to build custom software.
Think of PaaS services as a workbench for building software from scratch. In fact, SaaS products are often built using PaaS services.
PaaS vendors give developers a way to build software and apps online. Specifically, platforms offer developers storage options, data serving, and management tools. The user supplies everything else.
Obviously, this means that using PaaS products requires a higher level of technical knowledge.
As you can see in the above example from Openshift’s interface, the user experience is a bit different from using SaaS products.
In addition to providing servers and data management tools for the massive amounts of data software development usually entails, PaaS solutions also give product developers a way to collaborate.
Since the entire service is online, whole teams can access them together to work on their project.
For example, the Heroku platform allows you to create a team and invite your team members to collaborate.
The main advantage of PaaS products is that they allow you to develop online and deploy your software directly to the internet. Conversely, developing software on your drive takes up a lot of storage space and the product needs to be uploaded once it’s done, so there are more steps involved.
Furthermore, PaaS products are easily accessible and cost-effective. That means they save you resources and time.
Once you’ve created an excellent app, your software will grow and expand as you keep working on it. PaaS services can accommodate that growth because they’re flexible and scalable to the needs of the developers.
The disadvantages are again tied to possible disruptions in the service. Since everything is stored remotely, any outage or leak will affect your software as well.
For example, a Google Cloud outage can cause problems across the world and prevent thousands of developer teams from accessing their work, as you can see above.
Also, since you don’t have access to the infrastructure behind your software, coding on PaaS services isn’t completely customizable.
Finally, there’s no guarantee that your on-premises resources will be entirely compatible with PaaS resources, so integration issues may arise.
Ordinary consumers aren’t usually familiar with big PaaS names, so here’s a couple of PaaS services for you to keep in mind:
- Google App Engine
- Redhat Openshift
Each of these examples has its own advantages, disadvantages, and pricing models so, if you need a PaaS product, examine each one to find the product that fits your needs best.
Infrastructure as a service is the last item on our cloud-computing list. In a nutshell, the IaaS model allows you to store any amount of information and data remotely.
This saves you from buying hardware and securing enough physical space to house it at your company. You can work from a small space or even remotely, with all of your data still at your fingertips.
IaaS services take care of your storage, networking, and virtualization needs. Infrastructure vendors have access to enormous physical spaces inhabited by rows and rows of servers.
They allow you to rent that space, so you don’t have to invest in physical storage and servers yourself.
For instance, take a look at Amazon’s storage facility, AWS. Hardly something you could fit into a small office.
IaaS services are also delivered online. Users store their data on a variety of servers across the world and access it via dashboards connected to the IaaS provider’s API.
Take a look at Linode’s dashboard to see what accessing remotely stored data might look like.
As already mentioned, IaaS services allow you to save a lot of money on space and hardware by enabling you to store data on remote servers. The amount of data you can store that way is virtually limitless.
The worldwide storage capacity in data centers like Amazon’s and Linode’s is measured in exabytes, so you never have to worry about running out of space.
Furthermore, IaaS solutions allow you to only use the space you need and pay accordingly. That means you’re never leaving storage space unused.
Source: AWS blog
As you can see in AWS’s billing report above, customers are only paying for the storage they’re actually using.
Finally, since IaaS services do little more than store your data, they’re more flexible than the other two cloud-based models.
Have another look at the table at the top of this article to see which of your own resources you get to use when working with IaaS solutions.
Being responsible for so many resources means that IaaS solutions are more hands-on, requiring you and your team to do more of the legwork.
Using an IaaS solution is like leasing a car to get somewhere. You may not be responsible for supplying a vehicle, but every other responsibility, like driving and mapping out the route, falls on your shoulders. PaaS and SaaS products, on the other hand, relieve you of some of those duties.
Relying on your own resources also means you’ll have to devote more time to train your staff and keep a close eye on security, as any problems that arise will be your responsibility.
Building and maintaining data centers and the services centered around them doesn’t come cheap. It comes as no surprise that today’s corporate giants run many IaaS products. Examples include:
- Amazon Web Services (AWS)
- IBM Cloud
- Microsoft Azure
Those are the IaaS products where most of your favorite apps and software products are probably stored.
The optimal cloud-based service depends on a company’s resources and the size and expertise of its team.
Let’s start with small and medium-sized businesses with limited resources. SMBs are actually the SaaS industry’s best customers because they have so much to gain from SaaS solutions invented to automate, streamline and measure work processes.
According to BMC’s research, as many as 85% of SMBs used multiple SaaS products in 2021.
SMBs don’t usually have the resources to hire full-time design and development teams. They can’t budget for the necessary equipment or invest in large spaces to house staff and hardware required to develop, deploy and host custom-developed applications and work software.
SaaS products enable them to do their best work and grow quickly while keeping costs low.
Consequently, SMBs are an excellent market to target if you’re developing a SaaS product.
As these companies grow, both in staffing and investment capital, they can start to consider developing their own apps and software solutions.
After all, larger teams that handle increasingly complex tasks have more specific needs.
In those cases, the company’s goals are best served by using PaaS services to develop custom solutions, tailored to the team’s needs, while trusting outside parties to handle the burden of providing storage and maintenance services.
For example, a corporate housing company called Travelers Haven found itself with a growing number of requests for shorter stays in hotels, as opposed to what they usually do—find long-term housing for workers.
They asked their IT team to develop an application for hotel room booking. Their IT department developed a solution called HotelEngine using the development tools offered by the Heroku platform.
The software was such a success that it has since grown into its own company, offering hotel booking services for corporate clients.
In addition to that, if you’re running a SaaS startup, PaaS products will enable you to develop almost any kind of software at a low cost. In fact, the PaaS industry caters to all the development needs of SaaS companies.
Finally, companies with highly skilled teams and ample resources may find IaaS perfectly suited to their needs.
Those companies can develop completely customized solutions and unique software because they have enough manpower and resources to build, deploy, and maintain highly complex products.
However, the more complex the software and the more users it serves, the more storage is needed to handle it. That’s where IaaS solutions come in.
A great example of a large corporation using an IaaS solution to store massive amounts of data is Netflix.
In 2016, Netflix decided to move their entire infrastructure to the AWS cloud because their user numbers were increasing so fast, they could no longer handle their data streams on their own.
AWS’s infrastructure was the perfect solution because it allowed Netflix to scale its storage needs and deliver its service to millions of users without a hitch.
Hopefully, this article has been able to shine some light on the three kinds of cloud-based computing available to today’s businesses.
The three types of cloud computing offer solutions for every level of software development, allowing you to take on any project, face any challenge and bring all of your software ideas to life.