CHAP - I I (Cloud Computing)
CHAP - I I (Cloud Computing)
2.1 Introduction
We can find zeta bytes worth of information that explain what
cloud computing is in a technical sense. But before getting into any of that,
we need to ask a couple of simple questions:
Why should I make the move to the cloud at all?
How will it benefit me; my team; my company?
Cloud Computing services are delivered to the users in different forms. Three major service models (as
seen by the consumers) have been defined:
1. Software-as-a-Service
2. Platform-as-a-Service
3. Infrastructure-as-a-Service
Software/
Application
Platform
Infrastructure
Cloud Infrastructure Cloud Infrastructure Cloud Infrastructure
IaaS Software as a Service
PaaS PaaS (SaaS)
SaaS SaaS SaaS Architectures
Cloud Infrastructure
IaaS Infrastructure as a Service (IaaS)
Architectures
For vendors, SaaS has the appeal of providing stronger protection of their
intellectual property as well as creating a continuous stream of income.
There are many types of software that lend themselves to the SaaS model
Some of these applications include
• Customer resource management (CRM)
• Video conferencing
• IT service management
• Accounting
• Web analytics
• Web content management
SaaS applications differ from earlier distributed computing
solutions in that SaaS was developed specifically to use web tools,
like the browser. This makes them web-native. It was also built
with a multitenant back end in mind, which enables multiple
customers to use an application.
SaaS provides network-based access to commercially available
software. Since the software is managed at a central location,
customers can access their applications wherever they have web
access.
Benefits of SaaS
One of the biggest benefits of SaaS is, costing less money than buying
the application outright.
The service provider can offer cheaper, more reliable applications
than organizations can buy themselves.
Some other benefits include the following:
• Familiarity with the World Wide Web:
Most workers have access to a computer and know how to use it on
the World Wide Web. As such, the learning curve for using external
applications can be much smaller.
• Smaller staff:
IT systems require the overhead of salaries, benefits, insurance, and
building space. The ability to farm out applications reduces the need for as
much IT staff.
• Customization:
Older applications were difficult to customize and required tinkering
with the code. SaaS applications are much easier to customize and can give an
organization exactly what they want.
Better marketing:
A provider who had developed an application for a very narrow
market might have had problems marketing that application. However, with
SaaS, the entire world is open to the providers.
• Web reliability:
Web is generally quite reliable.
• Security:
Secure Sockets Layer (SSL) is widely used and trusted. This allows
customers to reach their applications securely without having to employ
complex back-end configurations, like virtual private networks (VPNs).
• More bandwidth:
Bandwidth has increased greatly in recent months and quality of
service improvements are helping data flow. This will allow organizations to
trust that they can access their applications with low latencies and good speeds.
All components are delivered by SaaS as shown in fig. below.
Obstacles:
1. Cost imbalance with the need: An organization that has a very
specific computational need might not be able to find the
application available through SaaS. In that case, they may
discover that they need to buy the software and install it on
their local machines. That said, companies with unique needs
may be able to find some of the components in a SaaS.
2. Hefty moving fee while moving to a new vender: There is also
an element of “lock-in” with vendors. That is, the customer
might pay a provider to use an application, but once they do,
they may be unable to port that application to a new vendor.
Or, it might be possible to move to a new vendor, but the old
vendor might charge a hefty moving fee.
3. Challenges from the availability of opensource applications
and cheaper hardware: If companies are so inclined, they can
put their open source applications on hardware that performs
better and costs less than it used to.
2.5 Platform-as-a-Service (PaaS)
Platform as a Service (PaaS) is another application delivery model.
A service model that involves outsourcing the basic infrastructure and platform
(Windows, Unix)
PaaS facilitates deploying applications without the cost and complexity of
buying and managing the underlying hardware and software where the
applications are hosted.
The customer uses his or her own applications.
Users can develop and deploy application in the Cloud.
Service providers serve Development tools, Application Programming
Interfaces (APIs), Software libraries…etc.
The service providers manage the underlying infrastructure including servers,
network, operating systems, and storage.
The users develop, deploy, configure, and manage their applications on the
Cloud infrastructure.
. PaaS is also known as cloud ware.
PaaS services include application design, development, testing, deployment,
and hosting.
Other services include team collaboration, web service integration, database
integration, security, scalability, storage, state management, and versioning.
PaaS generally offers some support to help the creation of user interfaces,
and is normally based on HTML or JavaScript.
Because PaaS is expected to be used by many users simultaneously, it is
designed with that sort of use in mind, and generally provides automatic
facilities for concurrency management, scalability, failover, and security.
PaaS also supports web development interfaces such as Simple Object
Access Protocol (SOAP) and Representational State Transfer (REST), which
allow the construction of multiple web services, sometimes called mashups.
The interfaces are also able to access databases and reuse services that are
within a private network.
PaaS Options:
PaaS is found in one of three different types of systems:
1. Add-on development facilities:
These allow existing SaaS applications to be customized. Often, PaaS
developers and users are required to purchase subscriptions to the add-on SaaS
application.
2. Stand-alone environments:
These environments do not include licensing, technical, or financial
dependencies on specific SaaS applications and are used for general
developments.