30
1 NETE4631 Cloud-enabling technologies and standards Lecture Notes #2

NETE4631 Cloud-enabling technologies and standards

Embed Size (px)

DESCRIPTION

NETE4631 Cloud-enabling technologies and standards. Lecture Notes #2. Recap – Definition if Cloud Computing. - PowerPoint PPT Presentation

Citation preview

Page 1: NETE4631 Cloud-enabling technologies and  standards

1

NETE4631Cloud-enabling technologies and

standards

Lecture Notes #2

Page 2: NETE4631 Cloud-enabling technologies and  standards

2

Recap – Definition if Cloud Computing “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.” (A definition by the US National institute of standards and technology (NIST))

Some of the characteristics Distributed computing at a massive scale On demand elasticity Exploiting existing technologies (Grid, Utility,

Virtualization) Pay per use model Driven by economies of scale

Page 3: NETE4631 Cloud-enabling technologies and  standards

Recap (2) - Cloud Types

3

Page 4: NETE4631 Cloud-enabling technologies and  standards

4

Recap (3) - Benefits VS Challenges

Benefits ChallengesOn-demand self-serviceBroad network accessResource poolingRapid elasticityMeasured serviceLower costsEase of utilizationQuality of ServiceReliabilityOutsourced IT managementSimplified maintenance and upgradeLow barrier to entry

SecurityInteroperabilityReliabilityLaws and regulationsOrganizational changesCost

Page 5: NETE4631 Cloud-enabling technologies and  standards

Lecture Outline

Existing technologies Abstraction and Virtualization Load balancing Hypervisor and its types Communication protocols and

Services

5

Page 6: NETE4631 Cloud-enabling technologies and  standards

Existing technologies

Grid Computing Utility Computing Virtualization

6

Page 7: NETE4631 Cloud-enabling technologies and  standards

Grid Computing Grid computing combines computers from

multiple administrative domains to reach a common goal, to solve a single task. (Wikipedia)

One of the main strategies of grid computing is to use middleware to divide and apportion pieces of a program among several computers, sometimes up to many thousands.

Grid computing involves computation in a distributed fashion, which may also involve the aggregation of large-scale cluster computing-based systems.

7

Page 8: NETE4631 Cloud-enabling technologies and  standards

Utility Computing

Utility computing is the packaging of computing resources, such as computation, storage and services, as a metered service. This model has the advantage of a low or no initial cost to acquire computer resources; instead, computational resources are essentially rented. (Wikipedia)

8

Page 9: NETE4631 Cloud-enabling technologies and  standards

Virtualization Technology

Virtualization is the creation of a virtual (rather than actual) version of something, such as a hardware platform, operating system (OS), storage device, or network resources. (Wikipedia)

9

Page 10: NETE4631 Cloud-enabling technologies and  standards

Virtualization type

Platform virtualization Virtual memory Storage virtualization Network virtualization Memory virtualization Application virtualization Desktop virtualization Data Center Virtualization

10

Page 11: NETE4631 Cloud-enabling technologies and  standards

Virtualization

11Platform virtualization

Page 12: NETE4631 Cloud-enabling technologies and  standards

Which technologies make up Cloud?

12

Grid Computing

Utility Computing+

Virtualization Technology

Cloud

Page 13: NETE4631 Cloud-enabling technologies and  standards

13

Abstraction and Virtualization

Virtualization supports “Abstraction” Abstraction is the key concept in providing

the promised benefits of cloud computing Mapping a logical address (id) to a set

of physical resources Virtual servers Virtual storage Virtual networks

Load balancing Hypervisor Porting applications between vendors

Page 14: NETE4631 Cloud-enabling technologies and  standards

Virtualization (2)

Virtualization is a key enabler of abstraction and cloud computing –logical address for extendable and scalable physical resources

Types of virtualization Virtualization support for cloud computing

attributes Service-based Scalable and elastic Shared services Metered usage Internet delivery

14

Page 15: NETE4631 Cloud-enabling technologies and  standards

Load Balancing

Virtualized network access to a service through load balancing technology –Hardware or software based

Resources to be load balanced Network interfaces and services such as

DNS, FTP, HTTP Connections through intelligent switches Processing through computer system

assignment Storage resources Access to application instances

15

Page 16: NETE4631 Cloud-enabling technologies and  standards

Load Balancing (2)

A load balancer listens to service request and uses a scheduling algorithm to assign the request

Keeps the record of a request’s session to support a failover for the request

16

