NPTEL Cloud Computing Notes
NPTEL Cloud Computing Notes
NPTEL Cloud Computing Notes
•Distributed Computing
•Grid Computing
•Cluster Computing
•Utility Computing
•Cloud Computing
Early computing was performed on a single processor. Uni-processor computing
can be called centralized computing.
Distributed Computing/System?
•Distributed computing
–Field of computing science that studies distributed system.
–Use of distributed systems to solve computational problems.
•Distributed system
–Wikipedia
•There are several autonomous computational entities, each of which has its own local memory.
•The entities communicate with each other by message passing.
–Operating System Concept
•The processors communicate with one another through various communication lines, such as high-speed buses or telephone
lines.
•Each processor has its own local memory.
Grid Computing?
•Pcwebopedia.com
–A form of networking. unlike conventional networks that focus on communication among devices, grid computing harnesses
unused processing cycles of all computers in a network for solving problems too intensive for any stand-alone machine.
•IBM
–Grid computing enables the virtualization of distributed computing and data resources such as processing, network bandwidth
and storage capacity to create a single system image, granting users and applications seamless access to vast IT capabilities. Just
as an Internet user views a unified instance of content via the Web, a grid user essentially sees a single, large virtual computer.
•Sun Microsystems
–Grid Computing is a computing infrastructure that provides dependable, consistent, pervasive and inexpensive access to
computational capabilities
•“The power grid” links together power plants of many different kinds
Grid
•Users (or client applications) gain access to computing resources (processors, storage, data, applications, and so on) as needed
with little or no knowledge of where those resources are located or what the underlying technologies, hardware, operating
system, and so on are
•“The Grid" links together computing resources (PCs, workstations, servers, storage elements) and provides the mechanism
needed to access them.
Grid Computing
1. Share more than information: Data, computing power, applications in dynamic environment, multi-institutional, virtual
organizations
2. Efficient use of resources at many institutes. People from many institutions working to solve a common problem (virtual
organisation).
3. Join local communities.
4. Interactions with the underneath layers must be transparent and seamless to the user.
Need of Grid Computing?
•Today’s Science/Research is based on computations, data analysis, data visualization & collaborations
•Computer Simulations & Modelling are more cost effective than experimental methods
•Scientific and Engineering problems are becoming more complex & users need more accurate, precise solutions to their problems
in shortest possible time
•Data Visualization is becoming very important
•Exploiting under utilized resources
Type of Grids
•Computational Grid: These grids provide secure access to huge pool of shared processing power suitable for high throughput
applications and computation intensive computing.
•Data Grid: Data grids provide an infrastructure to support data storage, data discovery, data handling, data publication, and
data manipulation of large volumes of data actually stored in various heterogeneous databases and file systems.
•Collaboration Grid: With the advent of Internet, there has been an increased demand for better collaboration. Such advanced
collaboration is possible using the grid. For instance, persons from different companies in a virtual enterprise can work on
different components of a CAD project without even disclosing their proprietary technologies.
Type of Grids
•Network Grid: A Network Grid provides fault-tolerant and high-performance communication services. Each grid node works as
a data router between two communication points, providing data-caching and other facilities to speed up the communications
between such points.
•Utility Grid: This is the ultimate form of the Grid, in which not only data and computation cycles are shared but software or just
about any resource is shared. The main services provided through utility grids are software and special equipment. For instance,
the applications can be run on one machine and all the users can send their data to be processed to that machine and receive
the result back.
Grid Components
What is Cluster Computing?
•A cluster is a type of parallel or distributed computer system, which consists of a collection of inter-connected stand-alone
computers working together as a single integrated computing resource .
•Key components of a cluster include multiple standalone computers (PCs, Workstations, or SMPs), operating systems, high-
performance interconnects, middleware, parallel programming environments, and applications.
Cluster Computing?
•Clusters are usually deployed to improve speed and/or reliability over that provided by a single computer, while typically being
much more cost effective than single computer the of comparable speed or reliability
Types of Cluster
•High Availability or Failover Clusters
Cluster Components
•Basic building blocks of clusters are broken down into multiple categories:
•Cluster Nodes
•Cluster Network
•Network Characterization
Key Operational Benefits of Clustering
•System availability: offer inherent high system availability due to the redundancy of hardware, operating systems, and
applications.
•Hardware fault tolerance: redundancy for most system components (eg. disk-RAID), including both hardware and software.
•OS and application reliability: run multiple copies of the OS and applications, and through this redundancy
•Scalability. adding servers to the cluster or by adding more clusters to the network as the need arises or CPU to SMP.
•High performance: (running cluster enabled programs)
“Utility” Computing ?
•Utility Computing is purely a concept which cloud computing practically implements.
•Utility computing is a service provisioning model in which a service provider makes computing resources and infrastructure
management available to the customer as needed, and charges them for specific usage rather than a flat rate.
•This model has the advantage of a low or no initial cost to acquire computer resources; instead, computational resources are
essentially rented.
•The word utility is used to make an analogy to other services, such as electrical power, that seek to meet fluctuating customer
needs, and charge for the resources based on usage rather than on a flat-rate basis. This approach, sometimes known as pay-
per-use
Utility” Computing ?
•"Utility computing" has usually envisioned some form of virtualization so that the amount of storage or computing power
available is considerably larger than that of a single time-sharing computer.
“Utility” Computing ?
a) Pay-for-use Pricing Business Model
b) Data Center Virtualization and Provisioning
c) Solves Resource Utilization Problem
d) Outsourcing
e) Web Services Delivery
f) Automation
− Flat rate
− Tiered
− Subscription
− Metered
− Pay as you go
− Standing charges
•Different pricing models for different customers based on factors such as scale, commitment and payment frequency
•But the principle of utility computing remains
•The pricing model is simply an expression by the provider of the costs of provision of the resources and a profit margin
Risks in a UC World
•Data Backup
•Data Security
•Partner Competency
•Defining SLA
•Getting value from charge back
US National Institute of Standards and Technology defines Computing as
“ Cloud computing is a model for enabling ubiquitous, 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. ”
Cloud Computing
US National Institute of Standards and Technology defines Computing as
“ Cloud computing is a model for enabling ubiquitous, 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
Essential Characteristics
•On-demand self-service
•A consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically
without requiring human interaction with each service provider.
•Broad network access
•Capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous
thin or thick client platforms (e.g., mobile phones, tablets, laptops, and workstations).
•Resource pooling
•The provider’s computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical
and virtual resources dynamically assigned and reassigned according to consumer demand.
Cloud Characteristics
•Measured Service
–Cloud systems automatically control and optimize resource use by leveraging a metering capability at some level of abstraction
appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be
–monitored, controlled, and reported, providing transparency for both the provider and consumer of the utilized service.
•Rapid elasticity
–Capabilities can be elastically provisioned and released, in some cases automatically, to scale rapidly outward and inward
commensurate with demand. To the consumer, the capabilities available for provisioning often appear to be unlimited and can
be appropriated in any quantity at any time.
Common Characteristics
•Massive Scale
•Resilient Computing
•Homogeneity
•Geographic Distribution
•Virtualization
•Service Orientation
•Low Cost Software
•Advanced Security
Cloud Services Models
•Software as a Service (SaaS)
The capability provided to the consumer is to use the provider’s applications running on a cloud infrastructure. The
applications are accessible from various client devices through either a thin client interface, such as a web browser (e.g.,
web-based email), or a program interface.
The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating
systems, storage, or even individual application capabilities, with the possible exception of limited user-specific
application configuration settings.
The capability provided to provision processing, storage, networks, and other fundamental computing resources
The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating
systems, or storage, but has control over the deployed applications and possibly configuration settings for the
application-hosting environment.
The cloud infrastructure is shared by several organizations and supports a specific goal.
•Public cloud
The cloud infrastructure is a composition of two or more clouds (private, community, or public)
e.g Cloud Bursting for load balancing between clouds.
Cloud and Virtualization
•Virtual Workspaces:
–An abstraction of an execution environment that can be made dynamically available to authorized clients by using well-defined
protocols,
–Resource quota (e.g. CPU, memory share),
–Software configuration (e.g. OS).
•Implement on Virtual Machines (VMs):
–Abstraction of a physical host machine,
–Hypervisor intercepts and emulates instructions from VMs, and allows management of VMs,
–VMWare, Xen, KVM etc.
•Provide infrastructure API:
–Plug-ins to hardware/support structures
Virtual Machines
•VM technology allows multiple virtual machines to run on a single physical machine .
Virtualization in General
•Advantages of virtual machines:
–Run operating systems where the physical hardware is unavailable,
–Easier to create new machines, backup machines, etc.,
–Software testing using “clean” installs of operating systems and software,
–Emulate more machines than are physically available,
–Timeshare lightly loaded systems on one host,
–Debug problems (suspend and resume the problem machine),
–Easy migration of virtual machines (shutdown needed or not).
–Run legacy systems
Cloud-Sourcing
•Why is it becoming important ?
–Using high-scale/low-cost providers,
–Any time/place access via web browser,
–Rapid scalability; incremental cost and load sharing,
–Can forget need to focus on local IT.
•Concerns:
–Performance, reliability, and SLAs,
–Control of data, and service parameters,
–Application features and choices,
–Interaction between Cloud providers,
–No standard API – mix of SOAP and REST!
–Privacy, security, compliance, trust…