Iaas Saas Paas Details

Download as pdf or txt
Download as pdf or txt
You are on page 1of 33

MODULE-3

WORKING WITH CLOUD

INTRODUCTION TO INFRASTRUCTURE AS A SERVICE

IaaS (Infrastructure as a Service)

IaaS (Infrastructure As A Service) is one of the fundamental service model of cloud computing
alongside PaaS( Platform as a Service). It provides access to computing resources in a
virtualized environment “the cloud” on internet. It provides computing infrastructure like
virtual server space, network connections, bandwidth, load balancers and IP addresses. The
pool of hardware resource is extracted from multiple servers and networks usually distributed
across numerous data centers. This provides redundancy and reliability to IaaS.

IaaS(Infrastructure as a service) is a complete package for computing. For small scale


businesses who are looking for cutting cost on IT infrastructure, IaaS is one of the solutions.
Annually a lot of money is spent in maintenance and buying new components like hard-drives,
network connections, external storage device etc. which a business owner could have saved
for other expenses by using IaaS.

Iaas is also known as Hardware as a Service (HaaS). It is one of the layers of the cloud
computing platform. It allows customers to outsource their IT infrastructures such as servers,
networking, processing, storage, virtual machines, and other resources. Customers access
these resources on the Internet using a pay-as-per use model.

In traditional hosting services, IT infrastructure was rented out for a specific period of time,
with pre-determined hardware configuration. The client paid for the configuration and time,
regardless of the actual use. With the help of the IaaS cloud computing platform layer, clients
can dynamically scale the configuration to meet changing requirements and are billed only for
the services actually used.

IaaS cloud computing platform layer eliminates the need for every organization to maintain
the IT infrastructure.

IaaS is offered in three models: public, private, and hybrid cloud. The private cloud implies that
the infrastructure resides at the customer-premise. In the case of public cloud, it is located at
the cloud computing platform vendor's data center, and the hybrid cloud is a combination of
the two in which the customer selects the best of both public cloud or private cloud.

Key Characteristics of Infrastructure-as-a-Service

IaaS offers a flexible and dynamic solution for IT organizations or software developers that
wish to address their IT infrastructure needs with a cloud-based outsourcing model.
Organizations seeking cloud-based solutions should be aware of these five important
characteristics associated with the IaaS outsourcing and pricing model:

• Resources-as-a-service - The cloud service model is based on the concept of resources-as-a-


service. As an alternative to spending money on the up-front equipment costs associated with
creating and managing a server room or data center, the cloud service model allows
organizations to access and implement IT infrastructure with a subscription-based payment
model that's more affordable.
• Pay-as-you-go Pricing Model - IaaS services are provided on an on-demand basis and billed on
a pay-as-you-go basis, making them a cost-efficient option for smaller organizations that can
only afford to pay for computing resources that they use. An IaaS provider might bill according
to the number of virtualization instances that are created, or based on the quantity of data
stored. Some cloud service providers may bill extra for specified managerial services.
• Scalable Services - The ability to quickly and easily scale service is one of the major benefits of
the IaaS model. Cloud service providers maintain data centers with large volumes of servers
and data storage available, which can be apportioned to a customer upon request. This
significantly cheapens and simplifies the process of scaling up IT infrastructure for subscribers
to IaaS services compared to organizations that deploy IT infrastructure in an on-premise data
center.
• Automated Administrative Tasks - IT organizations that manage data centers and hardware
infrastructure in the on-premise model are responsible for routine updates, patches, and
maintenance activities that can affect the availability of hardware resources and the software
applications that depend on them. In contrast, IaaS service providers handle upgrades and
maintenance to their servers without compromising infrastructure availability for customers.
• Platform Virtualization - Platform virtualization refers to the creation of a virtual machine that
acts as a logical abstraction of a hardware platform. The main purpose of virtualization is to
divide the resources of a mainframe computer between different functions and applications
and to segment those environments from each other for operational or testing purposes.
Platform virtualization enables IaaS subscribers to deploy virtualized computing instances as
needed to support software development and other tasks.

IaaS provider provides the following services -

1. Compute: Computing as a Service includes virtual central processing units and virtual main
memory for the Vms that is provisioned to the end- users.
2. Storage: IaaS provider provides back-end storage for storing files.
3. Network: Network as a Service (NaaS) provides networking components such as routers,
switches, and bridges for the Vms.
4. Load balancers: It provides load balancing capability at the infrastructure layer.
aS Vendor Iaas Solution Details

azon Web Services


Elastic, Elastic Compute Cloud (EC2) MapReduce,
TheRoute
cloud computing platform pioneer,
53, Virtual Private Cloud, etc. Amazon offers auto scaling, cloud
monitoring, and load balancing features
as part of its portfolio.

tmagic Solutions Netmagic IaaS Cloud Netmagic runs from data centers in
Mumbai, Chennai, and Bangalore, and a
virtual data center in the United States.
Plans are underway to extend services to
West Asia.

kspace Cloud servers, cloud files, cloud sites, etc. The cloud computing platform vendor
focuses primarily on enterprise-level
hosting services.

iance Communications
Reliance Internet Data Center RIDC supports both traditional hosting
and cloud services, with data centers in
Mumbai, Bangalore, Hyderabad, and
Chennai. The cloud services offered by
RIDC include IaaS and SaaS.

