0% found this document useful (0 votes)
48 views37 pages

Cloud Lectures

ntu

Uploaded by

omar.nashwan.cys
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
48 views37 pages

Cloud Lectures

ntu

Uploaded by

omar.nashwan.cys
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 37

What is Cloud Computing?

§ What do you think?


§ “Cloud computing is an information technology (IT) paradigm that
enables ubiquitous access to shared pools of configurable system
resources and higher-level services that can be rapidly provisioned with
minimal management effort, often over the Internet. Cloud computing
relies on sharing of resources to achieve coherence and economies of
scale, similar to a public utility.” https://en.wikipedia.org/wiki/Cloud_computing

§ “Simply put, cloud computing is the delivery of computing services –


servers, storage, databases, networking, software, analytics and more –
over the Internet (“the cloud”). Companies offering these computing
services are called cloud providers and typically charge for cloud
computing services based on usage, similar to how you’re billed for gas
or electricity at home.” https://azure.microsoft.com/en-gb/overview/what-is-cloud-computing/
6
Cloud Computing Models, Resources, Attributes
Delivery models
Software as a Service (SaaS) Deployment models
Platform as a Service (PaaS) Public cloud

Infrastructure as a Service (IaaS) Private cloud


Community cloud
Hybrid cloud

Cloud computing
Infrastructure
Distributed infrastructure
Defining attributes
Resource virtualization
Massive infrastructure
Autonomous systems
Utility computing. Pay-per-usage
Resources
Accessible via the Internet
Compute & storage servers
Networks Services Elasticity

Applications

7
Early Models of Cloud Computing
§ Basic reasoning: information and data processing can be
done more efficiently on large farms of computing and
storage systems accessible via the Internet.
§ Two early models:
1. Grid computing – initiated by the National Labs in the
early 1990s; targeted primarily at scientific computing.
§ “Grid computing is the collection of computer resources from
multiple locations to reach a common goal. The grid can be thought
of as a distributed system with non-interactive workloads that
involve a large number of files.” from Wikipedia
2. Utility computing – initiated in 2005-2006 by IT
companies and targeted at enterprise computing.
§ “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.” from Wikipedia
8
Cloud computing - Characteristics
“Cloud Computing offers on-demand, scalable and elastic
computing (and storage services). The resources used for these
services can be metered and users are charged only for the
resources used. “ from the Book

Shared Resources and Resource Management:


1.Cloud uses a shared pool of resources
2.Uses Internet techn. to offer scalable and elastic services.
3.The term elastic computing refers to the ability of
dynamically and on-demand acquiring computing resources and
supporting a variable workload.
4.Resources are metered and users are charged accordingly.
5.It is more cost-effective due to resource-multiplexing. Lower
costs for the cloud service provider are past to the cloud users. 9
Cloud computing (contd)
Data Storage:
6.Data is stored:
§ in the “cloud”, in certain cases closer to the site where it is used.
§ appears to the users as if stored in a location-independent manner.
7.The data storage strategy can increase reliability, as well as
security, and can lower communication costs.

Management:
8.The maintenance and security are operated by service
providers.
9.The service providers can operate more efficiently due to
specialisation and centralisation.

10
Cloud Computing Advantages
1. Resources, such as CPU cycles, storage, network
bandwidth, are shared.

2. When multiple applications share a system, their peak


demands for resources are not synchronised thus,
multiplexing leads to a higher resource utilization.

3. Resources can be aggregated to support data-intensive


applications.

4. Data sharing facilitates collaborative activities. Many


applications require multiple types of analysis of shared
data sets and multiple decisions carried out by groups
scattered around the globe. 11
Cloud Computing Advantages

5. Eliminates the initial investment costs for a private


computing infrastructure and the maintenance and
operation costs.

6. Cost reduction: concentration of resources creates the


opportunity to pay as you go for computing.

7. Elasticity: the ability to accommodate workloads with


very large peak-to-average ratios.

8. User convenience: virtualization allows users to operate


in familiar environments rather than in idiosyncratic ones.
12
Types of clouds
1. Public Cloud - the infrastructure is made available to the
general public or a large industry group and is owned by
the organization selling cloud services.

2. Private Cloud – the infrastructure is operated solely for


an organization.

1. Hybrid Cloud - composition of two or more Clouds


