Every day, we utilized several forms of cloud computing services, both knowingly and unknowingly, over the internet. Some of these include Google Maps, email, and playing online games. These services are kept digitally in some clouds.
Cloud computing services are classified into three types: SaaS, PaaS, and IaaS. Before we get into each of them, let's define cloud computing.
Table of Contents
- What is Cloud Computing?
- Cloud Computing Services
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, and 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 copied business data resides in 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.
- Improve Collaboration: Cloud Computing Application facilitates teamwork by making it possible for anyone to rapidly and easily share data in the cloud via shared storage.
Cloud Computing Services
Cloud Computing Services are provided by cloud services providers in various forms but all of them can be categorised 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 a layer 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 the 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 startups and small companies 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, and development tools to general application
- Should not have 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 Service (AWS) is the first IaaS provider. Some other related IaaS services are Google Cloud Platform, Alibaba Cloud, IBM Cloud, Microsoft Azure, SalesForces, and 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.
Businesses use IaaS for:
Test and Development: Easy to set up and create development environments, test the product and brings it to the market faster.
HPC (High-Performance Computing): Business uses IaaS to design products, simulate test scenarios, improve 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 Difficulties in IaaS
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 is no need to purchase hardware infrastructure and no need to pay for downtime maintenance.
- PaaS can be easily and efficiently Scalable during peak times 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 Drawbacks 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 and also its up to user to secure their login credential, apps, and data hosted on the platform.
When to use PaaS
Technical Difficulties in 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 for 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 has 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,
assigning views according to the role, altering 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, and 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 want to use readymade software and application then you can use SaaS.
Technical Difficulties in 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 individual components that make up an application. In FaaS, the developer deploys single components or parts 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 individual 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, and 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 log in 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.