Today we are going to talk about Cloud Computing. It is the practice of using outside servers that are connected to the Internet for storing data, managing the data, information processing, and other tasks. The most popular types of Cloud Computing are SaaS, PaaS, and IaaS. Let’s see the differences.
When you have your own server hosted on-site, you will be responsible for all of the following categories:
- Networking. Here you will need the Internet, routers, and all the connection between the devices.
- Storage. Storage for hosting data.
- Servers. The computers that will offer services.
- Virtualization. A way to offer virtual machines.
- OS. An operating system like Windows, Linux, etc.
- Middleware. Drivers for devices, APIs, application services, etc.
- Runtime. – frameworks and environments for developers and services needed for other applications.
- Data. – data storing and processing.
- Application. Software that will be used for the needs of the company.
We need this information for the basis of our comparison of SaaS vs PaaS vs IaaS and to understand better the differences.
SaaS is a software as a service. When we talk about SaaS, the client gets directly a software to use. He or she can’t modify the software and gets features based on the plan that he or she has chosen.
The SaaS provider is responsible for all of the previously mentioned categories – networking, storage, servers, virtualization, OS, middleware, runtime, data, and application. The provider must take care of bug fixing, errors, software updates, and adding new features.
Advantages: easy to start, easy to use, no maintenance needed.
Disadvantages: zero control over the software and its development, vendor lock-in that makes it harder to migrate to another,
Typical examples of SaaS are Dropbox, Microsoft 360, Skype, etc.
PaaS is a platform as a service. PaaS is a good choice for development. It offers everything already up and running, including networking, storage, servers, virtualization, OS, middleware, and runtime.
The developers can jump to the action and start writing code right away. The client will need to take care of the data and the applications that will be needed.
Advantages: almost everything is pre-installed, so you can choose what applications do you need and start using them. You don’t take care of the infrastructure or OS.
Disadvantages: the storage is still the provider’s responsibility, so it can’t be 100% secured, which might be more expensive than an IaaS solution.
Typical examples of PaaS are Microsoft Azure, Amazon AWS, Google Cloud, etc.
IaaS is infrastructure as a service. In the case of IaaS, you will get an open canvas. The IaaS provider will take care of the infrastructural part – networking, storage, servers, and virtualization.
The client takes care of OS, middleware, runtime, data, and applications.
It is a great next step when you want to stop worrying about the on-premise server and go to the cloud.
Advantages: you forget to worry about infrastructural problems of your server, pay-as-you-go model, cheaper to start than a local server.
Disadvantages: You still have many things to take care of, a lot more than in the case of PaaS or SaaS. You will need to maintain the system and the software.
Typical examples of IaaS are Rackspace, Amazon AWS, Microsoft Azure, Google Cloud, and many smaller providers.
SaaS is the easiest to manage from the client’s perspective. PaaS is a great option for creating development servers, use and create applications. IaaS is the most basic cloud approach, but it has the highest freedom for the client.