14

Click here to load reader

Cloud Computing Enabling Technologies · Course Summary IEEE eLearning Library Cloud Computing Enabling Technologies Transcript pg. 3 / 14 In this tutorial we will review Service

  • Upload
    dokiet

  • View
    212

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Cloud Computing Enabling Technologies · Course Summary IEEE eLearning Library Cloud Computing Enabling Technologies Transcript pg. 3 / 14 In this tutorial we will review Service

Cloud Computing Enabling Technologies

Cloud Strategy Partners, LLC

Sponsored by: IEEE Educational Activities and IEEE Cloud Computing

Page 2: Cloud Computing Enabling Technologies · Course Summary IEEE eLearning Library Cloud Computing Enabling Technologies Transcript pg. 3 / 14 In this tutorial we will review Service

Course Presenter’s Biography

IEEE eLearning Library Cloud Computing Enabling Technologies Transcript pg. 2 / 14

This IEEE Cloud Computing tutorial has been developed by Cloud Strategy Partners, LLC. Cloud Strategy Partners, LLC is an expert consultancy firm that specializes in Technology and Strategy relating to Cloud Computing.

Page 3: Cloud Computing Enabling Technologies · Course Summary IEEE eLearning Library Cloud Computing Enabling Technologies Transcript pg. 3 / 14 In this tutorial we will review Service

Course Summary

IEEE eLearning Library Cloud Computing Enabling Technologies Transcript pg. 3 / 14

In this tutorial we will review Service Oriented Architecture (SOA) and Web Services. This is followed by virtualization technologies and components as well as virtualization platforms such as Xen, KVM, VMware, VirtualBox, Hyper-V. We will also review virtual disk images and finally network virtualization.

Page 4: Cloud Computing Enabling Technologies · Course Summary IEEE eLearning Library Cloud Computing Enabling Technologies Transcript pg. 3 / 14 In this tutorial we will review Service

Transcript

IEEE eLearning Library Cloud Computing Enabling Technologies Transcript pg. 4 / 14

Course Outline In this Lesson, we will cover:

♦ Service Oriented Architecture (SOA) and Web Services ♦ Virtualization technologies and components ♦ Virtualization platforms like Xen, KVM, VMware, Virtual Box, Hyper-V ♦ Virtual disk images ♦ Network virtualization

Service Oriented Architecture (SOA) and Web Services SOA provides a general model for services interaction. It was invented to allow systems to interact with each other via services, even if the underlying implementations are very different. For example, the SOA interfaces in a system built on top of Microsoft .NET expose identical interface mechanisms and semantics as for example a J2EE implementation Technically, SOA is used as an architectural approach to creating systems built from autonomous services. SOA supports communication between user client, application, processes and data access. Web Services is a commonly used SOA implementation platform. Web Services include such technologies as HTTP, XML, WSDL, SOAP, REST, and UDDI.

We are going to spend a little time with SOA and Web Services because they are the most common model for cloud services management and interfaces.

Web Services Architecture and Main Actors In Web Services, as the illustration shows, there are three main actors –a Service Consumer (seeking to use a service), a Service Registry (which will help the Service Consumer find a fulfilling Service), and a Service Provider, who has the service which the Service Consumer wants. As the illustration shows, there is well defined process flow involving protocols and conventions like WSDL and UDDI which have been created specifically for use with Web Services.

Page 5: Cloud Computing Enabling Technologies · Course Summary IEEE eLearning Library Cloud Computing Enabling Technologies Transcript pg. 3 / 14 In this tutorial we will review Service

Transcript

IEEE eLearning Library Cloud Computing Enabling Technologies Transcript pg. 5 / 14

SOAP and Web Services Web Services can be implemented with a variety of service description languages and with a variety of communications protocols and conventions. The standards for Web Services call for specific implementations of this things, as described in the illustration. Web Services Description Language (WSDL) provides platform independent description of services functionality.

♦ SOAP (Simple Object Access Protocol) is an XML protocol for Web Services. ♦ SOAP Message structure contains Message Header and Message Body

SOAP Message Structure and Example Here is an illustration, and implementation in XML, of a SOAP Message Structure. Note that the communications protocol used is HTTP. This was chosen because HTTP can freely move across firewalls in corporate networks and so is likely to be able to access endpoints wherever they are in the enterprise, without having to reconfigure firewalls or networks.

