1
INTRODUCTION What is Cloud Computing? Cloud computing is the dynamic delivery of IT resources and capabilities as a Service over the Internet. Cloud computing encompasses any Subscriptionbased or pay-per-use service that, in real time over the Internet, extends IT's existing capabilities. Cloud computing is a collection of computing resources, networking devices, storage management solutions, and virtualization applications which are 2 available on demand, and delivered economically.
CLOUD ARCHITECTURE 3
Cloud Architecture Cloud computing architecture refers to the components and subcomponents required for cloud computing. These components typically consist of a front end platform (fat client, thin client, mobile device), back end platforms (servers, storage), a cloud based delivery, and a network (Internet, Intranet, Intercloud). Combined, these components make up cloud computing architecture. 4
5
TYPES OF CLOUDS 6
CLOUD SERVICE MODELS Infrastructure-as-a-service (IaaS) Platform-as-a-service(PaaS) Software-as-a-service (SaaS) 7
INFRASTRUCTURE-AS-A-SERVICE (IAAS) Infrastructure-as-a-service (IaaS), can be defined as the use of servers, storage, network,operating systems and virtualization to enable utility like services for users. IaaS enables on-demand provisioning of computational resources in the form of virtual machines in cloud data center. E.g.Rackspace,AWS,Windows Azure etc. 8
PLATFORM-AS-A-SERVICE(PAAS) Platform-as-a-service(PaaS), can be defined as a computing platform that allows the creation of web applications quickly and easily and without the complexity of buying,installing and maintaining the software and infrastructure underneath it E.g.Googleapp Engine, Windows Azure etc. 9
PLATFORM-AS-A-SERVICE(PAAS) Software-as-a-service (SaaS) provides on demand Application delivery using cloud infrastructure to the user without any installation Software-as-a-Service gives subscribed or pay-per-use users access to software or services that reside in the cloud and not on the user s device. E.g.Googledocs,Salesforce, Gmail etc. 10
11
Some Examples of Service Models 12
CLOUD PROVIDERS AWS, AZURE, Googleapp Engine,Eucalyptus,Nimbus, Open stack, cloud stack IaaS Providers SaaS Providers PaaS providers Amazon web services(aws) Windows Azure Salesforce.com SAP business by design Googleapp Amazon web services(aws) Open Stack Oracle on Windows Azure demand Cloud Stack Netsuit Salesforce.com Nimbus Cloud switch Rightscale Vmware Akamai Openstack Citrix Xen Appdynamics Thinkgrid 13
COMPONENTS OF OPEN STACK (IAAS) 14
COMPONENTS OF EUCALYPTUS (IAAS) Eucalyptus is a free and open-source computer software for building Amazon Web Services (AWS)-compatible private and hybrid cloud computing environments 1) The Cloud Controller (CLC) is a Java program that offers EC2-compatible interfaces, as well as a web interface to the outside world. In addition to handling incoming requests, the CLC acts as the administrative interface for cloud management and performs high-level resource scheduling and system accounting. The CLC accepts user API requests from command-line interfaces like euca2ools or GUI-based tools like the Eucalyptus User Console and manages the underlying compute, storage, and network resources. 15
2) Walrus, also written in Java, is the Eucalyptus equivalent to AWS Simple Storage Service (S3). Walrus offers persistent storage to all of the virtual machines in the Eucalyptus cloud and can be used as a simple HTTP put/get storage as a service solution. 3) The Cluster Controller (CC) is written in C and acts as the front end for a cluster within a Eucalyptus cloud and communicates with the Storage Controller and Node Controller. It manages instance (i.e., virtual machines) execution and Service Level Agreements (SLAs) per cluster. 4) The Storage Controller (SC) is written in Java and is the Eucalyptus equivalent to AWS EBS. It communicates with the Cluster Controller and Node Controller and manages Eucalyptus block volumes and snapshots to the instances within its specific cluster. 16
5)The Node Controller (NC) is written in C and hosts the virtual machine instances and manages the virtual network endpoints. It downloads and caches images from Walrus as well as creates and caches instances. 17
VIRTUALIZATION Virtualization is a term closely related to Cloud Computing. Virtualization, in computing, is the creation of a virtual (rather than actual) version of something, such as a hardware platform, operating system, a storage device or network resources The virtualization allows running multiple Operating Systems on Same Hardware 18
WHAT IS VIRTUALIZATION? Virtualization is way to run multiple operating systems and user applications on the same hardware E.g., run both Windows and Linux on the same laptop 19
TYPES OF VIRTUALIZATION(REFER WIKIPEDIA) Hardware virtualization or platform virtualization refers to the creation of a virtual machine that acts like a real computer with an operating system. Software executed on these virtual machines is separated from the underlying hardware resources. For example, a computer that is running Microsoft Windows may host a virtual machine that looks like a computer with the Ubuntu Linux operating system; Ubuntu-based software can be run on the virtual machine. In hardware virtualization, the host machine is the actual machine on which the virtualization takes place, and the guest machine is the virtual machine. The host and guest are used to distinguish the software that runs on the physical machine from the software that runs 20 on the virtual machine.
Different types of hardware virtualization include: Full virtualization: Almost complete simulation of the actual hardware to allow software, which typically consists of a guest operating system, to run unmodified. Partial virtualization: Some but not all of the target environment is simulated. Some guest programs, therefore, may need modifications to run in this virtual environment. Paravirtualization: A hardware environment is not simulated; however, the guest programs are executed in their own isolated domains, as if they are running on a separate system. Guest programs need to be specifically modified to run in this environment. Hardware-assisted virtualization is a way of improving the efficiency of hardware virtualization. It involves employing 21 specially designed CPUs and hardware components that help improve the performance of a guest environment.
Server Virtualization Server Virtualization (also known as system virtualization ) is where the base hardware is virtualized, allowing multiple guest operating environments to run directly on top of the hardware, without requiring a complete host operating system. Application Virtualization Application Virtualization is where an application is provided to the end user, generally from a remote location (such as a central server), without needing to completely install this application on the user s local system. 22
Desktop Virtualization Desktop Virtualization provides the end user with a desktop environment that in turn allows access to any authorized application, regardless of where the application is actually located. This allows an end user to have a single interface from which they can start or access their Web, local, and server-based applications, without needing to look through Web pages, the Windows Start menu, or their terminal services interface. Network virtualization, creation of a virtualized network addressing space within or across network 23 subnets
Storage Virtualization Storage virtualization provides a way for many users or applications to access storage without being concerned with where or how that storage is physically located or managed. For example, a single large disk may be partitioned into smaller, logical disks that each user can access as though it were a single network drive or a number of disks may be aggregated to present a single storage interface to end users and applications. Memory virtualization, aggregating random-access memory (RAM) resources from networked systems into a single memory pool Input/output (I/O) virtualization is a methodology to simplify management, lower costs and improve performance of servers in enterprise environments 24
HYPERVISOR A hypervisor is a piece of computer software that creates and runs virtual machines. The software or firmware that creates a virtual machine on the host hardware is called a hypervisor or Virtual Machine Manager. A hypervisor, also referred to as a virtual machine manager ( VMM ), is the software layer that controls access to the host s physical hardware, and creates and runs the VMs 25
TYPES OF HYPERVISORS There are two types of hypervisors: Bare metal/native or Server Virtualization Hosted 26
TWO TYPES OF HYPERVISORS The physical OS and hardware are called the Host The virtual machine OS and applications are called the Guest 27 Type 1 (bare-metal) Type 2 (hosted) VM1 VM2 Guest Guest VM1 VM2 Process Hypervisor Host Hypervisor Hardware OS Hardware Host VMware ESX, Microsoft Hyper-V, Xen VMware Workstation, Microsoft Virtual PC, Sun VirtualBox, QEMU, KVM
28
BARE-METAL HYPERVISOR VM technology allows multiple virtual machines to run on a single physical machine. 29 App App App App App Guest OS (Linux) Guest OS (NetBSD) Guest OS (Windows) VM VM VM Virtual Machine Monitor (VMM) / Hypervisor Hardware Xen VMWare UML Denali etc.
VIRTUALIZATION EXTENSIONS (FILE EXTENSIONS) 1) Open Virtualization Format (OVF) is an open standard for packaging and distributing virtual appliances or more generally software to be run in virtual machines. The standard describes an "open, secure, portable, efficient and extensible format for the packaging and distribution of software to be run in virtual machines". The OVF standard is not tied to any particular hypervisor or processor architecture. The unit of packaging and distribution is a socalled OVF Package which may contain one or more virtual systems each of which can be deployed to a virtual machine. 30
VIRTUALIZATION EXTENSIONS (FILE EXTENSIONS) 2) VMDK (Virtual Machine Disk) is a file format developed by Vmware for its virtual appliance products, but is now an open format. [1] The format is a container for virtual hard disk drives to be used in virtual machines like VMware Workstation or VirtualBox. The maximum VMDK size is generally 2TB for most applications. 31
3) VDI (virtual desktop infrastructure) Files that contain the.vdi file extension are most commonly used for the Oracle VM VirtualBox desktop virtualization application. The VDI files that are used by this software are virtual drive files that can be mounted as a separate hard disk on the Windows, Mac and Unix operating platforms. These files can allow users to run applications that are written for different operating systems using a single hard drive. 4) VHD (Virtual Hard Disk) is a file format which represents a virtual hard disk drive (HDD). It may contain what is found on a physical HDD, such as disk partitions and a file system, which in turn can contain files and folders. It is typically used as the hard disk of a virtual machine. The format was created and acquired by Microsoft for Microsoft virtualization Software. 32
THANK YOU 33