Technologies Sify IaaS Sify's cloud computing platform is


powered by HP's converged infrastruct
ure. The vendor offers all three types
of cloud services: IaaS, PaaS, and
SaaS.

a Communications
InstaCompute InstaCompute is Tata Communications
' IaaS offering. InstaCompute data centers
Singapore, with operations in both countrie

Use Cases for Infrastructure-as-a-Service (IaaS)

Software Testing and Development

The availability of virtual machines makes it easy for software development teams to quickly
initialize and dismantle test and development environments with desired characteristics.
Streamlined testing enables new software development strategies such as continuous delivery
and deployment, and helps teams bring their product to market faster.

Web-based Application Deployment

IaaS infrastructure is ideal for hosting and supporting web-based applications and includes the
capability to increase available resources to support the application during periods of higher-
than-normal demand.

Big Data Analysis

Organizations that wish to analyze large data sets require a huge amount of computing power.
IaaS provides a budget-friendly option for organizations that need to recruit large volumes of
computing power for data mining and analysis purposes.

Conceptual model of infrastructure as a service:-


Designing network and cloud infrastructure
The hierarchical network model is proven to be a good model for designing the network
infrastructure for educational clouds. This model divides the network in core, distribution, and
access layers, where each layer performs a specific function. The advantages of using the
hierarchical model are numerous. The principle of modularity simplifies the process of
designing the network. Testing and troubleshooting are easier, as well as network
maintenance. More details on the design of hierarchical network model can be found in.
The hierarchical network model allows realization of a part of the network infrastructure
within a private cloud. The cloud network infrastructure includes parts of distribution and
access layers. The concept of virtual local area networks (VLAN) is used, since within the cloud
infrastructure it is important to isolate network traffic for each tenant. All servers are
connected to access ports within the same VLAN, so the communication between servers and
virtual instances flows within the same network . The usage of VLANs enables a simple,
flexible, and inexpensive way to administer the network; it provides a segmentation of virtual
servers, and secures isolated network traffic between instances .In addition, multiple VLANs
can be created for each instance . This approach allows flexibility in the development of cloud
e-learning services, because students can be provided with network, infrastructure,
development platforms, and software as a service, according to the specifics of each course.
The organization of the networksegment of the cloud infrastructure is shown in Figure . After
setting up the network infrastructure, the main issue is to enable an efficient and
comprehensive management of the network resources. Considering the heterogeneity of e-
learning systems’ components and a need for delivering resources and services on demand,
the idea was to find and customize a tool that fulfils all the mentioned requirements.
OpenStack is an open source cloud computing platform for public and private clouds primarily
focused on Infrastructure as a service . It provides software, control panels, and APIs required
to orchestrate a cloud, including running instances, managing networks,
and controlling access. The communication of OpenStack services is realized through
public APIs. The main features of the OpenStack include: multi-tenancy, massive scalability,
multiple network models, pluggable authentication, block storage support, control panel,
hypervisor support.
OpenStack Networking adds a layer of virtualized network services. This gives tenants the
capability for designing their own, virtual networks. Neutron, OpenStack project that provides
networking as a service, allows users to create multiple tenant networks . A single open-switch
bridge can be utilized by multiple tenant networks using different VLAN IDs, allowing
instances to communicate with other instances across the environment. Neutron has an API
extension to allow administrators and tenants to create routers that connect to L2 networks.
Neutron uses the Linux IP stack and iptables to perform L3 forwarding and NAT. In order to
support multiple routers with potentially overlapping IP addresses, the Linux network
namespaces are used to provide isolated forwarding contexts. Like the DHCP namespaces that
exist for every network defined in Neutron, each router has its own namespace with a name
based on its UUID. Giving each application its own virtual infrastructure, including its own
network, leads to simplified security configurations, and gives developers additional
flexibility. Application owners in this case do not use the shared infrastructure, but instead
each has their own end-to-end infrastructure, isolated from the others, and with few or no
interaction points. The flexibility and automation that comes with virtualization of the
network allows both network administrators and application owners to respond more quickly
to educational needs. For instance, in periods of high usage of the e-learning system (during
labs, tests, upload of assignment, etc.) using OpenStack, an IT administrator can easily reserve
additional computing resources on the infrastructure and add new instances of the needed
server. At the same time, when a new course opens, services and applications tailored to
the course’ requirements can be delivered in real time. In the periods of the reduced
activities, some server instances can easily be removed.

Advantages of IaaS cloud computing layer

There are the following advantages of IaaS computing layer -

1. Shared infrastructure

IaaS allows multiple users to share the same physical infrastructure.

2. Web access to the resources

Iaas allows IT users to access resources over the internet.


3. Pay-as-per-use model

IaaS providers provide services based on the pay-as-per-use basis. The users are required to
pay for what they have used.

4. Focus on the core business

IaaS providers focus on the organization's core business rather than on IT infrastructure.

5. On-demand scalability

On-demand scalability is one of the biggest advantages of IaaS. Using IaaS, users do not worry
about to upgrade software and troubleshoot the issues related to hardware components.

OTHERS

Reduced Costs and Up-front IT Infrastructure Investment

IT organizations can reduce their up-front expenditures on IT infrastructure by choosing a


