1 - 1 - Cloud Computing at A Glance

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 70

UNIT I - INTRODUCTION

Dr.A.Neela Madheswari,
ASP/CSE,
Mahendra Engg College,
Namakkal
2

Contents
• 1.1 Cloud Computing at a
Glance
• 1.2 Historical Developments
• 1.3 Building Cloud Computing Environments.
• 1.4 Virtualization
• Introduction
• Characteristics
• Taxonomy
• Virtualization and Cloud Computing
• Pros and Cons
• 1.5 Technology:
• Xen
• Vmware
• Microsoft Hyper-V
3

Virtual
hardware

Runtime environments
4

Major roles involved


• Cloud service providers
• Consumers
• Trading cloud services as utilities
5

Cloud computing
• Definition as per U.S. National Institute of
Standards and Technology (NIST):
• 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.

• NIST
• founded in 1901, part of U.S., Dept of Commerce
• Oldest physical science lab
6

• Dr.Rajkumar Buyya
• Redmond Barry Distinguished Prof
• Founding CEO of Manjrasoft Pvt Ltd
• Director of Cloud Computing and
Distributed Systems CLOUDS Lab
@ University of Melbourne
• Received B.E. and M.E. @ Mysore and
Bengaluru Universities 1992, 1995
• Received Ph.D. Monash University,
Melbourne, Australia
“A cloud is a type of parallel and distributed system
consisting of a collection of interconnected and
virtualized computers that are dynamically provisioned
and presented as one or more unified computing resources
based on service-level agreements established through
negotiation between the service provider and
consumers.”
7

Deployment models
• The three major models for deploying and
accessing cloud computing environments are
• public clouds
• private/enterprise clouds
• hybrid clouds
8
9
10

Cloud computing reference model


• It is possible to classify cloud computing
services offerings into three major categories:
• Infrastructure-as-a-Service (IaaS)
• Platform-as-a-Service (PaaS)
• Software-as-a-Service (SaaS).
11
12

characteristics
• No up-front commitments
• On-demand access
• Nice pricing
• Simplified application acceleration and scalability
• Efficient resource allocation
• Energy efficiency
• Seamless creation and use of third-party services
13

• 1.1 Cloud Computing at a Glance

• 1.2 Historical Developments


• 1.3 Building Cloud Computing Environments.
• 1.4 Virtualization
• Introduction
• Characteristics
• Taxonomy
• Virtualization and Cloud Computing
• Pros and Cons
• 1.5 Technology:
• Xen
• Vmware
• Microsoft Hyper-V
14

1.2 Historical developments for clouds


• Distributed systems
• Virtualization
• Web 2.0
• Service orientation
• Utility computing
15

1.2.1 Distributed systems


• Clouds are large distributed computing facilities that
make available their services on demand.
• [Tanenbaum] - A distributed system is a collection
of independent computers that appears to its
users as a single coherent system.
• 2 main characteristics common to clouds:
• DS contains multiple independent components and
perceived as a single entity by users. Similarly in clouds,
where they hide the complex architecture.
• The primary purpose of distributed systems is to share
resources and utilize them better. This is true in the case
of cloud computing
16

• DS also offers other characteristics:


• Heterogeneity
• Openness
• Scalability
• Transparency
• Concurrency
• continuous availability
• independent failures.
• To some extent these also characterize clouds - in the
context of scalability, concurrency, and continuous
availability.
17

Major milestones to clouds


• Mainframe computing
• Cluster computing
• Grid computing
18
19

Mainframes
• Mainframes are:
• Powerful
• highly reliable computers
• specialized for large data movement and massive
input/output (I/O) operations.
• They were mostly used by large
organizations for bulk data processing
• Example: online transactions, enterprise
resource planning, and other operations.

20

• Most attractive feature –


• ability to be highly reliable computers that were “always on”
• capable of fault tolerance

• No system shutdown was required to replace


failed components, and the system could work
without interruption.
• Batch processing was the main application of
mainframes.
21

Cluster computing
• Cluster computing started as a low-cost alternative
to the use of mainframes and supercomputers.
• The availability of cheap commodity machines
are connected by a high-band width network and
controlled by specific software tools that manage
them as a single system.
• Starting in the 1980s, clusters -
• become the standard technology for parallel & high-performance
computing
• cheaper and available to a large number of groups, including
universities and small research labs.
22

• Cluster technology contributed to the evolution of tools


and frameworks for distributed computing
• i) Condor
• ii) Parallel Virtual Machine (PVM)
• iii) Message Passing Interface(MPI).

• Attractive feature of clusters


• computational power of commodity machines could be leveraged to solve
problems that were previously manageable only on expensive super
computers.
• Easily extended if more computational power was
required.
23