Page 17: NETE4631 Cloud-enabling technologies and  standards

Hypervisor

A low level program that provides system resources access to virtual machines

Hypervisor is also called Virtual Machine Monitor (VMM)

One level higher than the supervisory program for a hardware and/or hardware & OS

Presents a virtual platform to a guest OS and manages its functioning

Two types of Hypervisor Type 1 or full virtualization (Oracle VM, Vmware ESX) Type 2 or paravirtualization (Xen)

17

Page 18: NETE4631 Cloud-enabling technologies and  standards

Types of Hypervisors

18

Types of Hypervsiors : Reproduced Figure 5.1 from Sosinsky, B., Cloud Computing Bible, 2011.

Page 19: NETE4631 Cloud-enabling technologies and  standards

Communication

Communication HTTP 1.0 and 1.1 (W3C) Provide 8 different ways of request (HEAD, GET, POST)

XMPP Extensible Messaging Presence Protocol (XMPP) –provides

two ways of communication as compared to one way Pooling can be problematic Because of two ways communication, no pooling required XML-based and easily extensible Efficient and can easily scale to millions of concurrent

users Security

Secure Socket Layer (SSL) Open ID and PCI DSS

19

Page 20: NETE4631 Cloud-enabling technologies and  standards

Client

Hypertext Markup Language (HTML) Tags for separating content and HTML

code Cascading Style Sheets for controlling

the presentation

20

Page 21: NETE4631 Cloud-enabling technologies and  standards

21

Client (2) Dynamic HTML

Provides more control over HTML elements on client side

Document Object Model (DOM) Scripts (e.g., JavaScript and ActiveX) Changing the tags and properties Real-time positioning Dynamic fonts (Netscape feature only) Data binding (IE feature only)

JavaScript

Page 22: NETE4631 Cloud-enabling technologies and  standards

Service A web service “is a software system designed

to support interoperable machine-to-machine interaction over a network” W3C

Data JSON: JavaScript Object Notation computer data

interchange format –transmitted after serialization –alternative to XML

JSON Basics: Based on subset of JavaScript –language independent

JSON should be used instead of XML when JavaScript is used –less CPU overhead and less coding as no need to use DOM for data extraction because an object is already an object in JSON

22

Page 23: NETE4631 Cloud-enabling technologies and  standards

XML: Extensible Markup Language

Provides a standardized way to represent text and data for platform independence

HTML and XML XML is extensible by end users while

W3C defines HTML

23

Page 24: NETE4631 Cloud-enabling technologies and  standards

XML: Extensible Markup Language (2)

Key features Self-descriptive data –no type or relation

definition Database integration: multiple types of data No programmatic modification –XSL Style sheet

can handle Open Server view of data –only one view of

data, even located at different places Open and extensible Contains machine-readable context information Content vs. presentation

24

Page 25: NETE4631 Cloud-enabling technologies and  standards

Web Services

Representational state transfer (REST) An architectural style based on

Internet-based technologies like HTTP and XML

Easier to use compared with SOAP which has much richer functionality

Resources are sources of specific information and each of them is referred by a global identifier, URI

25

Page 26: NETE4631 Cloud-enabling technologies and  standards

Web Services (2)

Potential benefits Better response time and reduced

server load -caching No need to maintain session state Only browser is enough at the client

side No separate resource discover,

hyperlinks are sufficient Better long term compatibility and

evolvability26

Page 27: NETE4631 Cloud-enabling technologies and  standards

SOAP Simple Object Access Protocol (SOAP)

Support communication between two different systems

Procedure calls Remote Procedure Calls (RPC) wouldn’t go

through firewall with HTTP SOAP solves this problem by describing how

to encode an HTTP header and an XML file –so a program can call an other program, both running on different computers, in a way that program calls can get through firewalls

27

Page 28: NETE4631 Cloud-enabling technologies and  standards

References

Course book – Chapter 3, 5

28

Page 29: NETE4631 Cloud-enabling technologies and  standards

THANK YOU!!!!!

29

Page 30: NETE4631 Cloud-enabling technologies and  standards

References of Lecture note#1

Armbrust, M., et al., 2010, A View of Cloud Computing, ACM, 53(4), pp. 50-58.

Zhang, Q., Cheng, L., Boutaba, R., Cloud Coomputing: state-of-the-art and research challenges, Journal of Internet Services and Applications, 2010, 1:7-18.

The Future of Cloud Computing: Opportunities for European Cloud Computing Beyond 2010.

30