350 likes | 554 Views
NETE4631 Cloud-enabling technologies and standards. Lecture Notes #2. Recap – Definition if Cloud Computing.
E N D
NETE4631Cloud-enabling technologies and standards Lecture Notes #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
Lecture Outline • Existing technologies • Abstraction and Virtualization • Load balancing • Hypervisor and its types • Communication protocols and Services
Existing technologies • Grid Computing • Utility Computing • Virtualization
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.
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)
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)
Virtualization type • Platform virtualization • Virtual memory • Storage virtualization • Network virtualization • Memory virtualization • Application virtualization • Desktop virtualization • Data Center Virtualization
Virtualization Platform virtualization
Which technologies make up Cloud? Grid Computing Utility Computing + Virtualization Technology Cloud
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
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
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
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
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)
Types of Hypervisors • Types of Hypervsiors : Reproduced Figure 5.1 from Sosinsky, B., Cloud Computing Bible, 2011.
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
Client • Hypertext Markup Language (HTML) • Tags for separating content and HTML code • Cascading Style Sheets for controlling the presentation
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
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
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
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
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
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 evolvability
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
References • Course book – Chapter 3, 5
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.