Grid computing
• Appeared in early 1990s as an evolution of cluster
computing.
• Users can “consume” resources in the same way
as they use other utilities such as power, gas,
and water.
• Grids initially developed as aggregations of
geographically dispersed clusters by means of
Internet connections.
24

•A computing grid was a dynamic aggregation of


heterogeneous computing nodes, and its scale was
nationwide or worldwide.
• Several developments made possible the diffusion of
computing grids:
• (a) clusters became quite common resources;
• (b) they were often underutilized;
• (c) new problems were requiring computational power that went
beyond the capability of single clusters;
• (d) the improvements in networking and the diffusion of the Internet
made possible long-distance, high-bandwidth connectivity.
25

1.2.2 Virtualization
• Virtualization allows abstraction of fundamental
elements for computing:
• hard ware
• runtime environments
• Storage
• networking.

• It is a technology that allows creation of different


computing environments.
• These environments are called virtual because
they simulate the interface that is expected by a
guest.
26

• Example - Amazon EC2, RightScale, VMware vCloud, and


others.
• Different forms of virtualization necessary for the complete range
of technologies for emulation of IT infrastructure are:
• Hardware virtualization
• Storage virtualization
• Network virtualization
• Virtualization technologies are used to replicate runtime
environments for programs.
• Applications can be run in virtual machines instead of running in
operating system of our machine.
• This technique allows isolating the execution of applications and
providing a finer control on the resource they access.
27

1.2.3 Web 2.0


• The Web is the primary interface through which cloud computing
delivers its services.
• The Web encompasses a set of technologies for interactive
information sharing, collaboration, user-centered design, and
application composition. This evolution transformed the Web into a
rich platform for application development and is known as Web 2.0.
• Web 2.0 brings interactivity and flexibility into Web pages, providing
enhanced user experience by gaining Web-based access to all the
functions.
• Technologies used - Collection of standards and technologies such as
XML, Asynchronous JavaScript and XML (AJAX), Web Services,
and others.
• In Web2.0, there is no need to deploy new software releases on the
installed base at the client side.
28

• Users can take advantage of the new software


features simply by interacting with cloud
applications.
• Examples of Web2.0 applications are Google
Documents, Google Maps, Flickr, Facebook,
Twitter, YouTube, Blogger, and Wikipedia.
• Other technologies helpful are: AJAX, Really
Simple Syndication (RSS), and other tools that
make the user experience incredibly interactive.
• Web 2.0 is a mature platform for supporting the
needs of cloud computing.
• Helps applications and frameworks for delivering
rich Internet applications (RIAs).
• http://www.evolutionoftheweb.com/
29

Web evolution
• Web 0.0 – Developing the Internet
• Web 1.0 – The shopping carts and Static web
• Web 2.0 – The writing and participating web
• Web 3.0 – The semantic executing web (r/w/e web)
• Web 4.0 – Mobile web
• Web 5.0 – Open, Linked and Intelligent Web (Emotional web)

• https://flatworldbusiness.wordpress.com/flat-
education/previously/web-1-0-vs-web-2-0-vs-web-3-0-a-bird-eye-on-
the-definition/
30

1.2.4 service oriented computing


• It is the core reference model for cloud computing.
• Supports the development of
• Rapid
• low-cost
• Flexible
• Interoperable applications and systems
• Virtually any piece of code that performs a task can be
turned into a service and expose its functionalities
through a network-accessible protocol.
31

• A service is an application or software or business model.


• Service must be
• loosely coupled
• Reusable
• programming language independent
• location transparent.
• Service-oriented computing introduces two important
concepts to cloud computing:
• quality of service (QoS)
• Software-as-a-Service (SaaS).
32

1.2.5 Utility oriented computing


• American scientist John McCarthy, @ Massachusetts Institute of
Technology (MIT) 1961, observed: If computers of the kind I have
advocated become the computers of the future, then computing may
someday be organized as a public utility, just as the telephone system
is a public utility.
• Computational science required huge compute power for addressing
“Grand Challenge” problems, and not all the institutions were able to
satisfy their computing needs internally.
• Access to external clusters still remained a common practice.
33

Contents
• 1.1 Cloud Computing at a Glance
• 1.2 Historical Developments
• 1.3 Building Cloud Computing
Environments
• 1.4 Virtualization
• Introduction
• Characteristics
• Taxonomy
• Virtualization and Cloud Computing
• Pros and Cons
• 1.6 Technology:
• Xen
• Vmware
• Microsoft Hyper-V
34

Building cloud computing environments


• Cloud computing environment = applications + systems
• Includes creation of:
• Frameworks
• Platforms
• Infrastructures
• This topic includes
• Application development
• Infrastructure and system development
• Computing platforms and technologies
• Amazon Web Services
• Google Appengine
• Microsoft Azure
• Hadoop
• Force.com and Salesforce.com
• Manjrasoft Aneka
35