cloud-based delivery model such as IaaS. Cloud service providers make it easy for organizations
to access business-critical IT infrastructure and scale their operations as needed based on the
current level of demand.

Improved Availability and Continuity

Imagine that your business purchases a server to host a critical business application. When
you need to perform server maintenance, the server has to be taken offline and the application
is made unavailable. In the IaaS model, your cloud service provider can simply host your
application on a separate server while conducting maintenance and your application can be
re-deployed on another server or virtual machine if the current one fails. Cloud service
providers can also mirror your data on additional servers, creating redundancies to prevent
data loss and ensure optimized service availability and business continuity for your
organization.

Reduced IT Labor Overhead

IaaS services reduce the amount of labor and knowledge that organizations need to maintain
their IT infrastructure. In the IaaS model, the cloud service provider manages and updates the
data centers, servers, and other hardware, leaving subscribers free to focus on their core
business activities rather than the never-ending maintenance tasks associated with managing
a data center.

Disadvantages of IaaS cloud computing layer


1. Security

Security is one of the biggest issues in IaaS. Most of the IaaS providers are not able to provide
100% security.

2. Maintenance & Upgrade

Although IaaS service providers maintain the software, but they do not upgrade the software
for some organizations.

3. Interoperability issues

It is difficult to migrate VM from one IaaS provider to the other, so the customers might face
problem related to vendor lock-in.

PLATFORM AS A SERVICE | PAAS


Platform as a Service (PaaS) provides a runtime environment. It allows programmers to easily
create, test, run, and deploy web applications. You can purchase these applications from a
cloud service provider on a pay-as-per use basis and access them using the Internet
connection. In PaaS, back end scalability is managed by the cloud service provider, so end-
users do not need to worry about managing the infrastructure.

PaaS includes infrastructure (servers, storage, and networking) and platform (middleware,
development tools, database management systems, business intelligence, and more) to
support the web application life cycle.

Example: Google App Engine, Force.com, Joyent, Azure.

PaaS providers provide the Programming languages, Application frameworks, Databases, and
Other tools:

1. Programming languages
PaaS providers provide various programming languages for the developers to develop the
applications. Some popular programming languages provided by PaaS providers are Java, PHP,
Ruby, Perl, and Go.

2. Application frameworks

PaaS providers provide application frameworks to easily understand the application


development. Some popular application frameworks provided by PaaS providers are Node.js,
Drupal, Joomla, WordPress, Spring, Play, Rack, and Zend.

3. Databases

PaaS providers provide various databases such as ClearDB, PostgreSQL, MongoDB, and Redis
to communicate with the applications.

4. Other tools

PaaS providers provide various other tools that are required to develop, test, and deploy the
applications.

PaaS architecture

PaaS does not typically replace a business's entire IT infrastructure. Instead, it tends to
incorporate various underlying cloud infrastructure components, such as operating systems,
servers, databases, middleware, networking equipment and storage services. Each of these
functions is owned, operated, configured and maintained by the service provider. PaaS also
provides additional resources, including database management systems, programming
languages, libraries and various development tools.

A PaaS provider builds and supplies a resilient and optimized environment on which users
can install applications and data sets. Users can focus on creating and running applications
rather than constructing and maintaining the underlying infrastructure and services.

Many PaaS products are geared toward software development. These platforms offer
compute and storage infrastructures, as well as text editing, version management,
compiling and testing services that help developers create new software more quickly and
efficiently. A PaaS product can also enable development teams to collaborate and work
together, regardless of their physical location.

PaaS architectures keep their underlying infrastructure hidden from developers and other
users. As a result, the model is similar to serverless computing and function-as-a-
service architectures where the cloud service provider manages and runs the server and
controls the distribution of resources.

How PaaS works

As mentioned above, PaaS does not replace a company's entire IT infrastructure for software
development. It is provided through a cloud service provider's hosted infrastructure with
users most frequently accessing the offerings through a web browser. PaaS can be delivered
through public, private and hybrid clouds to deliver services such as application hosting and
Java development.

A common issue for modern businesses is scaling to the global economy. Businesses and
individuals that develop and maintain applications are often hit with this problem. The cloud
computing industry has developed many solutions, and platform as a service (PaaS) offerings
are one of the most commonly leveraged tools. They are highly scalable application
development and hosting solutions that diminish infrastructural burden on small and growing
businesses.

PaaS solutions supply and power an application’s back end, which usually includes facets such
as databases, web servers, operating systems, and storage. Service providers give developers
the tools required to build atop this pre-developed back end. They are presented in a web-
based or cloud-synced platform for developers to access anywhere, at any time. These tools
can be filled with existing company data and instantly sync with your application.

With back-end development out of the way, for the most part, developers can focus on front-
end design and user experience. These PaaS solutions provide either a web-based or
downloadable interface. The development environments also have plentiful integrations to
sync external data and provide additional functionality. In the end, the PaaS supplies a
platform that allows design, development, and delivery to the end user.

Cost saving and planning burdens can be significantly reduced using PaaS solutions. The
reduced need for infrastructure simplifies hardware and personnel requirements, giving more
time for development and application management. The level of abstraction between
hardware and software allows for increased resource control. As resource needs increase, no
pressure is put on the business. Pricing reflects the amount of information transferred and
number of users allows for rapid scaling and predictable prices.