Note the Envelope, Header, and Body structure for the Soap message itself.

Representative State Transfer (REST) protocol REST is an Alternative for SOAP in Web Services. REST describes a set of architectural principles by which data can be transmitted over a standardized interface (such as HTTP). REST does not contain an additional messaging layer and focuses on design rules for creating stateless services. A client can access the resource using the unique URI and a representation of the resource is returned. With each new resource representation, the client is said to transfer state. While accessing RESTful resources with HTTP protocol, the URL of the resource serves as the resource identifier and GET, PUT, DELETE, POST and HEAD are the standard HTTP operations to be performed on that resource. For publishing a complex application program interface (API) to the outside world, SOAP will be more useful. For lightweight and faster results and simple transactions (i.e., CRUD operations) is needed, use REST.

Page 6: Cloud Computing Enabling Technologies · Course Summary IEEE eLearning Library Cloud Computing Enabling Technologies Transcript pg. 3 / 14 In this tutorial we will review Service

Transcript

IEEE eLearning Library Cloud Computing Enabling Technologies Transcript pg. 6 / 14

REST Request/Response Example This slide provides a REST Request/Response Example First part is the Request Second part is the Response

Virtualization technologies and components Now we will switch gears and look at Virtualization technologies and components. We will look at Services/applications hosting and virtualization. Virtualization models and platforms Virtual disk images

Virtualization environment components (1) This slide shows how services run on a computer without using virtualization. On the left, we see a hardware platform, with “Firmware” (the Basic Input Output System BIOS), an Operating System, and applications. These are sometimes called “processes” or “services”. They are “executable” programs with a “main()” which access the “system calls” –the user space to OS (sometimes called “kernel” or system) API’s.

On the right we see the same diagram, where the executable is a services container. In this case, it is acting as a “container” for other services. What is really happening here is that the “container” is actually the executable, it contains “main()” and accesses the system calls. The services are libraries (classes) which are executed in the context of the container. The developer only needs to worry about applications logic, because usually the container will handle housekeeping like file pointers, memory allocation, and other plumbing. Also usually, the services will expose themselves as Web Services.

Virtualization environment components (2) Now let’s look at the introduction of a new layer to the same scheme. This slide illustrates the introduction of a virtual machine concept, where a module called the hypervisor provides VM isolation and CPU, Memory, and I/O virtualization. This has the effect of allowing for running multiple OS on one computer and Operating System. In other words, each VM “thinks” it is running on its own OS on its own machine.

Powerful machines can actually support many, many VM’s on a single physical server. It is challenging for the system administrator to manage all of these VM’s. A management layer has been developed which includes some automation and orchestration for all these VM’s.

Page 7: Cloud Computing Enabling Technologies · Course Summary IEEE eLearning Library Cloud Computing Enabling Technologies Transcript pg. 3 / 14 In this tutorial we will review Service

Transcript

IEEE eLearning Library Cloud Computing Enabling Technologies Transcript pg. 7 / 14

This allows for bulk or programmatic control of the BM’s so they can be stopped en masse, or started, or moved.

This layer is called the Cloud Management Software or sometimes the Cloud System Software, or simply the CloudOS. Examples of a CloudOS are Open Nebula, or OpenStack. Now we see that ta CloudOS is really an “automated, virtualization management system”.

Cloud Properties Enabled by Virtualization Virtualization is the catalytic element which enables much of breakthroughs attributed to Cloud Computing, In the following slides we are going to to speak about Cloud Properties Enabled by Virtualization

♦ Scalability--Virtual machine system automatic scale up ♦ Availability --Fault tolerant of hardware and software ♦ Manageability--Automatic physical to virtual system transformation ♦ Performance--Dynamically virtual machine level load balancing

Hypervisor types and Virtualization platforms First of all we need to consider the fundamentals of Hypervisor types and Virtualization platforms. The slides show illustrations of the different types of Hypervisors. While they end up accomplishing much the same thing, their architecture is somewhat different.

♦ Type 1 (or bare metal) hypervisors run directly on the host's hardware and allow managing guest operating systems, provides also access to hardware functions from the guest systems.