1.3.1 Application development


• Clouds have characteristics to serve dynamically and
scale on demand
• Main applications gain advantage are:
• Web applications: Their performance is based on workloads
generated by varying users demand
• Resource-intensive applications: either data-intensive or compute-
intensive. Large amount of resources are not needed constantly for
a long duration.
36

1.3.2 Infrastructure and system


development
• Core technologies for enabling provision of cloud services
are:
• Distributed computing
• Virtualization
• Service orientation
• Web 2.0
• Knowledge across all these technologies are needed
• IaaS provides capabilities to add or remove resources
37

1.3.3. Computing platforms and


technologies
• We have to provide services from bare-metal
infrastructure to customizable applications serving specific
purpose.
• Some of the service providers are:
• Amazon web services
• Google Appengine
• Microsoft azure
• Hadoop
• Force.com and Salesforce.com
• Manjrasoft Aneka
38

Amazon web services


• Provides IaaS services ranging from virtual compute,
storage and networking
• Provides two service types:
• Compute and storage on-demand service by Elastic Compute
Cloud (EC2)
• Simple storage service (S3)
• EC2:
• provides customizable virtual hardware used as a base
infrastructure for deploying computing systems on cloud
• EC2 instances are deployed either by using AWS console or using
Web service APIs
• Also provides specific running instance as an image and thus
allows users to create their own templates for deploying systems
39

• S3:
• It is organized into buckets
• These are containers of objects that are stored in binary form and
can be enriched with attributes
• Users can store objects of any size
40

Google Appengine
• PaaS
• Mostly devoted to execute web applications
• Provides
• Secure execution environment
• Collection of services for development of scalable and high-
performance web applications
• Services includes: in-memory caching, scalable data
store, job queues, messaging
• Developers can build and test applications on their own
machines using Appengine SDK.
41

Microsoft azure
• PaaS
• Cloud operating system and platform
• Provides scalable runtime environment for web
applications and distributed applications
• Applications in Azure are organized on the concept of
roles
• Web role: designed to host web application
• Worker role: used to perform workload processing
• Virtual machine role: provides virtual environment in which
computing stack can be fully customized including OS
42

Hadoop
• PaaS
• Open source framework suited for processing large
datasets on commodity hardware
• Developed by Google provides 2 major operations: map
and reduce
• Provides runtime environment and developers need only
provide the input data and specify the map and reduce
functions that need to be executed.
43

Force.com and Salesforce.com


• Force.com is a cloud computing platform for developing
social enterprise applications
• This is the basis for Salesforce.com which is a SaaS for
customer relationship management
44

Manjrasoft Aneka
• PaaS
• Used to create scalable applications and their deployment
on various types of clouds in a seamless and elastic
manner
• Supports a collection of programming abstractions for
developing applications and distributed environment
deployed on heterogeneous hardware
45

Contents
• 1.1 Cloud Computing at a Glance
• 1.2 Historical Developments
• 1.3 Building Cloud Computing Environments

• 1.4 Virtualization
• Introduction
• Characteristics
• Taxonomy
• Virtualization and Cloud Computing
• Pros and Cons
• 1.5 Technology:
• Xen
• Vmware
• Microsoft Hyper-V
46

Virtualization
• Fundamental component of cloud computing
• Allows creation of secure, customizable and isolated
environment for running applications without affecting
other users applications
• A computer program to emulate an executing environment
separate from one that hosts such programs.
• For example, on the top of Windows OS, we can run
Linux OS.
• Used to provide additional capability with minimum costs
• Virtual machine (VM):
• A VM is a software implementation of a machine that executes
programs like a physical machine
• Each VM includes its own kernel, OS, supporting libraries and apps
47

Some scenarios
1. Desktop user wants to run
a copy of Windows on his
Linux computer running
simultaneously
2. A system architect wants
to run 3 different server
OS on one machine
3. Programmer wants to test
his programs on a platform
the customer is using
48

1.4.1. Introduction to virtualization


• Timeline of virtualization
• 1970s: virtual machines first used
• 1990s: x86 becomes prominent server platform
• 1999: Vmware first product to virtualize x86
• 2006: AMD and Intel offer hardware support
• Due to the following phenomena, virtualization gains
much importance:
• Increased performance and computing capacity
• Under utilized hardware and software resources
• Lack of space (building or office space)
• Greening initiatives
• Rise of administrative costs
49

1.4.2. Characteristics of virtualization


• Increased security
• Managed execution
• Sharing
• Aggregation
• Emulation
• Isolation
• Portability
50

1.4.3. Virtualization Taxonomy


