Ahmad Shah Sultani presented on cloud computing using the Apache CloudStack open source platform. He discussed the history and characteristics of cloud computing, different service models (SaaS, PaaS, IaaS), and types of cloud storage. He also explained concepts like virtualization and the benefits of using open source software to build clouds. Sultani demonstrated how to deploy CloudStack on virtualized servers to create a private cloud and manage virtual machines through its web-based user interface.
Presented By: AhmadShah Sultani M.Sc. Computer Science South Asian University New Delhi, India. 01-12-2014
2.
Outline Overviewof Cloud Computing Cloud Computing History Characteristics of Cloud Computing Cloud Computing Service Models Types of Cloud Storage Virtualization Advantages & Disadvantages Open Source Cloud Computing Cloud Stack Open Source Cloud Computing Open Source Hypervisors CloudStack Open Source Cloud Computing Deployment Architecture Management Server Hypervisor Host Installation & Configuration Log in UI Access Dashboard Screenshots Goals Conclusion References
3.
What is CloudComputing? “Cloud computing is a style of computing where massively scalable IT-related capabilities are provided as a service across the Internet to multiple external customers” “Cloud computing: A pool of abstracted, highly scalable, and managed infrastructure capable of hosting end-customer applications and billed by consumption” “Cloud computing isWeb-based processing, whereby shared resources, software, and information are provided to computers and other devices (such as smart phones) on demand over the Internet.”
4.
What is CloudComputing? “Cloud computing is a style of computing where massively scalable IT-related capabilities are provided as a service across the Internet to multiple external customers” “Cloud computing: A pool of abstracted, highly scalable, and managed infrastructure capable of hosting end-customer applications and billed by consumption” “Cloud computing isWeb-based processing, whereby shared resources, software, and information are provided to computers and other devices (such as smart phones) on demand over the Internet.”
5.
What is CloudComputing? “Cloud computing is a style of computing where massively scalable IT-related capabilities are provided as a service across the Internet to multiple external customers” “Cloud computing: A pool of abstracted, highly scalable, and managed infrastructure capable of hosting end-customer applications and billed by consumption” “Cloud computing isWeb-based processing, whereby shared resources, software, and information are provided to computers and other devices (such as smart phones) on demand over the Internet.”
6.
Continued… “CloudComputing is a general term used to describe a new class of network based computing that takes place over the Internet” LEADING FACET OF NETWORKING- CLOUD COMPUTING
7.
HISTORY The generalidea behind the technology dates back to the 1960s, when John McCarthy wrote that “computation may someday be organized as a public utility.” Then, grid computing, a concept that originated in the early 1990s as an idea for making computer power as easy to access as an electric power grid also contributed to cloud computing.
8.
One of thefirst movers in cloud computing was Salesforce.com, which in 1999 introduced the concept of delivering enterprise applications via a simple website. In 2002 Amazon started Amazon Web Services, providing services like storage, computation and even human intelligence. The year 2006 also saw the introduction of Amazon’s Elastic Compute cloud (EC2) as a commercial web service that allowed small companies and individuals to rent computers on which to run their own computer applications.
But 2009 markeda key turning point in the evolution of cloud computing, with the arrival of browser based cloud enterprise applications, with the best known being Google Apps Working on Google Chrome.
11.
A Golden Erain Computing.. Powerful multi-core processors General purpose graphic processors Superior software methodologies Virtualization leveraging the powerful hardware Explosion of domain applications Proliferation of devices Wider bandwidth for communication
12.
Characteristics of Clouds 1. On-Demand Self-Service 2. Broad Network Access 3. Resource Pooling 4. Rapid Elasticity 5. Measured Service 6. Per-usage based pricing model 7. IP-based architecture, etc…
13.
Cloud Computing ServiceModels USER CLOUD a.k.a. SOFTWARE AS A SERVICE Single application, multi-tenancy, network-based, one-to-many delivery of applications, all users have same access to features. Examples: Salesforce.com, Google Docs, Red Hat Network/RHEL DEVELOPMENT CLOUD a.k.a. PLATFORM-AS-A-SERVICE Application developer model, Application deployed to an elastic service that autoscales, low administrative overhead. No concept of virtual machines or operating system. Code it and deploy it. Examples: Google AppEngine, Windows Azure, Rackspace Site, Red Hat Makara SYSTEMS CLOUD a.k.a INFRASTRUCTURE-AS-A-SERVICE Servers and storage are made available in a scalable way over a network. Examples: EC2,Rackspace CloudFiles, OpenStack, CloudStack, Eucalyptus, Ubuntu Enterprise Cloud, OpenNebula
15.
Software as aService (SaaS) SaaS is a software delivery methodology that provides licensed multi-tenant access to software and its functions remotely as a Web-based service. Usually billed based on usage Usually multi tenant environment Highly scalable architecture
Platform as aService (PaaS) PaaS provides all of the facilities required to support the complete life cycle of building and delivering web applications and services entirely from the Internet. Typically applications must be developed with a particular platform in mind Multi tenant environments Highly scalable multi tier architecture
Infrastructure as aServer (IaaS) IaaS is the delivery of technology infrastructure as an on demand scalable service Usually billed based on usage Usually multi tenant virtualized environment Can be coupled with Managed Services for OS and application support
Cloud Storage Cloud storage means "the storage of data online in the cloud," wherein a company's data is stored in and accessible from multiple distributed and connected resources that comprise a cloud. Cloud storage can provide the benefits of greater accessibility and reliability; rapid deployment; strong protection for data backup, archival and disaster recovery purposes; and lower overall storage costs as a result of not having to purchase, manage and maintain expensive hardware. However, cloud storage does have the potential for security and compliance concerns.
23.
Types of CloudStorage 1. Public Cloud 2. Private Cloud 3. Hybrid Cloud
24.
Public Cloud A form of cloud storage where the enterprise and storage service provider are separate and the data is stored outside of the enterprise's data center.
25.
Private Cloud The phrase used to describe a cloud computing platform that is implemented within the corporate firewall, under the control of the IT department. A private cloud is designed to offer the same features and benefits of public cloud systems, but removes a number of objections to the cloud computing model including control over enterprise and customer data, worries about security, and issues connected to regulatory compliance.
26.
Hybrid Cloud A combination of public cloud storage and private cloud storage where some critical data resides in the enterprise's private cloud while other data is stored and accessible from a public cloud storage provider.
28.
Virtualization Virtualization is“something which is not REAL, but displays the full qualities of the REAL”. Virtualization : • hardware platform, • operating system, • storage device, • network resources, • Software implementation.
29.
Virtualization App AppApp Operating System Hardware Traditional Stack App App App OS OS Hardware OS Hypervisor Virtualized Stack
Virtualization Hardware virtualization 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 words host and guest are used to distinguish the software that runs on the actual machine from the software that runs on the virtual machine. The software or firmware that creates a virtual machine on the host hardware is called a hypervisor or Virtual Machine Manager.
32.
Desktop virtualization Desktopvirtualization (sometimes called client virtualization) is a concept which separates a personal computer desktop environment from a physical machine using the client–server model of computing.
Core Advantages Cost saving: You pay for what you use Easy on installation and maintenance Increased storage Highly automated Flexibility Better mobility Shared resources Back up and restoration
36.
Disadvantages Datasecurity and privacy Network connectivity and bandwidth Service unavailability due to power outage Dependence on outside agencies Limited flexibility Knowledge and integration Long term stability of service provider
Why Open Source? User-Driven Solutions to Real Problems Lower barrier to participation Larger user base, users helping users Aggressive release cycles stay current with the state-of-the-art Open data, Open standards, Open APIs
39.
Open Virtual MachineFormats Open Virtualization Format (OVF) is an open standard for packaging and distributing virtual appliances or more generally software to be run in virtual machines. Formats for hypervisors/cloud technologies: • Amazon - AMI • KVM – QCOW2 • VMware – VMDK • Xen – IMG • VHD – Virtual Hard Disk - Hyper-V
40.
Open Source Hypervisors Open Source Xen, Xen Cloud Platform (XCP) KVM – Kernel-based Virtualization VirtualBox* - Oracle supported Virtualization Solutions OpenVZ* - Container-based, Similar to Solaris Containers or BSD Zones LXC – User Space chrooted installs Proprietary VMware Citrix Xenserver Microsoft Hyper-V OracleVM (Based on OS Xen)
41.
Open Source ComputeClouds Year Started License Hypervisors Supported 2008 GPL Xenserver, Xen Cloud Platform, KVM, VMware 2006 GPL Xen, KVM, VMware 2010 (Developed by NASA by Anso Labs previously) Apache VMware ESX and ESXi, Microsoft Hyper-V, Xen, KVM and Virtual Box Other open source compute software include Abiquo, Red Hat’s CloudForms and OpenNebula Numerous companies are building cloud software on OpenStack including Nebula, Piston Inc., CloudScaling
42.
CloudStack Open Source Cloud Computing Apache CloudStack is open source software designed to deploy and manage large networks of virtual machines, as a highly available, highly scalable Infrastructure as a Service (IaaS) cloud computing platform. CloudStack is used by a number of service providers to offer public cloud services, and by many companies to provide an on-premises (private) cloud offering, or as part of a hybrid cloud solution. Provides a friendly Web-based UI for managing the cloud.
43.
CloudStack currentlysupports the most popular hypervisors: VMware, KVM, XenServer, Xen Cloud Platform (XCP) and Hyper-V. Users can manage their cloud with an easy to use Web interface, command line tools, and/or a full-featured RESTful API. Apache CloudStack is a mature, turnkey integrated Infrastructure-as-a-Service (IaaS) Open Source software platform that allows users to build feature-rich public and private cloud environments.
Small Scale CloudStackDeployment A firewall provides a connection to the Internet. The firewall is configured in NAT mode. The firewall forwards HTTP requests and API calls from the Internet to the Management Server. The Management Server resides on the management network. A layer-2 switch connects all physical servers and storage. A single NFS server functions as both the primary and secondary storage. The Management Server is connected to the management network.
47.
Deployment Architecture Overview The minimum installation consists of one machine running the CloudStack Management Server and another machine to act as the cloud infrastructure (in this case, a very simple infrastructure consisting of one host running hypervisor software). In its smallest deployment, a single machine can act as both the Management Server and the hypervisor host (using the KVM hypervisor).
48.
Management Server Provides the web interface for both the administrator and end user. Provides the API interfaces for both the CloudStack API as well as the EC2 interface. Manages the assignment of guest VMs to a specific compute resource Manages the assignment of public and private IP addresses. Allocates storage during the VM instantiation process. Manages snapshots, disk images (templates), and ISO images. Provides a single point of configuration for your cloud.
49.
Hypervisor Host A host is a single computer. Hosts provide the computing resources that run guest virtual machines. Each host has hypervisor software installed on it to manage the guest VMs. For example, a host can be a Citrix XenServer server, a Linux KVM-enabled server, an ESXi server, or a Windows Hyper-V server. For a host to function in CloudStack, you must do the following: Install hypervisor software on the host Assign an IP address to the host Ensure the host is connected to the CloudStack Management Server.
50.
Installation Overviewof Installation Steps Choosing a Deployment Architecture Choosing a Hypervisor: Supported Features Network Setup Storage Setup Best Practices Minimum System Requirements Management Server, Database, and Storage System Requirements Host/Hypervisor System Requirements
51.
Management Server Installation Prepare the Operating System Turn on NTP for time synchronization. Install NTP and Turn on NTP for time synchronization. Downloading vhd-util Installing the required packages DEB package repository Install the database server Set up the database Prepare NFS Shares Using the Management Server as the NFS Server Prepare the System VM Template Setup Complition
52.
Host Hypervisor Installationand Configuration Prepare the Operating System Install NTP and Turn on NTP for time synchronization. Install and configure the Agent Configure CPU model for KVM guest Install and Configure libvirt Configure the Security Policies Configure the network bridges Configuring the firewall Open ports in RHEL/CentOS OR Ubuntu Add the host to CloudStack
Goals ToSuccessfully, build the Cloud Platform To Analyse the Performance of the different platforms To Develop Applications on the cloud.
76.
Conclusion CloudComputing is outpacing the IT industry Real business value can be realized by customers of all sizes Cloud solutions are simple to acquire, don’t require long term contracts and are easier to scale up and down as needed Proper planning and migration services are needed to ensure a successful implementation Public and Private Clouds can be deployed together to leverage the best of both Third party monitoring services ensure customer are getting the most out of their cloud environment Security Compliance and Monitoring is achievable with careful planning and analysis
#13 From the NIST Cloud Computing On-demand self-service. A consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with each service’s provider. Broad network access. Capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and PDAs). Resource pooling. The provider’s computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand. There is a sense of location independence in that the customer generally has no control or knowledge over the exact location of the provided resources but may be able to specify location at a higher level of abstraction (e.g., country, state, or datacenter). Examples of resources include storage, processing, memory, network bandwidth, and virtual machines. This is different than virtual private hosting which is constrained to a single host or hosted Exchange server with fixed storage limits. Rapid elasticity. Capabilities can be rapidly and elastically provisioned, in some cases automatically, to quickly scale out, and rapidly released to quickly scale in. To the consumer, the capabilities available for provisioning often appear to be unlimited and can be purchased in any quantity at any time. Measured Service. Cloud systems automatically control and optimize resource use by leveraging a metering capability1 at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency for both the provider and consumer of the utilized service.
#14 Cloud Software as a Service (SaaS) – The Application Cloud The capability provided to the consumer is to use the provider’s applications running on a cloud infrastructure. The applications are accessible from various client devices through a thin client interface such as a web browser (e.g., web-based email). The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user-specific application configuration settings. Cloud Platform as a Service (PaaS) – The Development Cloud The capability provided to the consumer is to deploy onto the cloud infrastructure consumer-created or acquired applications created using programming languages and tools supported by the provider. The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, or storage, but has control over the deployed applications and possibly application hosting environment configurations. Cloud Infrastructure as a Service (IaaS). – Systems Cloud The capability provided to the consumer is to provision processing, storage, networks, and other fundamental computing resources where the consumer is able to deploy and run arbitrary software, which can include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, deployed applications, and possibly limited control of select networking components (e.g., host firewalls).
#40 An OVF package consists of several files, placed in one directory. A one-file alternative is the OVA package, which is a TAR file with the OVF directory inside. OVF is a packaging format for software appliances. From a technical point of view, an OVF is a transport mechanism for virtual machine templates. One OVF may contain a single VM, or many VMs (it is left to the software appliance developer to decide which arrangement best suits their application). OVFs must be installed before they can be run; a particular virtualization platform may run the VM from the OVF, but this is not required. If this is done, the OVF itself can no longer be viewed as a “golden image” version of the appliance, since run-time state for the virtual machine(s) will pervade the OVF. Moreover the digital signature that allows the platform to check the integrity of the OVF will be invalid. VHD – Virtual Hard Disk format started by Connectix (now part of Microsoft) made open through the Microsoft Open Specification Promise.
#41 Top choices for Cloud Computing are Xen and KVM. OpenVZ, container virtualization for Linux, is an interesting option as it has a very minimal overhead to scale application space similar to containers like BSD Jails. Advantage is that memory allocation is soft and unutilized memory can be used by other applications.
#42 CloudStack – www.cloudstack.org - CloudStack is a sponsored by Citrix systems released under GPLv3 that provides a highly capable IaaS solution for service providers and enterprises. Robust Web Interface Comprehensive API Secure-Single Sign-On Dynamic Workload Management Xenserver, Xen Cloud Platform, KVM, VMware, OracleVM support Secure AJAX Console for VMs Networking-as-a-Service (Create VLANs to segregate traffic) EC2 API Compatibility Usage Metering Eucalyptus – http://open.eucalyptus.com - IaaS platform originally targeted to provide migration path from Amazon EC2 to private cloud. Amazon AWS Interface Compatibility Supports Amazon AMI High Availability Network Management, Security Groups, Traffic Isolation Self Service S3 compatible Storage Bucket-Based Storage Xen and KVM Hypervisor Support (VMware in Enterprise Edition) User Group and Role-Based Management OpenStack – www.openstack.org - Sponsored by Rackspace, a hosting provider is made up by three primary projects. OpenStack Compute (Nova) – Nova is a cloud orchestration platform similar to Amazon EC2 Orchestration of popular hypervisors (Xen, Xenserver, KVM, Hyper-V, VMware, Linux Containers) Floating IP Addresses (keep IPs and DNS correct when restarting VMs) VNC proxy through the Web Apache 2.0 License Android/iOS Clients Block Storage Support (AOE, iSCSI, Sheepdog) OpenStack Storage (Swift) – Is a EBS style solution used for long term storage not real time. Swift is used creating redundant, scalable object storage using clusters of standardized servers to store petabytes of accessible data. Features: Store and Manage files Programmatically Create public and private folders Using Commodity Hardware Fault tolerant (Nodes/HDD) Scale-out, Scale-Up OpenStack Image Service(Glance) - OpenStack Image Service (code-named Glance) provides discovery, registration, and delivery services for virtual disk images. Features: Provides images-as-a-service Supports Raw, VHD, VDI, qcow2, VMDK, OVF Restful API Backend Options – Swift, Local, S3, HTTP Version Control and Logging OpenNebula – http://www.opennebula.org/ – Cloud Computing Toolkit Apache license