♦ Type 2 (or hosted) hypervisors run on a general purpose operating-systems. It allows running multiple guest operating systems on the same platform without changing host operating system.

We will review the major characteristics of the leading hypervisors in the following slides

Vendors and Projects This slide describes three major Hypervisor projects Xen, KVM, and VMware Xen First developed in University of Cambridge Computer Laboratory. As of 2010 the Xen community develops and maintains Xen as free software, licensed under the GNU General Public License (GPLv2). Implements para-virtualization

Page 8: Cloud Computing Enabling Technologies · Course Summary IEEE eLearning Library Cloud Computing Enabling Technologies Transcript pg. 3 / 14 In this tutorial we will review Service

Transcript

IEEE eLearning Library Cloud Computing Enabling Technologies Transcript pg. 8 / 14

Kernel Virtual Machine KVM (Kernel-based Virtual Machine) A Linux kernel virtualization infrastructure. As of 2010, KVM supports native virtualization using Intel VT-x or AMD-V. Vmware (ESX Hypervisor). The company was founded in 1998 and is based in Palo Alto, California. The company is majority owned by EMC Corporation. Implements both type-1 and type-2 hypervisors

Xen Open-Source Hypervisor Now a closer look at Xen. Xen is an open-source type-1 or “baremetal” hypervisor, enabling many instances of an operating system or different operating systems in parallel on a single machine Xen is widely used, it has a small footprint, and it is operating system agnostic. Xen can run on hardware that doesn't support virtualization extensions because it is a type-1 “baremetal” hypervisor, there is a base OS, and guest OS’s.

Hardware Assistance in Xen Xen does have special capability supporting Hardware Assistance. It enables a guest OS to be run without modification, for example, legacy Linux and Windows It provides simple platform emulation all the way down to the BIOS One can install para-virtualized drivers after booting for high-performance IO It also allows for CPU and memory para-virtualization

New Xen Architecture On the left, the virtual machine host’s Domain0 is shown running the Linux operating system. The virtual machine in the middle is running paravirtualized operating systems. The two virtual machines on the right show a fully virtual machine running an unmodified operating system, e.g. Windows 7 or Windows 8.

Xen Cloud Platform (XCP) The Xen Cloud Platform (XCP) was an early virtualization platform based on the Xen Hypervisor, adding further functionality and much integration for cloud, storage and networking solutions. It is not used so much anymore as there are several new and more complete Cloud Platforms available, However it is a good system to study to understand how Cloud and Virtualization work together.

Page 9: Cloud Computing Enabling Technologies · Course Summary IEEE eLearning Library Cloud Computing Enabling Technologies Transcript pg. 3 / 14 In this tutorial we will review Service

Transcript

IEEE eLearning Library Cloud Computing Enabling Technologies Transcript pg. 9 / 14

KVM for Linux Kernel-based Virtual Machine (KVM) is a hardware-assisted, fully virtualized solution for Linux on x86 hardware that contains virtualization extensions (specifically Intel VT or AMD-V). KVM can host different guest operating systems without their modification. It consists of a loadable kernel module, kvm.ko, that provides the core virtualization infrastructure and a processor specific module, kvm-intel.ko or kvm-amd.ko With KVM, the host computer can run multiple guests virtual machines running different operating systems. Each of these virtual machines has private, virtualized hardware, including a network card, storage, memory, and graphics adapter. KVM uses special hardware virtualization extensions for both Intel and AMD Intel VT improves the fundamental flexibility and robustness of traditional software-based virtualization solutions by accelerating key functions of the virtualized platform AMD-V is a set of hardware extensions for the X86 processor architecture to perform repetitive tasks normally performed by software and improve virtual machine (VM) performance.

KVM Full Virtualization This slide illustrates how KVN and QEMU work together.

Windows Hyper-V Microsoft has it’s own Hypervisor called Windows Hyper-V Hyper-V is a native hypervisor that enables platform virtualization on x86-64 systems Hyper-V implements isolation of virtual machines in terms of a partition A hypervisor instance has to have at least one parent partition, running a supported version of Windows Server (2008 or 2012)

Hyper-V High Level Architecture The following acronyms for the functional components are used:

♦ APIC –Advanced Programmable Interrupt Controller –A device which allows priority levels to be assigned to its interrupt outputs.