• Based on hypervisor:
• Bare-metal hypervisor or system-level techniques
• Host level hypervisor or process-level techniques
• Types:
• Server virtualization: Oracle, SQL, Email, etc
• Example: Vmware ESX, Citrix XenServer, Microsoft Hyper-V
• Desktop virtualization: VDI (Virtual Desktop Infrastructure)
• Example: Citrix XenDesktop, Microsoft VDI, Vmware view
• Application virtualization: App on demand, No installation, easy
upgrade
• Example: Citrix XenApp, Vmware ThinApp, Microsoft App-V
51

• Other categories are:


• Execution virtualization
• Hardware-level virtualization
• Programming language-level virtualization
• Application-level virtualization

• Virtualize resources: memory, data, storage, network


52

1.4.4. Virtualization and cloud computing


• Virtualization is the ability to run virtual machines on top of a
hypervisor
• A hypervisor provides a uniform abstraction of the underlying
physical machine.
• Abstraction is the key idea in service models of cloud.

Terms Virtualization Cloud Computing


Definition Technology Methodology
Purpose Create multiple simulated Automate virtual resources on
environments demand
Use Deliver packaged resources Deliver variable resources
Lifespan Years Hours to months
Cost HCAPEXP, LOPEXP Private: same
Public: LCAPEXP, HOPEXP
Workload Stateful stateless
53

1.4.5 Pros and Cons


S.No Pros Cons
1 Hardware independent Less efficient
2 OS independent Unstable performance
3 Fast recovery Tools lack ability
4 Live backup Rapid deployment
5 Migrate data Latency of virtual disk
6 Reduced hardware Hardware compatibility issues
7 Run multiple OS Managing and securing is difficult
simultaneously
8 Cost savings
9 Use of multicore processors
10 Test and development
54

Contents
• 1.1 Cloud Computing at a Glance
• 1.2 Historical Developments
• 1.3 Building Cloud Computing Environments
• 1.4 Virtualization
• Introduction
• Characteristics
• Taxonomy
• Virtualization and Cloud Computing
• Pros and Cons

•1.5 Technology
• Xen
• Vmware
• Microsoft Hyper-V
55

Xen
• Motivation
• Overview of Xen
• CPU virtualization
56

Motivation
• Stronger isolation between applications
• Using separate machines is too expensive
• Separate processes is not sufficient
• Excess computing power
• Different OSs on the same machine
• Types of virtualization:
• Hardware-level virtualization
• Vmware, Xen
• Operating system-level virtualization
• Jails
• High-level language virtual machines
• Java VM
57

Overview of Xen
• Requires the guest OS to be ported
• Applications run without modifications
• Does not use a host OS
58

CPU virtualization
• In an ideal VM CPU,
• Sensitive instructions cause exceptions
• Instructions that change the machine state
• Instructions that read or write sensitive registers / memory

• Privileged instructions can only be successfully executed


from below the red line
• Some sensitive instructions are not privileged
•a
59

Xen CPU virtualization


• When the guest OS executes privileged instructions, the
x86 raises exceptions
• Xen catches these exceptions
• Guest OSs directly call Xen code instead of using
sensitive, unprivileged instructions
60

Vmware
Reasons for selecting Vmware:
• Reduce physical infrastructure cost
• Reduce data center operating cost (power, cooling)
• Minimize lost revenue due to downtime
61

Vmware server virtualization


62

Without vmware
63

With Vmware
64

Features of Vmware server virtualization


65

Features of Vmware server virtualization


66

Vmware VMotion
67
68

Microsoft Hyper-V
• Description:
• Hypervisor based virtualization platform
• Windows server 2008 x64 edition technology
• Standard, Enterprise and data center editions
• Hardware requirements:
• X64 server with hardware assisted virtualization
• AMD AMD-V or Intel-VT
• Hardware enabled Data execution prevention (DEP)
• AMD NX (No eXecute bit)
• Intel HD (eXecute Disable)

• Data Execution Prevention (DEP) is a set of hardware and software


technologies that perform additional checks on memory to help prevent
malicious code from running on a system
• ISV – Independent s/w vendor, IHV – Ind. h/w vendor, OEM – Original
equipment manufacturer, VSP – Virtualization Service Provider,VSC –
Virtualization Service Client, WMI – Windows Management
Instrumentation
69
70

Features of Hyper-V
1. Generation 2 VMs: Secure boot for VMs and booting off of virtual
SCSI or virtual network adapters
2. VM direct connect: Direct remote desktop connection to any
running VM over VM Bus.
3. Extend replication to a third site
4. Replica frequency options: By default, Hyper-V replica will look for
12 missed cycles before it switches into failed state
5. Compression for faster migration
6. Online VM exporting and cloning
7. Online virtual hard disk resizing
8. Shared virtual hard disk

You might also like