(public, private, or community) as unique entities but
bound by a standardised technology that enables data and
application portability.

2. Other types: e.g., Community/Federated Cloud - the


infrastructure is shared by several organizations and
13
supports a community that has shared concerns.
Why cloud computing is (could) be successful
when other paradigms have failed?
§ It is in a better position to exploit recent advances in
software, networking, storage, and processor technologies
promoted by the same companies who provide Cloud
services.
§ Economical reasons: It is used for enterprise computing; its
adoption by industrial organizations, financial institutions,
government, and so on has a huge impact on the economy.
§ Infrastructures Management reasons:
§ A single Cloud consists of a mostly homogeneous (now more
heterogeneous) set of hardware and software resources.
§ The resources are in a single administrative domain (AD). Security,
resource management, fault-tolerance, and quality of service are
less challenging than in a heterogeneous environment with
resources in multiple ADs.
14
Challenges for cloud computing
1. Availability of service: what happens when the service
provider cannot deliver?

2. Data confidentiality and auditability, a serious problem.

3. Diversity of services, data organization, user interfaces


available at different service providers limit user mobility;
once a customer is hooked to one provider it is hard to
move to another.

4. Data transfer bottleneck; many applications are data-


intensive.

15
More challenges
5. Performance unpredictability, one of the consequences of
resource sharing.
§ How to use resource virtualization and performance isolation for
QoS guarantees?
§ How to support elasticity, the ability to scale up and down quickly?

6. Resource management: It is a big challenge to manage


different workloads running on large data centers. Are self-
organization and self-management the solution?

7. Security and confidentiality: major concern for sensitive


applications, e.g., healthcare applications.

Addressing these challenges is on-going work! 16


Cloud Delivery Models
1. Software as a Service (SaaS) (high level)
2. Platform as a Service (PaaS)
3. Infrastructure as a Service (IaaS) (low level)

source Wikipedia 17
Infrastructure-as-a-Service (IaaS)
§ Infrastructure is compute resources, CPU, VMs, storage, etc
§ The user is able to deploy and run arbitrary software, which
can include operating systems and applications.
§ The user does not manage or control the underlying Cloud
infrastructure but has control over operating systems,
storage, deployed applications, and possibly limited control
of some networking components, e.g., host firewalls.

§ Services offered by this delivery model include: server


hosting, storage, computing hardware, operating systems,
virtual instances, load balancing, Internet access, and
bandwidth provisioning.

18
§ Example: Amazon EC2
Platform-as-a-Service (PaaS)
§ Allows a cloud user to deploy consumer-created or acquired
applications using programming languages and tools
supported by the service provider.
§ The user:
§ Has control over the deployed applications and, possibly, application
hosting environment configurations.
§ Does not manage or control the underlying Cloud infrastructure
including network, servers, operating systems, or storage.
§ Not particularly useful when:
§ The application must be portable.
§ Proprietary programming languages are used.
§ The hardware and software must be customised to improve the
performance of the application.
§ Examples: Google App Engine, Windows Azure 19
Software-as-a-Service (SaaS)
§ Applications are supplied by the service provider.
§ The user does not manage or control the underlying Cloud
infrastructure or individual application capabilities.
§ Services offered include:
§ Enterprise services such as: workflow management,
communications, digital signature, customer relationship
management (CRM), desktop software, financial management, geo-
spatial, and search.
§ Not suitable for real-time applications or for those where
data is not allowed to be hosted externally.

§ Examples: Gmail, Salesforce


20
The Three delivery models of Cloud Computing

21
Cloud activities

§ Service management and provisioning including:


§ Virtualization.
§ Service provisioning.
§ Call center.
§ Operations management.
§ Systems management.
§ QoS management.
§ Billing and accounting, asset management.
§ SLA management.
§ Technical support and backups.

22
Cloud activities (contd)

§ Security management including:


§ ID and authentication.
§ Certification and accreditation.
§ Intrusion prevention.
§ Intrusion detection.
§ Virus protection.
§ Cryptography.
§ Physical security, incident response.
§ Access control, audit and trails, and firewalls.

23
Cloud activities (contd)

§ Customer services such as:


§ Customer assistance and on-line help.
§ Subscriptions.
§ Business intelligence.
§ Reporting.
§ Customer preferences.
§ Personalization.
§ Integration services including:
§ Data management.
§ Development.