Other PaaS services include:

• Development team collaboration


• Application design and development
• Application testing and deployment
• Web service integration
• Information security
• Database integration

Users pay for PaaS on a per-use basis. However, some providers charge a flat monthly fee for
access to the platform and its applications.

PAAS BUSINESS USE CASES


A few of the most common use cases of PaaS are in SaaS applications, cloud migrations, and
mobile PaaS backends.

1. SaaS applications
One of the most common use cases of PaaS is the development of SaaS applications. These
SaaS deliverables can range from an e-commerce payment gateway to a cloud-based backup
software solution. PaaS provides the tools to facilitate cloud application development from
brainstorming and organizing to development and deployment.

All companies that plan to iterate quickly, alter data, update applications, and scale
accessibility should consider investing in a PaaS solution. They are highly flexible and
reasonably affordable solutions that provide companies with more bandwidth, storage, and
development tools during the most crucial stages of software development.
2. Cloud migration
Companies with existing legacy applications or on-premise infrastructure are continuing to
adopt PaaS as their cloud-based solution for the future. Companies choose to migrate their
company data and applications from on-premise hardware, because it’s cheaper in general
and less expensive to maintain. On-premise hardware requires dedicated staff to operate and
maintain. Outsourcing that can cut down on staffing needs and hardware costs. The data
hosted in the cloud will also be accessible to virtually any permitted user with an internet
connection.

Another common migration use case is moving legacy applications from local infrastructure
to the cloud. These applications become more scalable and easier to distribute, monitor, and
maintain. The PaaS vendor typically offers cloud services in addition to PaaS. These tools can
be used to beef up security, add functionality, or improve monitoring. There are a significant
number of additional features companies can add once they’ve moved their applications into
the cloud.

Advantages of PaaS

There are the following advantages of PaaS -

1) Simplified Development

PaaS allows developers to focus on development and innovation without worrying about
infrastructure management.

2) Lower risk

No need for up-front investment in hardware and software. Developers only need a PC and an
internet connection to start building applications.

3) Prebuilt business functionality

Some PaaS vendors also provide already defined business functionality so that users can avoid
building everything from very scratch and hence can directly start the projects only.

4) Instant community
PaaS vendors frequently provide online communities where the developer can get the ideas
to share experiences and seek advice from others.

5) Scalability

Applications deployed can scale from one to thousands of users without any changes to the
applications.

Disadvantages of PaaS cloud computing layer

1) Vendor lock-in

One has to write the applications according to the platform provided by the PaaS vendor, so
the migration of an application to another PaaS vendor would be a problem.

2) Data Privacy

Corporate data, whether it can be critical or not, will be private, so if it is not located within
the walls of the company, there can be a risk in terms of privacy of data.

3) Integration with the rest of the systems applications

It may happen that some applications are local, and some are in the cloud. So there will be
chances of increased complexity when we want to use data which in the cloud with the local
data.

Benefits of PaaS
Developers and businesses use platform as a service (PaaS) solutions to develop, test, and
deploy cloud-based and web applications. Developers are given tools like text editors,
development environments, testing capabilities, and other necessary features to write, build,
configure, deploy, and maintain modern applications. They provide the middle layer on which
software as a service (SaaS) solutions are built. In addition, they typically provide some level
of infrastructure beyond development and deployment capabilities.

1. Increase development speed


PaaS solutions allow for rapid prototyping and development by providing prebuilt backend
infrastructure. Instead of building large databases and managing backend requirements,
developers can focus on features, performance, and usability. Data can be hosted atop an
existing backend and synced through APIs for live updates and integration with external
applications.

PaaS solutions also typically provide development, staging, and testing environments. These
tools centralize developer resources for increased productivity and reduced costs. Many PaaS
offerings provide tools to automate builds and tests to save time and eliminate bugs. Once
development has ceased, applications can quickly be hosted through the PaaS solution.

2. Reduced costs and commitment


Companies launching an application for the first time may not have the financial means to
purchase the hardware and software necessary to build and deploy an application. PaaS
solutions are designed for startup accessibility with scalable costs. This means new companies
can opt in and develop an application quickly and begin creating revenue. As demand grows,
they can increase spending periodically to maintain their application without a large upfront
investment.

Companies looking to reduce their current operating costs could see PaaS solutions as a viable
option. These are typically large companies with various existing applications. They may be
running on in-house infrastructure or an IaaS solution. But consolidating infrastructure
management with development and maintenance can both simplify and reduce your current
infrastructure spending.

3. Reducing infrastructural burden


Aside from prebuilt backend and development infrastructure, most PaaS solutions reduce
security risk by providing a stable network infrastructure on which applications can run. In-
house or on-premise infrastructure can be very expensive and require additional staff for
implementation, operation, and maintenance. PaaS solutions allow users to deploy
information and code directly to a public, private, or hybrid cloud.

With PaaS solutions, users are able to manage objects, resources, and databases remotely and
simultaneously. They do not have to maintain servers or update hardware as needs change.
Some companies use PaaS solutions atop existing infrastructure, but files, data, and resources
can be easily deployed into cloud storage.

4. Improve scalability and reliability