♦ Child Partition – Partition that hosts a guest operating system -All access to physical memory and devices by a child partition is provided via the Virtual Machine Bus (VMBus) or the hypervisor.

♦ Hypercall – Interface for communication with the hypervisor -The hypercall interface accommodates access to the optimizations provided by the hypervisor.

Page 10: Cloud Computing Enabling Technologies · Course Summary IEEE eLearning Library Cloud Computing Enabling Technologies Transcript pg. 3 / 14 In this tutorial we will review Service

Transcript

IEEE eLearning Library Cloud Computing Enabling Technologies Transcript pg. 10 / 14

♦ Hypervisor –A layer of software that sits between the hardware and one or more operating systems. Its primary job is to provide isolated execution environments called partitions. The hypervisor controls and arbitrates access to the underlying hardware.

♦ IC –Integration component – Component that allows child partitions to communication with other partitions and the hypervisor.

♦ I/O stack – Input/output stack ♦ MSR –Memory Service Routine ♦ Root Partition – Manages machine-level functions such as device drivers, power

management, and device hot addition/removal. The root (or parent) partition is the only partition that has direct access to physical memory and devices.

♦ VID – Virtualization Infrastructure Driver –Provides partition management services, virtual processor management services, and memory management services for partitions.

♦ VMWP –Virtual Machine Worker Process –A user mode component of the virtualization stack. The worker process provides virtual machine management services from the Windows Server 2008 instance in the parent partition to the guest operating systems in the child partitions. The Virtual Machine Management Service spawns a separate worker process for each running virtual machine.

♦ VMMS –Virtual Machine Management Service – Responsible for managing the state of all virtual machines in child partitions.

♦ VMBus – Channel-based communication mechanism used for inter-partition communication and device enumeration on systems with multiple active virtualized partitions. The VMBus is installed with Hyper-V Integration Services.

♦ VSC – Virtualization Service Client –A synthetic device instance that resides in a child partition. VSCs utilize hardware resources that are provided by Virtualization Service Providers (VSPs) in the parent partition. They communicate with the corresponding VSPs in the parent partition over the VMBus to satisfy a child partitions device I/O requests.

♦ VSP – Virtualization Service Provider – Resides in the root partition and provide synthetic device support to child partitions over the Virtual Machine Bus (VMBus).

♦ WinHv – Windows Hypervisor Interface Library -WinHv is essentially a bridge between a partitioned operating system’s drivers and the hypervisor which allows drivers to call the hypervisor using standard Windows calling conventions

♦ WMI –The Virtual Machine Management Service exposes a set of Windows Management Instrumentation (WMI)-based APIs for managing and controlling virtual machines.

Page 11: Cloud Computing Enabling Technologies · Course Summary IEEE eLearning Library Cloud Computing Enabling Technologies Transcript pg. 3 / 14 In this tutorial we will review Service

Transcript

IEEE eLearning Library Cloud Computing Enabling Technologies Transcript pg. 11 / 14

VMware Architecture VMware, with the ESX Hypervisor, is the most industry used virtualization platform. The slide illustrates the top level functionality of VMware.

VMware vSphere Hypervisor VMware has extended the ESX hypervisor and called it ESXi. It is included with vSphere, which has additional capabilities above just the hypervisor and is is positioned as Cloud Computing virtualization Operating System. This version of the hypervisor is available since vSphere 5.5. Vsphere allows consolidating applications onto fewer servers and saving money through reduced hardware, power, cooling, and administration costs.

VMware Virtualization Stack This slide illustrates the VMware Virtualization Stack. Note that VMware supplies elements not only at the Hypervisor layer, but at the more complete “OS” level including distributed virtualization and management automation.

VMware ESX Server Architecture The virtual machine monitor VMM is the process that provides the execution environment for a virtual machine, as well as a helper process known It supports running multiple virtual machines and provides such core functionality as:: -Resource scheduling -I/O stacks -Device drivers as VMX. Each running virtual machine has its own VMM and VMX process.

VirtualBox by Oracle VirtualBox is Oracle’s offering which came from Sun originally. VirtualBox is very powerful but somewhat simpler than the other hypervisor systems.

