CLOUD COMPUTING
Name : Sree Narayan Chakraborty
Roll:ASH1201002M
Dept. of CSTE
7th
Batch
Session :2011-12
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
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 :
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
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
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.
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
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
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
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,
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.

Cloud Computing

  • 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.