24
Motivation
§ Three fundamental abstractions are necessary to describe the operation
of a computing systems:
(1) interpreters/processors, (2) memory, (3) communications links
§ As the scale of a system and the size of its users grows, it becomes
very challenging to manage its recourses (see three points above)

§ Resource management issues:


§ provision for peak demands à overprovisioning
§ heterogeneity of hardware and software
§ machine failures
§ Virtualization is a basic enabler of Cloud Computing, it
simplifies the management of physical resources for the three
abstractions

§ For example, the state of a virtual machine (VM) running under a virtual
machine monitor (VMM) can de saved and migrated to another server to
balance the load
§ For example, virtualization allows users to operate in environments they are
familiar with, rather than forcing them to specific ones

3
Motivation (contd)
§ “Virtualization, in computing, refers to the act of creating a
virtual (rather than actual) version of something,
including but not limited to a virtual computer hardware
platform, operating system (OS), storage device, or computer
network resources.” from Wikipedia

§ Virtualization abstracts the underlying resources; simplifies


their use; isolates users from one another; and supports
replication which increases the elasticity of a system

4
Motivation (contd)

§ Cloud resource virtualization is important for:


§ Performance isolation
§ as we can dynamically assign and account for resources across
different applications
§ System security:
§ as it allows isolation of services running on the same hardware
§ Performance and reliability:
§ as it allows applications to migrate from one platform to another
§ The development and management of services offered by a provider

5
Virtualization

§ Virtualization simulates the interface to a physical object by:


§ Multiplexing: creates multiple virtual objects from one instance of a
physical object. Many virtual objects to one physical. Example - a
processor is multiplexed among a number of processes or threads.
§ Aggregation: creates one virtual object from multiple physical
objects. One virtual object to many physical objects. Example - a
number of physical disks are aggregated into a RAID disk.
§ Emulation: constructs a virtual object of a certain type from a
different type of a physical object. Example - a physical disk
emulates a Random Access Memory (RAM).
§ Multiplexing and emulation. Examples - virtual memory with paging
multiplexes real memory and disk; a virtual address emulates a real
address.

6
Layering and Virtualization

§ Layering – a common approach to manage system complexity:


§ Simplifies the description of the subsystems; each subsystem is abstracted
through its interfaces with the other subsystems
§ Minimises the interactions among the subsystems of a complex system
§ With layering we are able to design, implement, and modify the individual
subsystems independently
§ Layering in a computer system:
§ Hardware
§ Software
§ Operating system
§ Libraries
§ Applications

7
Layering and Interfaces
A1 Applications

API

Libraries A2

ABI
System calls

Operating System A3

ISA
System ISA User ISA
Hardware

Application Programming Interface (API), Application Binary Interface (ABI), and


Instruction Set Architecture (ISA). An application uses library functions (A1),
makes system calls (A2), and executes machine instructions (A3) (from book) 8
Interfaces
§ Instruction Set Architecture (ISA) – at the boundary between
hardware and software.

§ Application Binary Interface (ABI) – allows the ensemble consisting of


the application and the library modules to access the hardware; the ABI
does not include privileged system instructions, instead it invokes system
calls.

§ Application Program Interface (API) - defines the set of instructions


the hardware was designed to execute and gives the application access to
the ISA; it includes high-level language (HLL) library calls which often
invoke system calls

9
Code portability

§ Binaries created by a compiler for a specific ISA and a specific operating


systems are not portable

§ It is possible, though, to compile a HLL program for a virtual machine


(VM) environment where portable code is produced and distributed and
then converted by binary translators to the ISA of the host system

§ A dynamic binary translation converts blocks of guest instructions


from the portable code to the host instruction and leads to a significant
performance improvement, as such blocks are cached and reused

10
HLL Language Translations
HLL code

Compiler front-end Compiler

Intermediate Portable
code code

Compiler back-end VM loader

Object code VM image

VM compiler/ VM compiler/
Loader
interpreter interpreter

Memory Memory Memory


image image ISA-1 image ISA-2

11
History of Virtualization
(from “Modern Operating Systems” 4th Edition, p474 by Tanenbaum and Bos)

§ 1960’s, IBM: CP/CMS control program: a virtual machine operating


