“Cloud computing” has become something of a buzzword in the high-tech services and IT spaces. However, some people mistakenly bundle many different tools and technologies under this term even though they are quite different from each other – both in design as well as in function.
The benefits of cloud services are undeniable, and they allow companies, professionals, and private users to avoid having to make large investments in software and hardware. Users also benefit from having all their applications run in the cloud, as this gives them and their employees access to tools and business-critical applications from any device, anywhere, and at any time.
However, it is important to understand that there are different levels or tiers within cloud services. Three key tiers are IaaS, PaaS, and SaaS. In this post, we define these terms, discuss their differences and uses, and conclude with a few thoughts on how users and companies can benefit from these different yet related cloud technologies.
SaaS: Software as a Service
What Is SaaS?
SaaS stands for software as a service. With SaaS, a company hosts software on a server, and users pay a fee for using that software. Any user – for example, a private individual or company employee – can access and run applications from anywhere on the server without having to install those applications on a local computer. When we talk about cloud software, we are talking about SaaS.
With a SaaS, the company’s concern will only be how to use the software programs necessary for its various operations without having to worry about any additional resources. All you need is the hardware on which you will access the server, and everything else – such as security, maintenance, system memory, etc. – is taken care of by the SaaS provider.
Today we have a multitude of examples of Software as a Service solutions, and many people probably use them unconsciously every day. Some examples of SaaS are Google Drive, Gmail, Dropbox, Apple iCloud, Microsoft One Drive, Microsoft Office 365, and the Salesforce CRM, to name a few.
Services such as Microsoft Office 365 and CMSs for web page design such as WordPress are examples of SaaS. These services have the following functionalities:
· Microsoft Office 365: This provides access to Microsoft’s office automation tools such as Word, Excel, Access, PowerPoint, etc. from any device. The user only has to think about how he or she needs to use these applications on their local machine without having to worry about installation, maintenance, or updates.
· WordPress: WordPress is used to help people design web pages that are accessible to users from any device that has an internet connection. WordPress is software that runs on a remote server where the user interacts with data, assets, or applications on the server without having to install, run, or maintain any infrastructure of any sort.
The concept of SaaS revolves around the idea of the distribution of software by a service provider, but not as a piece of software that the user can download to their system to use it locally and indefinitely – although in some models, you can download the software with a product license – but the essence of SaaS is using services that are available for use or hire for a fee via the internet.
The truth is that although cloud solutions based on SaaS began to reach the general public in the form of online storage spaces, today they go much further, and they can offer the same functionalities as many of the applications that we can have on our systems without the need to own the software or run it locally.
Here are a few more examples of different applications that are categorized based on the type of service they offer. Although many of them can be considered individual services, the trend today is to integrate many services within one larger package, such as Microsoft Office 365 outlined above, or Google’s Drive services.
Document, Photos, and Videos Storage
Storage solutions were the pioneering use-cases of cloud services, and they are the first thing that usually comes to mind when you talk about cloud solutions. Dropbox is perhaps one of the oldest and most widely recognized SaaS storage applications that were developed, with many new companies and services now available that offering similar services, and in many cases, integrating additional services with storage, such as document editing, spreadsheets, voice memos, etc.
This is the case, for example, with Google Drive, which was developed sometime later but has managed to combine a storage function very well with word processing features, spreadsheets, presentations, hangout rooms, and more that users can access with nothing more than a simple internet connection.
The same applies to Apple with its iCloud service, which was also born as a mere virtual hard disk that was polished and improved with a wide range of extra features over the years, such as synchronization between multiple devices and the integration of others. Apple applications such as Email, Calendar, Contacts, Pages, Numbers, and Keynote are all examples of additional SaaS applications that were built with, on top of, or alongside iCloud.
There are many niche storage providers as well that cater to special groups. For example, SpiderOak is one solution that differentiates itself from others by being very privacy-focused, and OwnCloud is another highly customizable service that allows you to use your own servers to install the software package, and it offers a storage solution in the cloud, but it managed from “home.” The downside in this regard is that it requires more technical knowledge to set it up.
Word Processing, Spreadsheets, and Presentations
These services try to emulate word processing software, spreadsheets, or presentations and are also generating a great deal of business, although in this case, most successful solutions in this niche come from heavy hitters such as Google, Apple, and Microsoft.
Google Drive, apart from offering storage, integrates text-editing functions, spreadsheets, and presentation software as an integrated pack. This allows you to work online with word documents that you have stored in Drive, even synchronizing your work in real-time with other users.
Apple does something similar with Apple iCloud by integrating online variants of its Pages, Numbers, and Keynote applications so you can work online with your files from any location.
Also, Microsoft has adopted a distribution model focused on the services in MS Office to lock-in lifetime users. Based on this strategy, Microsoft Office 365 and Microsoft Office Online were born. In these SaaS offerings, you pay a license fee and in return, you get the full functionalities of Office, but from via your web browser.
Also, LibreOffice, a free alternative to Microsoft’s office suite, seems to be looking to opt for a SaaS-based distribution model, which would offer the same applications as in the traditional MS version, but from the web. Also, as an interesting point for those who are more sensitive to privacy, it could be installed on the users’ own servers, as is the case with OwnCloud.
In the field of instant messaging, we also already have several examples of online solutions that offer the same basic functionalities of applications such as Skype, but in the form of a service. Some examples are Google Hangouts, which is part of the larger ecosystem of Google services, and that, apart from text messages, allows video chats with several people simultaneously. Other examples include WhatsApp and Telegram.
And if we look at things within a business context, we also have services such as WebEx from Cisco, or GoToMeeting from Citrix, which offer online video conferencing and instant messaging functions and are distributed under a SaaS model, although both have a web client to install locally to provide an interface.
The WordPress blogging service in its self-hosted version (not WordPress which can be installed as local software), just as Blogger, Tumblr, and other online blog creation pages provide SaaS functionalities.
With some providers, the company’s categorization as a SaaS solution may not be so clear, but the case of WordPress is very clear since, on the one hand, we have WordPress as a software package, which we can download from the web at www.wordpress.org and install manually using a hosting provider, or we can go for the self- hosted version of WordPress, which can be found at www.wordpress.com.
Pros and Cons
The main advantage of SaaS-based software models is the ability to obtain specific functionalities of all types of software without the need to install and run any application locally, which allows access from any operating system, device, or physical location with the only requirement being the need for an internet connection.
Also, all software maintenance, in the form of updates, version upgrades, support, etc. is the responsibility of the service provider, and users can completely ignore these tasks and dedicate themselves to doing what they need to for their business.
The main disadvantages arise from the fact that we do not own the software as if it was a product that we bought and then can keep forever. Instead, to enjoy the functionalities that the software offers, we must pay usage fees, renewal/subscription fees, and in some cases, paying for airtime.
The moment a product is sold to us as a service, users lose control of the product, and the same advantages in terms of eliminating the need for maintenance can turn into disadvantages for many.
Also, users lose sight of the concept of software as such, and we only see a service that has certain characteristics and completes certain functions, but we do not see the product behind it, nor can we configure or modify it to our liking.
PaaS: Platform as a Service
What Is PaaS?
PaaS offers platforms as services. Applications such as databases, middleware, development tools, business intelligence services, etc. can be launched on these platforms.
This type of service is ideal for developers who just want to focus on the implementation and administration of their applications. By not having to worry about hardware and software resources (operating systems), they can improve their efficiency and focus only on the work that interests them.
PaaS can be difficult to understand because the term “platform” can be confused with software. A platform as used here is software that allows you to develop applications.
Google App Engine and Bungee Connect are two examples of platforms as services. Here is how they work.
· Google App Engine: This Google service is focused on allowing the user to publish web applications online without having to worry about the infrastructure behind it or how to do it. Thus, the client focuses only on the construction and configuration of their applications, with Google taking charge of providing the necessary resources for publishing. Google App Engine has a load leveler that provides the resources needed by your application so there is no need to worry about scalability. It runs on Windows, Linux, and OS X platforms, and it supports applications in Python, Java, PHP, and Go.
· Bungee Connect: This is one of the first PaaS services that allowed the deployment of applications in the cloud without users having to worry about infrastructure. With the Bungee Connect service, you get a stable environment for the development, testing, and execution of web applications.
PaaS is, in a way, the next logical step with respect to SaaS solutions, and it represents the intermediate point between SaaS and IaaS, which we will discuss below. In PaaS solutions, the service provider offers the platform or the operating system in the form of a service and is in charge of managing it for you.
If SaaS solutions have individual users as their main target, PaaS solutions are geared towards use by application developers and companies who in many cases will use them as a platform to develop applications or offer SaaS solutions of their own.
The applications uploaded to a PaaS provider can consume a limited amount of resources for free, and from there the user or application can opt for a series of paid resource packages in the form of higher quotas or resource slabs, depending on the additional resources you need.
Pros and Cons
The main advantage of PaaS is the option of having a platform adapted, managed, and maintained by an external provider that allows users to completely disregard these types of tasks and to focus on what is important for them.
The disadvantages of PaaS again derive from dependence on a service provider. In PaaS, this basically translates into the limitations of the platform itself chosen by the service provider, which can greatly condition or limit the developments you may want to carry out.
IaaS: Infrastructure as a Service
What Is IaaS?
When we talk about IaaS, we are talking about infrastructure as a service. In an IaaS setup, companies contract hardware infrastructure to a third party in exchange for a fee or rent. “Hiring” or renting this hardware allows you to choose the processing capacity (processors), memory (RAM), and storage (hard disk space) that you need. IaaS also offers virtualization services such as virtual machines, firewalls, backup systems, and load balancers, based on the kind of work you do.
IaaS contains the building blocks on which IT in the cloud is built, and it provides the necessary services and frameworks on which other services are built.
Amazon Web Services and Microsoft Azure are two examples of infrastructure as services. Here is how each works.
· Amazon Web Services: Amazon’s cloud service provider, AWS, is a prime example of IaaS. With its central Amazon EC2 service, it allows users to rent virtual servers on which to install their applications. EC2 offers hardware configurations that can be purchased by customers. In these configurations, called instance types, you can choose from a variety of CPUs, RAM, hard disk storage, and network throughput. They also offer other ancillary services, such as contracting firewalls, static IPv4 addresses, and independent virtual networks.
· Microsoft Azure: Microsoft also has an IaaS service called Azure. With Azure, you can request a custom hardware contract in terms of CPU, memory, storage, and network speed. You can then run your business applications on those resources. For example, you can run your own SAP or SharePoint instances without having to worry about the hardware necessary to do so. Microsoft Azure is exemplary in terms of the large number of resources that you can contract out, which makes it ideal for companies with very demanding needs in terms of infrastructure.
IaaS or Infrastructure as a Service is the last logical step in terms of the evolution of cloud service models, and it is a way for companies to provide hardware resources (CPU, RAM, disk storage, network capabilities, etc.) in the form of an online service, so that users, or in this case developers or companies, can build their platforms or software solutions online in the form of PaaS or SaaS solutions.
Thus, in the case of adopting a model based on IaaS, a provider is in charge of the management of the physical resources, and the users are responsible for the platform they run on it and the applications designed or executed on it.
Generally, when we talk about IaaS platforms, we have public cloud solutions in mind in which a third party (Amazon, Microsoft, etc.) is the one that provides (and controls) the infrastructure. Examples of IaaS solutions are Amazon Web Services (AWS), Microsoft Azure, and the VMWare vCloud platform.
Although the names that resonate the most with most people are public cloud platforms, there are also private cloud platforms. For example, Nextcloud is a free software solution that allows you to have your own cloud platform, controlled by you, and it can run on your own infrastructure.
Pros and Cons
The main advantage of IaaS is that these solutions offer hardware resources in the form of a service in a relatively cheap and highly scalable way. This allows for rapid implementations of web services and projects of all kinds, which otherwise would be slower and would likely require a higher upfront investment.
Compared with SaaS and PaaS, IaaS is the service model that offers greater freedom and flexibility to the user, since the only thing that the provider puts in are physical resources, and the user can build custom platforms fully adapted to their needs on those resources.
The main disadvantages again derive from the centralization and control of resources by an external provider, although it is true that in the IaaS model, users have greater freedom because the provider only provides the infrastructure, and the users have more freedom when managing the platform (and the applications that run on it).
Are Cloud Services Safe?
A common question about any service that we use in the cloud, be it in the form of applications, development platforms, or hardware resources, is about the security that the providers guarantee for us and whether these services are more or less secure than traditional solutions.
The truth is that applications, platforms, and hardware resources that are offered in the form of a service through the cloud do not make them any more or less secure than any alternatives. The only difference is that the company that provides the service is in charge of managing certain aspects of security, which we should otherwise do ourselves.
Assuming that a company will always have much more resources and a higher budget to invest in security, in most cases it is quite reasonable to think that, as a general rule, a cloud service should offer better security than standalone services or services that we run, maintain, and secure on our own.
Also, there is the issue of support, management, and maintenance of the solution (whether SaaS, PaaS, or IaaS), something which essential for any business, and this may explain the growth of cloud solutions in many companies in all of their variants. Whether you migrate from traditional Office automation to solutions such as Office 365 or Google Drive, or even migrate part of your infrastructure to the cloud through AWS or Azure, being able to outsource maintenance and support is a key driver for cloud services growth.
As an important point is that we no longer have control of the data we provide these platforms and services, so before using or contracting a cloud service, whether an application such as iCloud or a solution such as AWS, we are required to trust or have some level of certainty that the provider will be responsible and transparent when it comes to security management and data privacy, and this is not always the case.
In the end, as with almost everything, a cloud solution will be more or less secure depending on the interest that the company gives to its product. For the user, a cloud service is in a way like a “black box,” and its success or failure depends largely on the trust between users and the provider. One major leak or hack can be the difference between growing your user base or exiting the market forever.
Differences Between SaaS, PaaS, and IaaS
Now that we have discussed all three variants of these cloud computing services, lets’ review their differences.
Depending on the needs of the company or individual, an IaaS, PaaS, or SaaS model may be more attractive than the alternatives. What you must take into account is that a platform as a service and software as a service still runs on infrastructure as a service, since in both cases, the user outsources everything related to the infrastructure (installation, costs, maintenance, etc.) of his or her service.
The fundamental difference between these three types of platforms comes from the type of maintenance and support offered by the service provider. For example, in an IaaS platform, the user has access to the software installed on the resources he or she rents from the IaaS. This includes its configuration, which is something that users of a SaaS do not have. On the other hand, a PaaS service only has access to the software that forms the development platform to be used, not the hardware itself.
In terms of safety, there are also notable differences. In an IaaS environment, the security of the installed applications rests with the user who must know which version to install and must ensure that it is regularly updated. However, in a SaaS or PaaS environment, the security of the installed applications rests with the service provider, who is responsible for their installation and any updates.
Cloud services are used daily by millions of users. More and more companies not only want their data running in the cloud, but some even want their entire IT environment to run from the cloud. With IaaS, PaaS, and SaaS services, the cloud services needed by each company can be rented out, and the client can focus on their core business competencies, leaving everything else to the service provider.
With these types of services, companies save significantly because they do not have to worry about hardware or virtualization infrastructures (reducing costs in servers, etc.) or maintaining operating systems (licenses, updates, etc.) or even securing the software or platforms that they use (such as versions, compatibilities, etc.) Everything is outsourced, and you only pay for the service itself.
As is clear, cloud computing has a lot more to it than many people realize, and it is already a part of the daily routine and processes of so many people and businesses. It covers everything from the infrastructure and physical resources on which IT services are provisioned, through to the platform and the operating systems that run them and ending with the applications that are offered to the user. The solution you will opt for and the setup you will prefer will depend on your needs and the type of IT work or development that you do, but an understanding of IaaS, PaaS, and SaaS can help you appreciate the different levels of services that are available so that you can choose a deployment that suits your needs.