libvirt virtualization API One challenge which emerges is that each of the virtualization systems has different interfaces for control and management. A library called libvirt was developed to address this issue. It is a common library used with most of virtualization platforms as well as with cloud management platforms.

Page 12: Cloud Computing Enabling Technologies · Course Summary IEEE eLearning Library Cloud Computing Enabling Technologies Transcript pg. 3 / 14 In this tutorial we will review Service

Transcript

IEEE eLearning Library Cloud Computing Enabling Technologies Transcript pg. 12 / 14

It can be used to manage Linux KVM, Xen, VMware ESX, VirtualBox, Hyper-V and other virtualization technologies

Virtual Disk Images Along with the hypervisor, a disk image nees to be supplied, Each of the hypervisors specify a different virtual disk image format.

♦ vmdk for VMware VMDK ♦ vhd and .vhdx for Xen and Microsoft Hyper-V ♦ vdi for Oracle VM VirtualBox ♦ vhdx for Windows Server 2012

VHDX “Drive” Let us look at one of these virtual drive formats: VHDX The VHDX format also provides the following features: Larger block sizes for dynamic and differencing disks, to allow workload tuning A4-KB logical sector virtual disk that allows for increased performance when used by applications and workloads that are designed for 4-KB sectors The ability to store custom metadata about the file, such as operating system version or patches applied Efficiency in representing data (also known as “trim”), which results in smaller file size and allows the underlying physical storage device to reclaim unused space

The Big “Aha” - Networking has become Software The CPU is not the only thing which is getting virtualized. Along with each virtualized CPU come virtualized NICs and a virtual switch to connect them. Traffic among the VMs and the outside world is managed by a virtual switch. The virtual switch exists in software built into the hypervisor, it is NOT a separate physical device. In a typical rack of virtualized equipment, most of the networking (by a long shot) is through virtual NICs and virtual switches. This has a profound impact on networking vendors and on the way systems are configured and built. So now we will go on to understand more about virtualized networking.

Network Components and Virtualization We have seen that within the cloud, network virtualization is a part of virtualized cloud infrastructure and services. Outside the cloud and to/from the cloud, a VPNis used to securely interconnect cloud based services and enterprise or user premises. Furthermore, there is still a network topology core components Network Interface card (NIC), Switch, Router, Firewall, Cache Network hierarchy: Domain, DNS, Autonomous System.

Page 13: Cloud Computing Enabling Technologies · Course Summary IEEE eLearning Library Cloud Computing Enabling Technologies Transcript pg. 3 / 14 In this tutorial we will review Service

Transcript

IEEE eLearning Library Cloud Computing Enabling Technologies Transcript pg. 13 / 14

REF: Relations between OSI and TCP/IP models This slide shows the relationship between the OSI model an the TCP/IP model for our reference.

TCP/IP Protocol Stack and Network Security protocols This slide shows the larger TCP/IP Protocol Stack and Network Security protocols

Internet Applications and Related Protocol Just to be more concrete, may applications use TCP and IP protocols. This slide lists the most important of them.

Network Devices and Functional Components All generic network devices can be virtualized in clouds to interconnect VMs and virtual servers:

♦ Network Interface Card (NIC) ♦ Switch ♦ Router ♦ Domain Name System (DNS) ♦ LAN (Local Area Network)

Virtual Private Network (VPN) From the outside of the virtualized system or cloud, we access it through a Virtual Private Network (VPN) as illustrated. Virtual Private Network (VPN) used to extend private network over public Internet to remote locations. It Uses end-to-end secure IP protocol (IPSec)

Wrap up and Take away Cloud Computing makes use of a number of underlying/enabling technologies to allow resources virtualization, pooling, composition and management Virtualization of all components of computer and network infrastructure is the main enabling technology RESTful Web Services is a common platform for cloud services delivery and management Internet access and network virtualization are another key enabling technologies Hypervisor is a software to host VMs and basis for a virtualization platform Popular virtualization platforms include Linux based Xen and KVM, vSphere from VMware, Hyper-V from Microsoft

Page 14: Cloud Computing Enabling Technologies · Course Summary IEEE eLearning Library Cloud Computing Enabling Technologies Transcript pg. 3 / 14 In this tutorial we will review Service

Transcript

IEEE eLearning Library Cloud Computing Enabling Technologies Transcript pg. 14 / 14