The pay-as-you-go model also enables worry-free scaling. Costs will increase, but performance
should not be affected by increased traffic and usage. Databases can also be scaled as the
information within them multiplies. As performance is maintained through reliable cloud
servers, security is often cited as an additional level of reliability. With proper configuration,
data can be tightly secured, ensuring safety for company and customer information.

5. Other benefits of PaaS


Companies can benefit from easier application reuse, increased resource allocation, and
improved customer support, among other things. And that’s in addition to lower costs, quicker
development, and increased security. Application multi-tenancy can allow developers working
on different projects to utilize the same core service and isolate instances for each application.
That improves speed, performance, and security. Resource allocation can be simplified
through shared resources across applications. Each application can allocate and share
resources while properly documenting each KPI and recording historical performance trends.
For the business, this means reduced overhead, lower headcount requirements, reduced
failover frequency, and quicker deployments.

6. Simplified integrations
A PaaS solution will have to integrate with numerous other tools in your organization, and the
complexity of these integrations ties directly into the time and effort needed to implement
the platform. In addition to having to integrate with the infrastructure as a service (IaaS), a
PaaS will likely need to integrate with other development tools that are already in place, such
as version control systems, build automation tools, software testing products, or integrated
development environments (IDEs).

Some PaaS tools provide for continuous deployment and integration. This allows companies
to apply updates and change functionality without limiting public access to applications.
Virtual machines can also be extremely helpful for computing, storage, and simulation.
Element libraries, pre-configured integrations, and programing language variety also
contribute to the development process.

Disadvantages of PaaS

1. Vendor lock-in
Affordable development tool kits and reasonable host pricing are readily available for
businesses. In most cases, companies won’t have to invest in costly servers or other
infrastructure because it’s handled by the provider. When demand increases, the payment
model will continue to reflect usage. Hopefully, as user bases grow, revenue follows, allowing
for simpler expense forecasting. Still, some users disapprove of some potential vendor lock-in
when using PaaS offerings. Since your company’s entire application is built on the platform, it
can be difficult to change providers without affecting functionality.

Changing PaaS providers would involve a significant workload and expense increase. All of the
application’s code and data will need to be migrated. All of the network monitoring and
configuration management operations will need to be restructured. Contracts will also need to
be renegotiated. It is possible to switch PaaS providers, but it can be time consuming, labor
intensive, and expensive.

2. Lack of control
One downside of relying on a PaaS provider is that the product is vulnerable to downtime
during which users cannot access the system. Downtime is a necessary evil needed to improve
and maintain the platform, but if it occurs too frequently or at unannounced times, developers
could be left in the dark, basking in their frustration. Having a reliable system is key to launching
an application quickly and efficiently, so make sure you ask what the service uptime is and urge
providers to give advance notice whenever possible.

3. Hardware and software dependencies


Companies migrating a legacy application may have difficulty pairing their existing hardware to
their new provider’s hardware. Some applications require specific kinds of servers, data storage
systems, and networking components. Some cloud service providers will be able to
accommodate these needs at little to no cost. Some may not be able to meet your hardware
needs, while others may be able to accommodate your hardware requirements at an additional
price point.

Programming languages and existing development software setups should be considered when
adopting a PaaS. One of the first steps you need to take when selecting a PaaS provider is to
choose which programming language you will use. Every PaaS platform supports a different set
of programming languages, so ensuring that the one you choose is compatible with your
language of choice is a crucial step in your decision process.

Popular PaaS Providers

The below table shows some popular PaaS providers and services that are provided by them -

Providers Services

Google App Engine (GAE) App Identity, URL Fetch, Cloud storage client library, Logservice

Salesforce.com Faster implementation, Rapid scalability, CRM Services, Sales


cloud, Mobile connectivity, Chatter.
Windows Azure Compute, security, IoT, Data Storage.

AppFog Justcloud.com, SkyDrive, GoogleDocs

Openshift RedHat, Microsoft Azure.

Cloud Foundry from VMware Data, Messaging, and other services.

Best PaaS Providers in 2019

1. AWS
Amazon Web Services has a wide range of cloud service offerings that range from PaaS and
IaaS solutions to analytics and security solutions. Their flagship offering is AWS EC2, which
offers a variety of IaaS and PaaS tools. It gives users complete control over their computing
infrastructure and lets them scale usage to meet their demands. It was one of their first
publicly available cloud computing offerings and it has remained a core part of AWS since
2006. (It’s even hosted Amazon.com since 2010.)

AWS Elastic Beanstalk and AWS Lambda are AWS’ most popular pure-play PaaS offerings.
Elastic Beanstalk is a scalable platform for developing applications written in Java, .NET, PHP,
Node.js, Python, Ruby, and Go. It also supports docker applications and common application
servers including Apache, Nginx, Passenger, and IIS.

AWS Lambda is a serverless computing platform. It allows users to execute code without
actually managing any server infrastructure. The product is designed to run applications on
any endpoint device and scale continuously by only running when requests are triggered.

2. Microsoft Azure
The Azure platform is Microsoft’s flagship cloud computing service offering. It was launched
in 2008 and provides PaaS, IaaS, and SaaS solutions. Today, Azure offers a wide array of
computing, development, networking, and integration services.