system for the IBM System/360 Model 67
§ 2000, IBM: z-series with 64-bit virtual address spaces and backward
compatible with the System/360
§ 1974: Popek and Golberg from UCLA published “Formal Requirements
for Virtualizable Third Generation Architectures” where they listed the
conditions a computer architecture should satisfy to support virtualization
efficiently. The popular x86 architecture that originated in the 1970s did
not support these requirements for decades.
§ 1990’s, Stanford researchers, VMware: Researchers developed a
new hypervisor and founded VMware, the biggest virtualization company
of today’s. First virtualization solution was is 1999 for x86.
§ Today many virtualization solutions: Xen from Cambridge, KVM, Hyper-V,

§ IBM was the first to produce and sell virtualization for the mainframe.
But, VMware popularised virtualization for the masses.
12
Virtual Machine Monitor (VMM / Hypervisor)
§ A virtual machine monitor (VMM/hypervisor) partitions the
resources of computer system into one or more virtual machines
(VMs). Allows several operating systems to run concurrently on a
single hardware platform
§ A VM is an execution environment that runs an OS
§ VM – an isolated environment that appears to be a whole computer, but
actually only has access to a portion of the computer resources
§ A VMM allows:
§ Multiple services to share
the same platform
§ Live migration - the movement
of a server from one platform to another
§ System modification while maintaining
backward compatibility with the original system
§ Enforces isolation among the systems, thus security
§ A guest operating system is an OS that runs in a VM under the 13
control of the VMM.
VMM Virtualizes the CPU and the Memory
§ A VMM (also hypervisor) (howto):
§ Traps the privileged instructions executed by a guest OS and
enforces the correctness and safety of the operation
§ Traps interrupts and dispatches them to the individual guest
operating systems
§ Controls the virtual memory management
§ Maintains a shadow page table for each guest OS and replicates any
modification made by the guest OS in its own shadow page table.
This shadow page table points to the actual page frame and it is
used by the Memory Management Unit (MMU) for dynamic address
translation.
§ Monitors the system performance and takes corrective actions to
avoid performance degradation. For example, the VMM may swap
out a VM to avoid thrashing.

14
Type 1 and 2 Hypervisors
Type 1 Hypervisor Type 2 Hypervisor

§ Taxonomy of VMMs:
1. Type 1 Hypervisor (bare metal, native): supports multiple virtual machines
and runs directly on the hardware (e.g., VMware ESX , Xen, Denali)
2. Type 2 Hypervisor (hosted) VM - runs under a host operating system (e.g.,
user-mode Linux)

15
Examples of Hypervisors

16
Performance and Security Isolation
§ The run-time behavior of an application is affected by other applications
running concurrently on the same platform and competing for CPU
cycles, cache, main memory, disk and network access. Thus, it is
difficult to predict the completion time!

§ Performance isolation - a critical condition for QoS guarantees in shared


computing environments

§ A VMM is a much simpler and better specified system than a traditional


operating system. Example - Xen has approximately 60,000 lines of
code; Denali has only about half: 30,000

§ The security vulnerability of VMMs is considerably reduced as the


systems expose a much smaller number of privileged functions. For
example, Xen VMM has 28 hypercalls while Linux has 100s of system
calls
17
Conditions for Efficient Virtualization (from Popek and Goldberg) :

§ Conditions for efficient virtualization (from Popek and Goldberg) :


1. A program running under the VMM should exhibit a behavior essentially
identical to that demonstrated when running on an equivalent machine
directly.
2. The VMM should be in complete control of the virtualized resources.
3. A statistically significant fraction of machine instructions must be executed
without the intervention of the VMM. (Why?)

18
Dual-Mode Operation (recap)
§ Dual-mode operation allows OS to protect itself and other
system components
§ User mode and kernel mode
§ Mode bit provided by hardware
§ Ability to distinguish when system is running user or kernel code
§ Some instructions are privileged, only executable in kernel mode
§ System call changes mode to kernel, return resets it to user

19
User-mode vs Kernel-mode (recap)

§ Kernel-code (in particular, interrupt handlers) runs in kernel


mode
§ the hardware allows all machine instructions to be executed and
allows unrestricted access to memory and I/O ports
§ Everything else runs in user mode
§ The OS relies very heavily on this hardware-enforced
protection mechanism

20

You might also like