So much SaaS..
As I mentioned in the previous article, cloud services are unknowingly or knowingly becoming an integral part of our life. You must have heard these three short forms written almost on every introduction of a particular service of AWS, Microsoft Azure, or the most famous GCP: IaaS, PaaS, and SaaS.
These are 3 major types of cloud service models. The breakdown of the short forms being: IaaS (Infrastructure as a service), PaaS (Platform as a Service) and SaaS (Software as a Service).
“A picture is worth a thousand words” they say, but I want to rephrase it and say “A pizza is worth a thousand words”. You’ll agree with me when you see the analogy diagram given below.
Traditional On-Premises Deployment is like making the whole pizza at home using your kitchen, gas, oven, pizza dough, toppings, and cooking the pizza. You don’t rent anything. Similarly in IT, companies that build the infrastructure from scratch are called On-Premises Deployed. In the case of IaaS, you get the well equipped Kitchen, Gas, and Oven but have to make the pizza dough, toppings, and cook on your own. In the case of PaaS, we get our pizza platform that is the dough, rest all we simply add and then cook. SaaS is basically Dominoes, Pizza Hut, Papa Jones, etc. who are popular for Pizza-as-as Service who gives you a cheesy pizza with no hassle or bustle.
Continuing with this really interesting analogy, consider that the pizza base is our example given above. Let the toppings be the technical terms that we are supposed to be aware of regarding the models. Consider the diagram given below taken from a website:
Starting from the bottom of the diagram is the Physical Layer that comprises the Networking, Storage, and Servers i.e. all the hardware that can be physically controlled. Next Layer is the Infrastructure Layer that contains the virtualized servers, dockers, containers etc. Then comes the Platform Layer that includes Operating System (OS), Middleware, Runtime, and Data. Finally the Application Layer helps the end-user interaction with the whole stack directly.
So, what is IaaS? It is a type of service that provides virtualized computing resources over the internet. These resources include hardware, software, servers, storage, and other components. Some important characteristics of IaaS are: Scalable if required, good for dynamic workloads, desktop virtualization, cost-effective(pay as you go model), policy-based services. Many IT firms prefer IaaS as they would like to have the control over the other layers for mostly security purposes. Some examples of IaaS:
- AWS EC2 (Elastic Compute) provides a scalable infrastructure for the organizations that want to host cloud-based applications. They provide virtual servers and the users only pay for the usage, hence cutting the cost to a great level.
- OpenStack is a similar platform that provides with the same.
- Google Compute Engine (GCE), a famous IaaS service that provides Virtual Machines that are hosted on Google’s infrastructure. Similarly Kubernetes engine of GCE provides Docker containers as well.
When the vendor provides Platform Layer along with Infrastructure Layer it is PaaS. It serves as a platform for the development or deployment of your code to create a cloud-based applications. Important characteristics of PaaS are: build and deployment tools, integration with other components like databases, services, libraries etc., multi-tenancy (many users can use the platform at the same time), logging, debugging, management interfaces and/or API. In the crowd of people when I will say PaaS, developers are definitely going to cheer, as they form the major users of any PaaS. Some relatable examples can be:
- Google Colab, platforms for the data science or let’s just say Python enthusiasts.
- Google App Engine is a well known PaaS for building web applications and mobile backend using the preconfigured available runtimes, each of which has a set of libraries included as well.
Finally, when a third party provides everything from Networking to Storage is the SaaS. SaaS is a very famous delivery model for cloud applications. It ensures delivery of software in hosted form which can be accessed by users through the internet. The main features of this model are Configurability, Scalability, easier administration, compatibility, and global accessibility. Major examples are Gmail, Google Docs, Dropbox, Salesforce, etc.
But, these models aren’t just limited to these. Wait, there are more? Yeah, even I thought these were the only three types until I came across a beautiful article (Mentioned in the reference below).
Storage as a Service (SAAS): It is a business model in which a large company rents space in their storage infrastructure to a smaller company or individual, for eg. GCP Platform. GCP provides various storage services according to the motive like Cloud Storage, Cloud SQL, BigTable, Datastore, etc. Storage as a Service is generally seen as a good alternative for a small or mid-sized business that lacks the capital budget and/or technical personnel to implement and maintain their storage infrastructure.
Communications as a Service (CAAS): Communications as a Service (CAAS) is basically outsourcing enterprise communications solution that can be leased from a single vendor. This vendor is responsible for the hardware and software provided. It is usually a pay-as-you-go model. For example Google Cloud Pub/Sub is a fully managed messaging service for sending messages between different applications.
There’s also Network as a Service (NAAS): It is a framework that integrates current cloud computing offerings with direct, yet secure, client access to the network infrastructure. Clients can access computing resources by collocating with switches and routers.
Lastly, we have, Monitoring-as-a-service (MAAS): It is a model that facilitates the deployment of monitoring functionalities for various other services and applications within the cloud. For example, tracking states of applications, networks, instances etc. and also frequent health checks over the applications.
We use so many cloud services in our daily propaganda like for example, I am an engineering student hence I frequently use my Gmail account to check emails from university or applications like Google apps, social media apps, etc. Surprisingly it is just one type of a service model. i.e. SaaS, thus justifying my pun intended title.
References: (Tech enthusiasts! Do give it a read)