There are a few ways to utilize PaaS through Azure’s plug-and-play service model. But Azure
Web Apps and Azure App Service are two of their most commonly used pure-play PaaS
offerings. Web Apps is pretty straightforward. It’s a managed platform that supports Windows
and Linux applications.

Azure App Service takes a more modern approach to PaaS, offering complete infrastructure
control and a development platform for web apps, mobile apps, and APIs. Users can integrate
existing frameworks to speed up development time and integrate continuous delivery tools
to build out DevOps processes.

Azure Functions is noteworthy; it operates much like AWS Lambda through its serverless
computing model. The event-driven code execution model is designed to accelerate
development time, optimize resource usage, and simplify operational processes.

3. Google Cloud
The Google Cloud Platform offers a laundry list of cloud computing services, much like AWS
and Azure. Most industry experts rank them as the fourth-largest vendor in the entire cloud
computing space, behind AWS, Microsoft, and IBM. In July, the company announced a
number of offerings including improved security, and new edge computing capabilities.

Its main PaaS tool is Google App Engine, a decade-old cloud platform for building and hosting
web applications. It operates on a managed serverless platform that supports a variety of
popular programming languages. It also comes with built-in tools for monitoring, versioning,
and application security management.
Google Cloud Functions is has comparable event-driven functionality to that of Lambda and
Azure Functions. Most companies use Cloud Functions as a serverless backend, but it can also
support real-time data processing and intelligent applications.

What is SaaS ?

Software as a Service (Saas) – If you are new to the concept of SaaS, then this article is meant

for you. You will know what is SaaS, what it can do for you, how SaaS is different and more

about Software as a Service applications.

Software as a Service is a software delivery method that allows software and its functions to be

accessed from any device with an internet connection and a browser. The applications are

hosted in the cloud and can be used for a variety of tasks to be performed by both individuals

and organizations.

In short form Software as a Service means a provider hosts an application centrally and provides

access to multiple users across various locations through the internet for a fee.

Software as a Service applications are called Web based software or hosted software. SaaS runs

on a SaaS provider’s servers.

Utilising Software as a Service (SaaS) is similar to renting software rather than buying it.

Previously you would purchase a software and install it in your computer. Through Software as

a Service you just subscribe to a software on a term basis usually monthly basis.
Software as a Service has become a widespread software delivery model as the web services

have become more popular with its improved technologies and developmental approaches.

Due to the increasingly available broadband services we are able to easily access different areas

of the world.

Understanding Software as a Service (SaaS)


Software as a Service is often compared with Application Service Providers (ASP) and

on demand computing software models. Earlier these applications had a lot of things in

common with traditional on-premise applications. But now Software as a Service

applications has developed a lot in its architecture and licensing.

Today, Software as a Service applications are centralized with a multi tenant architecture to

provide comparatively best experience than on-premise applications.

On-premise software uses a one-time licensing model whereas SaaS uses a subscription model

where access to the software is frequently sold either directly by the provider or an agent called

an aggregator.

The cost of SaaS varies from application to application. Some SaaS providers charge a fixed

price for access to all the application’s features, while some providers charge a varied price

based on the usage of the application.

You can customize the SaaS applications like the data schema, workflow and other aspects as

per your business need.


Software as a Service providers also provide a high security mechanism to protect the data of

the customers while transmission and storage.

A good example of Software as a Service model is a bank. It protects the privacy of the customer

while at the same time provide more reliable service to them. All the customers of the bank

use the same technology without the fear of anyone accessing their personal information

without proper authentication.

Objective of SaaS

• Reduce the investment in server hardware by sharing end user licenses

• Reduce hiring costs of software

Models of SaaS
There are two models of Software as a Service

• Hosted Application Management Model

• Software On demand Model

In the hosted application management model the provider hosts the readily available software

for the customers and delivers it through net.

In the software on demand model the provider gives web based access to its customers only to

a specific section of the application created explicitly for SaaS distribution


Benefits of SaaS model
There are a number of reasons why SaaS is more useful for individuals and businesses of all

sizes and types. Here’s what is driving customers to use Software as a Service

• No initial setup costs – The applications once subscribed by you it is ready to use

• Time management – SaaS applications needs only less time to be spent in installation and

configuration

• Reduces the work of IT department – SaaS applications are handled by the hoster and thus it

helps the IT department to concentrate more on the activities that helps in attaining the goals

of the business

• Lower costs – SaaS is operated in a shared environment where the hardware and software

license costs are low when compared to other software models

• Low maintenance costs – If you want to improve the storage capacity it can be done without

installing any new hardware or software

• Scalability – SaaS resides in a cloud environment that is scalable.

• Seamless Integration – SaaS can be integrated with a number of devices such as tablets, laptop,

desktop and other internet enabled phones. SaaS can be customized to meet the needs of a

particular customer

• New Upgrades – If the SaaS providers upgrades the software then it is available online to you

with free of cost. Even if it is available for cost it will be lower than the traditional model up

gradation cost
• Easy accessibility – SaaS applications can be accessed from anywhere and from any device that

uses internet

SaaS characteristics
Software as a Service has several characteristics that makes it unique from other services. Few

of the important characteristics are listed below

• Configurability
SaaS offers various configuration options like Social site extensions, blog interface, network

content access and custom tool modules. These options can be used by the user at any time as

per their need for the site.

