Here, we are going to discuss about different cloud computing models, and how they are available and help in fulfilling the industry needs.
We will be looking into following models of cloud services:
- Software as a Service
- Platform as a Service
- Infrastructure as a Service
We will also see different use cases for each model.
Software as a Service (SaaS)
Software as a Service is a software delivery and licensing model in which software is hosted in the cloud and software is licensed on subscription basis. Let’s discuss it in detail. We can have some operating system like Windows or Linux hosted in cloud and host our software on it in the cloud. But many people in the industry understood a better concept of delivering a software and charging for its usage. It is like a Xerox photocopy machine, when you have to get a photocopy of your document, you don’t have to buy the whole Xerox photocopy machine and set it up, but you can go to some person who bought the photocopy machine and charges you for using it in his store. Similarly someone has setup the software on the cloud and made it accessible over the internet and charges for it’s usage. The SaaS apps are typically access by the user using a thin client (mostly web browser). Other example of thin clients are like remote terminal or remote desktop, a Citrix client etc.
Many of the business applications are being delivered over the internet as SaaS software. These includes learning management systems like Moodle, office productivity suite like Microsoft office 365, Google G Suite and Zoho, Collaboration software like Zoom and slack, Accounting an Finance software, CRM which is Customer Relationship Management and ERP known as Enterprise Resource Planning software, content management systems for easy content building and messaging software like emails server clients, chat software etc.
Platform as a Service (PaaS)
Platform as a Service includes pre-build components that a developer can use when developing a cloud application. The customer don’t have to install development software and get IT support to get update etcetera performed. So the purpose of platform as a service is to allow the developer to focus on the development of business functions. So some examples of platform as a service are force.com that’s from salesforce and Google App Engine, flutter, firebase etc.
There are two type of Platform as a Service. One is Infrastructure service. Node configuration means that I spin up new machines to reach larger and larger users as platform as a service provider. Load balancing to distribute the load of users on different machines. Logging the activities on servers which are capable of processing them effectively. Storing data in databases for better query and analytics. Scheduling some tasks which need to be performed on routine basis. Monitoring all activities and servers like observability service. Storage and backup services.
Other type is Application services which are really for the development of application. Things like authentication, how user tell who they are, this include two factor and multi-factor authentication, single sign on etc. One must not recreate the wheel and create whole authentication system, but use the services provided as Platform as a service (in this case Authentication as a service). and authorization. Authorization is what task one can perform when authorized, again one don’t need to recreate the whole authorization mechanism. Rule engine is designed to handle changes without changing the source code. Workflow mean how data travels from different users with different authorization. There are many different workflows in different domains. Like a shipment moves from multiple hand before reaching to customer need a full workflow. Bulk email for advertising or marketing and other tasks. Importing exporting data, tracking the activity. Customizations to some objects and reusing them and creating new objects. Processing data for analytics and other purposes. Customizing user interface, display reports, create reports, dashboard development, dashboard display, storyboard display. mobile application etc.
We may have different regions for the services. Partner portals is not for customers but for the people we work with. Like you many sell products to some distributors which then can sell it to retailers. Another example is like some software firm hiring contract workers from some HR firm. Customer portals are portals which are used customer to see how the services are being performed and they can comment and review product and services, submit complaints etc. Anonymous websites are where we don’t login and we are just viewing the data and we don’t know the user. Platform as a service is focused on developers as this allow them to use the services in order to prevent themselves from reinventing everything which is not required.
Infrastructure as a Service
Infrastructure as a service include virtualization services that allow an operating system to run in a cloud. So all the software in cloud developed using Platform as a service and delivered as Software as a service but we use to buy the hardware to run those services. So, infrastructure as a services is designed to free the user from the purchase of hardware and allow the hardware upgrade easily. Some examples of infrastructure as a service are Google cloud, AWS EC2, Microsoft Azure, Digital Ocean, Rackspace etc. There are hundreds of Infrastructure as a service providers. Essentially you are getting the virutal machine but you are required to manage the operating system.
There are many advantages of using Infrastructure as a service. First of all it allows one to reduce the cost of IT services required for managing a data center. The cloud can easily scale up and scale down according to the requirements and hence unexpected load to server can be handled with ease. The cloud solution allow the server to be available 24×7 and hence it reduces the downtime. Moreover when we need a server we just have to go to the IaaS portal and request a new machine and turn it on, there is no need to go to the data center and manage the server room, this reduces the overhead of maintenance of server room and networking.
Software as a service allows the software to reach the customer effectively
Platform as a service allows the developer to develop with agility, ease and better reusability
Infrastructure as a service frees the users from overhead of maintaining the infrastructure required.