Cloud Based Services
Cloud Computing can be defined as the practice of using a network of remote servers hosted on the Internet to store, manage, and process data, rather than a local server or a personal computer. Companies offering such kinds of cloud computing services are called cloud providers and typically charge for cloud computing services based on usage. Grids and clusters are the foundations for cloud computing.
Types of Cloud Computing
Most cloud computing services fall into five broad categories:
- Software as a service (SaaS)
- Platform as a service (PaaS)
- Infrastructure as a service (IaaS)
- Anything/Everything as a service (XaaS)
- Function as a Service (FaaS)
These are sometimes called the cloud computing stack because they are built on top of one another. Knowing what they are and how they are different, makes it easier to accomplish your goals. These abstraction layers can also be viewed as a layered architecture where services of a higher layer can be composed of services of the underlying layer i.e, SaaS can provide Infrastructure.
Software as a Service(SaaS)
Software-as-a-Service (SaaS) is a way of delivering services and applications over the Internet. Instead of installing and maintaining software, we simply access it via the Internet, freeing ourselves from the complex software and hardware management. It removes the need to install and run applications on our own computers or in the data centers eliminating the expenses of hardware as well as software maintenance.
SaaS provides a complete software solution that you purchase on a pay-as-you-go basis from a cloud service provider. Most SaaS applications can be run directly from a web browser without any downloads or installations required. The SaaS applications are sometimes called Web-based software, on-demand software, or hosted software.
Advantages of SaaS
- Cost-Effective: Pay only for what you use.
- Reduced time: Users can run most SaaS apps directly from their web browser without needing to download and install any software. This reduces the time spent in installation and configuration and can reduce the issues that can get in the way of the software deployment.
- Accessibility: We can Access app data from anywhere.
- Automatic updates: Rather than purchasing new software, customers rely on a SaaS provider to automatically perform the updates.
- Scalability: It allows the users to access the services and features on-demand.
The various companies providing Software as a service are Cloud9 Analytics, Salesforce.com, Cloud Switch, Microsoft Office 365, Big Commerce, Eloqua, dropBox, and Cloud Tran.
Platform as a Service
PaaS is a category of cloud computing that provides a platform and environment to allow developers to build applications and services over the internet. PaaS services are hosted in the cloud and accessed by users simply via their web browser.
A PaaS provider hosts the hardware and software on its own infrastructure. As a result, PaaS frees users from having to install in-house hardware and software to develop or run a new application. Thus, the development and deployment of the application take place independent of the hardware.
The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, or storage, but has control over the deployed applications and possibly configuration settings for the application-hosting environment. To make it simple, take the example of an annual day function, you will have two options either to create a venue or to rent a venue but the function is the same.
Advantages of PaaS:
- Simple and convenient for users: It provides much of the infrastructure and other IT services, which users can access anywhere via a web browser.
- Cost-Effective: It charges for the services provided on a per-use basis thus eliminating the expenses one may have for on-premises hardware and software.
- Efficiently managing the lifecycle: It is designed to support the complete web application lifecycle: building, testing, deploying, managing, and updating.
- Efficiency: It allows for higher-level programming with reduced complexity thus, the overall development of the application can be more effective.
The various companies providing Platform as a service are Amazon Web services Elastic Beanstalk, Salesforce, Windows Azure, Google App Engine, cloud Bess and IBM smart cloud.
Infrastructure as a Service
Infrastructure as a service (IaaS) is a service model that delivers computer infrastructure on an outsourced basis to support various operations. Typically IaaS is a service where infrastructure is provided as outsourcing to enterprises such as networking equipment, devices, database, and web servers.
It is also known as Hardware as a Service (HaaS). IaaS customers pay on a per-user basis, typically by the hour, week, or month. Some providers also charge customers based on the amount of virtual machine space they use.
It simply provides the underlying operating systems, security, networking, and servers for developing such applications, and services, and deploying development tools, databases, etc.
Advantages of IaaS:
- Cost-Effective: Eliminates capital expense and reduces ongoing cost and IaaS customers pay on a per-user basis, typically by the hour, week, or month.
- Website hosting: Running websites using IaaS can be less expensive than traditional web hosting.
- Security: The IaaS Cloud Provider may provide better security than your existing software.
- Maintenance: There is no need to manage the underlying data center or the introduction of new releases of the development or underlying software. This is all handled by the IaaS Cloud Provider.
The various companies providing Infrastructure as a service are Amazon web services, Bluestack, IBM, Openstack, Rackspace, and Vmware.
Anything as a Service
It is also known as Everything as a Service. Most of the cloud service providers nowadays offer anything as a service that is a compilation of all of the above services including some additional services.
Advantages of XaaS: As this is a combined service, so it has all the advantages of every type of cloud service.
Function as a Service :
FaaS is a type of cloud computing service. It provides a platform for its users or customers to develop, compute, run and deploy the code or entire application as functions. It allows the user to entirely develop the code and update it at any time without worrying about the maintenance of the underlying infrastructure. The developed code can be executed with response to the specific event. It is also as same as PaaS.
FaaS is an event-driven execution model. It is implemented in the serverless container. When the application is developed completely, the user will now trigger the event to execute the code. Now, the triggered event makes response and activates the servers to execute it. The servers are nothing but the Linux servers or any other servers which is managed by the vendor completely. Customer does not have clue about any servers which is why they do not need to maintain the server hence it is serverless architecture.
Both PaaS and FaaS are providing the same functionality but there is still some differentiation in terms of Scalability and Cost.
FaaS, provides auto-scaling up and scaling down depending upon the demand. PaaS also provides scalability but here users have to configure the scaling parameter depending upon the demand.
In FaaS, users only have to pay for the number of execution time happened. In PaaS, users have to pay for the amount based on pay-as-you-go price regardless of how much or less they use.
Advantages of FaaS :
- Highly Scalable: Auto scaling is done by the provider depending upon the demand.
- Cost-Effective: Pay only for the number of events executed.
- Code Simplification: FaaS allows the users to upload the entire application all at once. It allows you to write code for independent functions or similar to those functions.
- Maintenance of code is enough and no need to worry about the servers.
- Functions can be written in any programming language.
- Less control over the system.
The various companies providing Function as a Service are Amazon Web Services – Firecracker, Google – Kubernetes, Oracle – Fn, Apache OpenWhisk – IBM, OpenFaaS,