• Multi-Tenant Efficiency
In SaaS all the users share a common infrastructure and code which is centrally maintained by

the provider. Through this way users can save their server space, cost and maintenance.

Updates are automatically notified to the users and made at no cost or sometimes with less

cost. This will also save a lot of time for you.

• Easy Customization
SaaS applications can be easily customized to fit your business purpose without affecting your

common infrastructure. Software as a Service is designed in such a way that the customizations

are made unique to each company or individual. Updates are also made with less cost and less

risk.

• Scalability
Software as a Service has a multi tier structure that implements a load balancer. Without

modifying the entire structure of your software the capacity of your system can be adjusted by

adding servers as per your demand

• Easy access
You can access to the data easily from any device that uses internet. This will help you to

manage your data and make sure that everyone sees the same information at the same time.

SaaS and On-premise Application


Software as a Service application and On-premise application are differentiated using three

major dimensions – Licensing, Location and Management

• Licensing
On-premise applications are licensed with a single cost for each user or site

SaaS applications are licensed based on two models – Usage based transaction model and time

based subscription model. In usage based model the user is billed for the number of service

transactions used. In the second model the user pays for a particular period of time for which

he has subscribed.

• Location
On-premise applications are hosted in the users IT environment. The application provider also

provides a hardware or software part called ‘black box‘ which will be installed in the users

location.
SaaS applications are hosted in the provider’s server. No hardware or software is installed in

the users place.

• Management
In On premise applications the entire responsibility lies with the IT department of the company.

The IT people should be familiar with the network, server and application functions. They

should also be able to troubleshoot the problems and take care of the reliability and security

of the application. This was a big deal and some companies even outsourced this work to a

third party who specialize in IT.

While with SaaS, the application is completely handled by the SaaS provider or vendor. Service

Level Agreements rule the support and service to be provided by the vendor to the user.

Considerations for embracing SaaS


There are few things that should be taken into account before using Software as a Service

application in an organization. Here are four major factors that affect SaaS

• Political
Some important people in the organization will feel that certain functionality of the business

should remain under the support and control of IT department. In such situations Software as

a Service and other applications are considered unimportant. If a test application is deployed

in the organization by the provider then there are chances of the managers to approve such

applications.

• Technical
SaaS provides customization option to its users but there are few limitations in it. If a particular

technical knowledge is required to operate a SaaS application and if it cannot be afforded by

the Software as a Service provider then it becomes difficult for the user to run the SaaS

application.

Another important factor is the amount and type of data transmitted to and fro the application.

The data transmitted between the servers should be done quickly. So the companies always

prefer a SaaS solution that takes network latency into account.

• Financial
SaaS application is usually considered lower than the On premise application. But the long term

cost of SaaS application is not sure. The things that affect the cost of SaaS application includes

the number of licensed users, amount of customization which need to be done for your

business and your data centres’ economy of scale.

• Legal
Some industries are subject to law in different parts of the world. They need to maintain various

reports and records. Software as a Service application will not be able to satisfy all such needs

of the customer. SaaS providers should also meet your internal standards regarding your data

security and privacy in order to avoid any legal problems.

SaaS application should meet the rules and regulation of the jurisdiction in which the

organization operates.
Is SaaS suitable for your organization ?
SaaS is not suitable for all the organization nor do all the applications can lend themselves to

SaaS delivery model. There are few criteria’s to be considered while deciding about SaaS

application for your business. The important factors are listed below

• The type of process for which you are going to use SaaS application

• The amount of customizations to be done

• The integration of SaaS application with other systems in your company which includes both

internal and external

• The term of the application

SaaS application is usually best suited for processes which are simple, standard and not too

much dependent on other functions and systems of your business.

SaaS also works best for the functions which are automated for the first time as there will be

few changes to be made.

A function which is related to the core of your business like ERP and others do not lend

themselves to Software as a Service so for such functions you need to go with other onsite

solution. This will help you to manage the application as it runs.

If you need to customize a SaaS product then it will take more time for implementation.

Customization will shoot up the SaaS vendor’s cost and it also involves a lot of complexity. As a

result many vendors refuse to do customizations and even if they do they do it for a high cost.
So if you are going to do a customization to your SaaS product be aware about the charge for

it and whether it is affordable for you.

The more the integration the longer the SaaS implementation. So SaaS providers pay attention

to things that ease the integration process.

SaaS can work best if you are purchasing a new application from a vendor who is going to

frequently update the application for its enhancement.

Popular SaaS Providers

The below table shows some popular SaaS providers and services that are provided
by them -

Provider Services

Salseforce.com On-demand CRM solutions

Microsoft Office Online office suite


365
Google Apps Gmail, Google Calendar, Docs, and sites

NetSuite ERP, accounting, order management, CRM, Professionals


Services Automation (PSA), and e-commerce applications.

GoToMeeting Online meeting and video-conferencing software

Constant Contact E-mail marketing, online survey, and event marketing

Oracle CRM CRM applications

Workday, Inc Human capital management, payroll, and financial management.

ADVANTAGES AND DISADVANTAGES OF SAAS


