Cloud computing allows users to access a shared pool of configurable computing resources over a network. It provides on-demand, scalable access to resources without requiring users to manage physical servers or storage. The document discusses key cloud computing concepts like Software as a Service (SaaS), Platform as a Service (PaaS), Infrastructure as a Service (IaaS), virtualization, load balancing, and examples of cloud platforms like Google App Engine.
1. CLOUD COMPUTING
Name : Sree Narayan Chakraborty
Roll:ASH1201002M
Dept. of CSTE
7th
Batch
Session :2011-12
2. CLOUD COMPUTING
[AUTHOR NAME] 1
1.What is Cloud Computing ?
Cloud Computing is often described as a stack, as a response to the broad range
of services built on top of one another under the moniker “Cloud.” The generally
accepted definition of Cloud Computing comes from the National Institute of
Standards and Technology (NIST). The NIST definition runs to several hundred
words2 but essentially says that:
“
Cloud Computing is a model for enabling convenient, on-demand network
access to a shared pool of configurable computing resources (e.g., networks,
servers, storage, applications, and services) that can be rapidly provisioned and
released with minimal management effort or service provider interaction. “
2.Use Cases and Advantages:
Some use cases are discussed below-
File Storage, Synchronization & Sharing – Dropbox, Box.net, Google Drive ,Bitcasa
These are file storage and synchronization services. Some provide limited storage while
others are limitless.
Email – This is the classic SaaS application which has been around for years. From
Gmail to Outlook.com , consumers (and businesses) access this service via the Internet as
well.
Website Hosting – This is one of the most common business-oriented uses of cloud
computing. If they are built in the cloud, they are prepared to scale and grow based on
demand.
Advertising – Advertising frequently is headless, that is to say, ads are dispersed yet
centrally managed behind the scenes by a “mother ship.” It is becoming more frequent to
have these advertising central servers to be hosted regionally in the cloud (and often, they
are coupled with Contend Delivery Network – CDN – services).
Seasonal Capacity – Scalability is one of the biggest advantages to using the cloud.
When One need capacity to meet the demands of his end users, he scales out that
web/application server layer and when the need subsides, he scales it back.
Advantages:
On-demand self-service. The ability for an end user to sign up and receive
services without the long delays that have characterized traditional IT.
Broad network access. Ability to access the service via standard platforms
(desktop, laptop, mobile etc).
Resource pooling. Resources are pooled across multiple customers.
Rapid elasticity. Capability can scale to cope with demand peaks.
Measured service. Billing is metered and delivered as a utility servic
3. CLOUD COMPUTING
[AUTHOR NAME] 2
3.Cloud computing stacks/models (SaaS, PaaS, IaaS)
3.1 Software as a Service(Saas)
Characteristics Of Saas:
Web access to commercial software.
Software is managed from a central location.
Software delivered in a “one to many” model.
Users not required to handle software upgrades and patches.
Application Programming Interfaces (APIs) allow for integration between
different pieces of softwar
Advantages or Use Cases:
Applications where there is significant interplay between the organization
and the outside world. For example, email newsletter campaign software.
Applications that have a significant need for web or mobile access. An
example would be mobile sales management software.
Software that is only to be used for a short term need. An example would
be collaboration software for a specific project.
Software where demand spikes significantly, for example tax or billing
software used once a month
“Vanilla” offerings where the solution is largely undifferentiated. A good
example of a vanilla offering would include email where many times
competitors use the same software precisely because this fundamental
technology is a requirement for doing business, but does not itself confer a
competitive advantage.
Fail Cases:
Applications where extremely fast processing of real time data is required.
Applications where legislation or other regulation does not permit data
being hosted externally.
Applications where an existing on-premise solution fulfills all of the
organization’s needs.
3.2 Platform as a Service (PaaS)
Characteristics of Paas :
4. CLOUD COMPUTING
[AUTHOR NAME] 3
Services to develop, test, deploy, host and maintain applications in the
same integrated development environment. All the varying services needed
to fulfill the application development process.
Web based user interface creation tools help to create, modify, test and
deploy different UI scenarios.
Multi-tenant architecture where multiple concurrent users utilize the same
development application.
Built in scalability of deployed software including load balancing and
failover.
Integration with web services and databases via common standards.
Support for development team collaboration – some PaaS solutions include
project planning and communication tools.
Tools to handle billing and subscription management.
Advantages or Use Cases:
PaaS is especially useful in any situation where multiple developers will be
working on a development project or where other external parties need to
interact with the development process. As the case study below illustrates, it is
proving invaluable for those who have an existing data source – for example sales
information from a customer relationship management tool – and want to create
applications which leverage that data. Finally PaaS is useful where developers wish
to automate testing and deployment services.
Some examples of PaaS include Google App Engine, Microsoft Azure Services,
and the Force.com platform.
Fail Cases:
Where the application needs to be highly portable in terms of where it is
hosted.
Where proprietary languages or approaches would impact on the
development process
Where a proprietary language would hinder later moves to another
provider – concerns are raised about vendor lock-in20
Where application performance requires customization of the underlying
hardware and software
5. CLOUD COMPUTING
[AUTHOR NAME] 4
3.3 Infrastructure as a Service(PaaS):
Characteristics:
Resources are distributed as a service
Allows for dynamic scaling
Has a variable cost, utility pricing model
Generally includes multiple users on a single piece of hardware
Advantages or Use Cases:
Where demand is very volatile – any time there are significant spikes and
troughs in terms of demand on the infrastructure
For new organizations without the capital to invest in hardware
Where the organization is growing rapidly and scaling hardware would be
problematic
Where there is pressure on the organization to limit capital expenditure
and to move to operating expenditure
For specific line of business, trial or temporary infrastructural needs
Fail Cases:
Where regulatory compliance makes the offshoring or outsourcing of data
storage and processing difficult
Where the highest levels of performance are required, and on-premise or
dedicated hosted infrastructure has the capacity to meet the organization’s
needs
4. Elastic Cloud
Elastic cloud computing is a computing concept in which computing resources can be scaled up
and down easily by the cloud service provider. Elastic computing is the ability of a cloud service
provider to provision flexible computing power when and wherever required. The elasticity of
these resources can be in terms of processing power, storage, bandwidth, etc.
Example : Amazon Elastic Compute Cloud(Amazon EC2).
5. Cloud Computing Vs Grid Computing
Grid Computing Cloud Computing
What? Grids enable access to shared
computing power and storage
capacity from your desktop
Clouds enable access to leased
computing power and storage capacity
from your desktop
6. CLOUD COMPUTING
[AUTHOR NAME] 5
Service Provider Research institutes and
Universities.
Large individual companies such as
Amazon and Microsoft and at a smaller
scale, institutes and organisations
Payment Governments - providers and
users are usually publicly funded
research organisations, for
example through National Grid
Initiatives.
The cloud provider pays for the
computing resources; the user pays to
use them
Usefull For Grids were designed to handle
large sets of limited duration jobs
that produce or use large
quantities of data
Clouds best support long term services
and longer running jobs (E.g.
facebook.com)
Technology Grids are open Source
Technology
Clouds are propritery technology
6. Virtualization
What is Virtualization?
Virtualization is the creation of a virtual version of something such as an operating system,a
server , a storage device or network resources.
-Technique for hiding characteristics from other systems, applications , or users .
-Can be used to make a physical resource appear as multiple logical resources.
Why Virtualization ?
Improve portability, security, performance, reliability.
Server Virtualization:
Server virtualization is portioning the physical server into small virtual servers to help maximize
server resources.
7. CLOUD COMPUTING
[AUTHOR NAME] 6
Until around 10 years ago, typical enterprise computing infrastructure consisted of powerful and
very expensive servers. Infrastructure architecture was monolithic, and each of these powerful
machines could easily host 20-30 enterprise applications. This market was dominated by only a
few hardware vendors, such as IBM, Sun, HP, and Dec, whose servers were expensive to
purchase and maintain, took considerable time to install and upgrade, and in some cases were
vulnerable to server outages that could last several hours until a vendor representative delivered
proprietary replacement parts. The operating system was installed directly to hardware, and most
of the servers hosted multiple applications within the same operating system without providing
physical or virtual isolation (see Figure 1). Because it was difficult to quickly move and
rebalance applications across servers, server resources were not utilized most effectively.
With the introduction of virtualization, things have changed tremendously. Virtualization
improves resource utilization and energy efficiency – helping to substantially reduce server
maintenance overhead and providing fast disaster recovery and high availability. Virtualization
has been very important for cloud computing, because it isolates software from hardware and so
provides a mechanism to quickly reallocate applications across servers based on computational
demands (see Figure 2)
.
7. Vertical, Horizontal Scaling, Automated elasticity
Vertical scaling (scale-up) assumes that organizations make substantial up-front investment and
do not worry about available computing resources until the point when demand is approaching
capacity limit . When this capacity is reached, company must invest substantially in expanding.
However, if company responds late and demand outgrows existing capacity, this may affect the
business. This vertical scaling model is normally seen in old-style non-cloud environments
8. CLOUD COMPUTING
[AUTHOR NAME] 7
Horizontal scaling (scale-out) enables organizations to expand their environment in small
chunks on-demand . Horizontal scaling is a popular methodology because it provides a way to
quickly scale-out resources without major capital expenditures; however, it still requires up-front
capacity and demand planning.
Automated elasticity means that a cloud provider continuously monitors a customer’s
infrastructure and scales it on-demand.
8. NestedClouds:
Several companies have become market leaders in the area of public cloud services. Cloud
services such as Amazon (AWS) or Google AppEngine are the de-facto standards for cloud
hosting. These providers went well beyond simply building the largest public clouds in the
world; they also succeeded in defining the gigantic cloud eco-systems that have become
platforms for other enterprise clouds. Interestingly, many companies have built their own clouds
within major public clouds. These organizations decided that building their cloud within a third-
party cloud provides more benefits relative to building their own. One such company is Acquia.
Acquia is a leading provider of online products and services .Acquia uses Amazon Web Services
to host both its own infrastructure and its customers’ clouds.
9.Public Cloud Services:
Here, we describe and analyze public cloud taxonomies because that’s where most cloud service
9. CLOUD COMPUTING
[AUTHOR NAME] 8
offerings are. The goal of this cloud taxonomy analysis is to classify market offerings and to
compare different pricing models across multiple providers.
Fig:Public Cloud Service
10. CLOUD COMPUTING
[AUTHOR NAME] 9
Since Public cloud service offerings can be classified into one or more cloud services models, we
use the three fundamental models (SaaS, PaaS, and Iaas) as the top levels of taxonomy. Some
might argue that many additional models could be identified, such as “database as a service” or
“security as a service,” and such arguments are valid because no official cloud services
classification
Load Balancing:
Load balancing provides a single point of access to multiple servers that run behind it. A load
balancer is a network device that distributes network traffic among servers using specific
loadbalancing algorithms. Many different load-balancing algorithms exist, although the most
popular include the following:
1) Round-robin 2)Weighted Round-robin 3)Least Connect
4) Fastest
Fig: Load Balancing
There are several benefits from load balancing: failover – in case of specific server failure, the
load balancer will automatically forward network traffic to other servers; performance –
because traffic load is distributed between multiple servers, network response time is typically
faster; scalability – customers can quickly add servers under the load balancer to increase
computational capacity without affecting other network/system components.
Google App Engine:
Google App Engine (GAE) is a pure PaaS platform that completely abstracts infrastructure
services away from developers. Physically, GAE is represented by the web or application server,
11. CLOUD COMPUTING
[AUTHOR NAME] 10
depending on whether the developer uses Python or Java. Google App Engine fully supports the
Python, Java, and Go programming languages. GAE runs within a “sandbox,” which isolates and
Fig: Google App Engine
secures operating system processes (see the nodes in Figure 23); so, the GAE web server doesn’t
have direct access to file system components like network sockets, system calls, and schedulers.
Google wants to take on all infrastructure-related tasks, and therefore doesn’t provide access to
lower-level OS services. Instead, the service offers a rich set of higher-level APIs, (see Figure
23) to cover a majority of typical development needs. APIs provide programmable access to a
wide set of services, such as SQL and NoSQL databases, Mail, MapReduce, and Log services.