We knowingly and unknowingly used different types of cloud computing services day by day via the internet. Some of them are Google Maps, mail, playing online games, etc. These services are stored in digital form in some clouds. Cloud Computing Services comes in mainly in 3 categories: SaaS, PaaS, IaaS. Before discussing each of them let's know what is cloud computing?
What is Cloud Computing?
Cloud computing is the delivery of various on-demand services like storage, server, database, application, development tools, analytics, networking, and intelligence through the internet. These services are hosted in data centers in remote locations by cloud service providers. Cloud providers do all the maintenance of the services and they just provide abstraction forms of their services.
There is various form of computing like desktop computing, client-server computing, cluster computing, grid computing, cloud computing. Among them, cloud computing has become much popular.
Some of the large cloud service providers are:
Benefits of Using Cloud Computing Services
Some of the benefits of using cloud computing services are :
- Disaster Recovery: If any disaster happens then the business can be recovered easily because copy business data resides on many clusters all over the world. So, if one gets damaged then can be recovered from another.
- Availability: Cloud Computing Services are 24/7 available.
- Scalability: Cloud Computing Services can be scalable according to your choice.
- Working From Anywhere: You can use cloud services from anywhere.
- Automatic Software Updates: Software products that you use in the cloud are automatically updated without intervening with the user.
Cloud Computing Services
Cloud Computing Services are provided by cloud services providers in various forms but all of them can be categories into 3 types.
- SaaS (Software as a Service)
- PaaS (Platform as a Service)
- IaaS (Infrastructure as a Service)
It is also known as a cloud computing stack and each of them is layers in a stack. Each of them has a specialization. User Abstraction increases from IaaS to PaaS and SaaS.
You can get some cloud computing services free of cost but many of them are used for business and charge you and you can choose any of these services according to your needs.
Now let's discuss each of Cloud Computing Services in-depth:
IaaS (Infrastucture as a Service)
In IaaS, cloud service providers provide servers, virtual machines, storage space, firewalls, VLAN, load balancers, network, Os, and connection in rent to the client on-demand basis via the Internet. It is one of the most flexible cloud services available.
Benefits of IaaS:
- Good for startup and small company that required Infrastructure but cannot purchase it. So, here those company uses IaaS services.
- Clients can customize resources as per their needs. They can install any software from OS, middleware, development tools to general application
- Should not has to worry about the burdens of managing infrastructures, driver updates, and security patches.
- Cloud provides disaster recovery facilities as well and provides high uptime facilities.
Amazon Web Sevice(AWS) is the first IaaS provider. Some other related IaaS services Google Cloud Platform, Alibaba Cloud, IBM Cloud, Microsoft Azure, SalesForces, Cisco MetaCloud.
When to use IaaS
When you have a platform(like os, middleware, web servers, etc) and application/software ready then if you want infrastructure like Network, server, storage, firewalls, etc then you can use IaaS.
Business use IaaS for:
Test and Development:Easy to set up and create development environments, test the product and brings to the market faster.
HPC (High-Performance Computing): Business uses IaaS to design products, simulate test scenarios, improved products and reduce production costs.
Disaster Recovery and Backup
Big Data Analysis: For business, it is highly useful to analyze a large variety of complex data by performing complex calculations at high speed.
Technical knowledge is required. System and Network Administrators, programmers are required to configure infrastructure, develop and deploy the software, and migrate the data.
PaaS (Platform as a Service)
In PaaS, cloud service providers provide infrastructure(IaaS), Operating systems, middleware, development tools, application testing environment, other runtime environments( like Java Runtime), webserver (like IIS, Nginx, tomcat), database management tools, version management tools, in rent to the client on-demand basis via the Internet.
It is mostly useful for developers who are searching for a platform for building software products.
Benefits of PaaS
- Saves time by not spending time in setup and maintaining software core tech stack.
- Speed up the software development process because they provide a ready custom development platform for doing productivity things.
- Better security than on-premises because software updates and security issues related to software are fixed by PaaS service providers themselves.
- Flexibility in software development as can create the software from anywhere as you just need to login and start your work.
- PaaS is cost-effective as there no need to purchase hardware infrastructure and no need to pay for downtime maintenance.
- PaaS can be easily and efficiently Scalable during peak time because PaaS services are built on virtualization.
Some of the popular PaaS services are: AWS Elastic Beanstalk, Windows Azure, Heroku, Openshift, Apprenda, Google App Engine, Magento Commerce Cloud for ecommerce,Force.com
Challenges and Drawback of PaaS
- Vendor Control: PaaS services are completely in the control of thirty parties.
- Risk of Locking: Clients can be locked in a language, interface, or software that they do not need anymore.
- Data Security: PaaS relies on a shared security model. PaaS provides security to its resources from their side also its upto user to secure their login credential, apps, and data hosted on the platform.
When to use PaaS
You will get just a basic setup but Technical knowledge is also required. Programmers are required to develop and deploy the software and migrate the data.
SaaS (Software as a Service)
In SaaS, cloud service providers provide applications and software in rent, and the client has to pay on the basis of uses. The client should not have to worry about infrastructure(hardware and network) used, platform(OS, middleware) used, etc and the client just have to log in to the software/application via the internet and use the service. This is one of the most popular cloud computing services and we are using it on a day to day basis.
Benefits of SaaS
- No need to install software to use the services.
- Better Configuration and Customization of Software: It may include changing themes, changing logo,
assigned views according to role, alter data and fields, and many more.
- Updates and Patches: SaaS applications are updated to the latest security and patch the bug. The vendor updates their software centrally and does not interfere with customers.
- Deploying, Scaling, and Upgrading the application more quickly.
Some of the popular SaaS services are Google Apps(Gmail, google drive, google talk), Cisco WebEx, Office Tools(excel, word, PowerPoint, ...), Dynamics CRM Online, Oracle ERP, Salesforce, MailChimp, Snowflake ConstantConnect, Slack, JIRA, Dropbox, BigCommerce, ZenDesk, Heroku, OpenShift, Quickbooks, SAP, HubSpot, Amazon, Uber, Spotify, Airbnb, etc.
From the figure below from the Synergy Research Group, we can clearly see that Microsoft is a leading Enterprise SaaS provider.
Main Software like Customer Resource Management(CRM) software, Enterprise Resource Planning(ERP) software, Accounting Software, Management Information System(MIS) software, CAD software, Human Resource Management(HRM) software is included as SaaS software.
Differences between Traditional on-premise Software and SaaS are as follow
- Traditional Software mostly has to purchase one time. Whereas mostly SaaS is subscription-based.
- In traditional software, the client has to pay additional money for any extensions and updates whereas in SaaS it is also
When to use SaaS
If you are a small business client and do not want to build your own platform and infrastructure and just wants to use readymade software and application then you can use SaaS.
No need for any technicalities. Cloud consultants will help you to select, customize, and migrate the data.
FaaS (Function as a Service)
Functions act as individuals components that make up an application. In FaaS, the developer deploys single components or part of applications as a function in a separate server, and this function in the server gets called when the user requests the components. FaaS is typically used for building microservices architecture.
In PaaS, the developer deploys an entire application on the server. And require at least one server running at all times. It focuses on Monolith architecture. In FaaS, the server runs only when the user calls the function which is the main advantage of FaaS over PaaS.
Also, scaling individuals components/functions is much easier in FaaS. The whole application does not get affected if a function gets crashes or goes down.
Big FaaS Providers are AWS, Azure, Google Cloud.
Use Case: AWS Lambda is used by Netflix to handle their AWS infrastructure using event-based systems.
Frequently Asked Questions:
Ans: Yes, Netflix follows the SaaS Model. Here, the user has to login to the Netflix account (websites or mobile app) and watch licensed movies and television series on a subscription basis.
Ans: Comparatively IaaS is expensive among cloud computing services. Cost reduces as you go up in cloud stack ie. SaaS is cheaper than PaaS, and PaaS is cheaper than IaaS
Ans: Gmail is one of the Google email services. It is SaaS because if we use Gmail we aren't worrying about hosting an email server as we have not created a Gmail server. We just access the service using a browser as a client.
Ans: Microsoft Azure provides both IaaS and PaaS services.