Advantages of SaaS
Although SaaS is a major departure from the established method of purchasing and installing
software, but it still manages to provide distinguished advantages in a typical business
environment. We have listed some pros of SaaS development here -
1. Cost Reduction
Cost benefits are one of the well-known and most obvious advantages of using software as a
service for businesses. The expense of buying and installing the entire software and IT
infrastructure in-house is negated when the software is rented from a third-party service
provider. The payment is done on a subscription basis which depends on the usage of the
infrastructure.
2. Ease of Accessibility
A software as a service application is easily accessible. A computer and a stable internet
connection is all that is required to access and use the cloud-hosted software. Using this
method, the application can be easily made available on any remote desktop or mobile phone
and used at anytime from anywhere.
3. Effortless Scalability
Whenever your business grows and you feel the need of adding new users, there is no need
to buy additional software licenses or server space for the new users. All you have to do is to
upgrade your existing plan or subscription for the SaaS application to accommodate the new
users. This also holds in good stead if your business has strong off-seasonal trends, allowing
you to cut down on subscription costs.
4. Trouble-free Upgradation
It is a cumbersome task to upgrade your existing software and hardware to the newer versions.
In many cases, businesses do not have the budget or the IT manpower to upgrade software
every subsequent year. This in turn leaves the software vulnerable to external threats. On the
other hand, when you opt for a SaaS application, this is one burden less for you to bear and
removes a significant workload from your in-house IT department. The extra human
bandwidth can be used for other tasks such as integration with in-house applications.
5. Highly Resilient
Since the IT infrastructure and your data is installed and stored in the cloud storage provided
by the service provider in a remote location, any damage or disaster of any form to your
business premises can be quickly sorted out. The business can be back up and running from
any other location which has access to an internet connection easily.

Disadvantages of SaaS
Though using software as a service looks to be a very viable option for most of the businesses,
there are some downsides too which need to be considered. We have listed some of the cons
of SaaS development here -
1. Insufficient Data Security
This is one of the top concerns for companies who are looking to opt for a SaaS-based
application model. Issues such as identity and access management need to be addressed
before trusting any third party service provide with your company's sensitive data. Particularly
in the case of accessibility from a mobile device, strict measures need to be taken before any
kind of sensitive data is divulged to the service provider.
2. Difficulty with Regulations Compliance
When your business critical data is stored in the service provider's data center, it is difficult to
comply with the government's data protection regulations. Your company will need to learn
which rules apply to your business, ask the right questions from your service provider, and
address any kind of inconsistencies in the process.
3. Cumbersome Data Mobility
The software as service market is filled with startups, and many of them do not have enough
experience to survive in a highly competitive atmosphere. In case of a failure or in an event
where you want to change your service provider, it becomes a cumbersome task to transfer
your company's critical data from one service provider to another. Therefore, you need to be
prepared for such an event with a planned exit strategy.
4. Low Performance
A browser-based application running on a remote data center may lack in performance when
compared to a similar application running from your employee's desktop. Companies
therefore need to invest in a fast and reliable internet connection to negate this factor and
also use tools for application performance management to know how their SaaS apps are
performing over time.
5. Troublesome Software Integration
When working with an external SaaS service provider to host multiple apps, there might be an
integration problem with the existing in-house software. The in-house APIs and data structures
might not integrate properly with the external software. As a result, you should always
perform compatibility checks with all SaaS applications for better results.
Trends in Cloud-Computing :
The present availability of high-capacity networks, low-cost computers and storage devices
as well as the widespread adoption of hardware virtualization, service-oriented
architecture, and autonomic and utility computing have led to a growth in cloud computing
.

A. Open Source / Open Stack Cloud Computing

➢ With the help of open standards, different technology firms have started powerful cloud
services.

➢ Many open source cloud computing platforms with unique set of characteristics are
available which meets different kinds of user requirements

➢ One of the prominent examples is the creation and development of Hadoop Framework. The
framework divides the application into different clusters and assigns to various
independent nodes to carry out the work .

➢ According to Open Stack, its goal is to produce an ubiquitous open source cloud computing
platform that will meet the needs of public and private clouds regardless of size, by being
simple to implement and massively scalable.

➢ Predominantly acting as an infrastructure as a service (IaaS) platform, it is free and open-


source software released under the terms of the Apache License.

B. Mobile cloud computing

➢ Mobile cloud computing is the combination of both cloud computing and mobile networks
to bring benefits for mobile users, network operators, as well as cloud computing
providers].

➢ The main goal of MCC is to enable execution of rich mobile applications on mobile devices,
with a rich user experience .
➢ In the recent years, cloud computing has cultivated the outsourcing of computing resources
like IT infrastructures, service platforms, and software.

➢ With the emergence of ultra-fast 4G mobile networks and highly-featured smartphones and
tablets, the prerequisites are now met for bringing cloud computing to the mobile domain.

➢ Cloud technologies and opportunities in mobile working will allow organisations to


innovate in new ways. These trends can help business leaders to develop strategies to
improve competitiveness, increase productivity and efficiency, and get closer to customers.

C. BYOD

➢ Bring your own device (BYOD) mobile strategies allow companies to make greater use of
the cloud while at the same time satisfying employees demand in being able to use their
own gadgets to do their work.

➢ Bring Your Own Device and cloud computing are changing the way we use technology in the
workplace.

➢ Bring your own device goes beyond employees conveying their personal smartphones to
work or accessing business email from home on their tablet PC.

You might also like