Introduction to Cloud Computing Dr. Hanem El-Sheikh honymora@yahoo.com The Back Story From ground to cloud Internal Storage • Content is stored on THAT computer • To use content must return to THAT computer • Cannot access this content from another device or computer Programs • Purchase programs. • Load to the computer. • Each computer would need the program loaded and stored on the internal drive . External Storage Allows your content to become mobile. Save to the storage device. Take device to any compatible computer. Open and use content. CD/DVD Thumb Drive SD Card External Hard Drive Micro SD Card Networked Storage • Multiple work stations talk to one unit that stores information and data. • Data is not saved to the C: drive, but to a network drive. • Can retrieve the data stored to the network from any of the connected workstations. The Traditional Server Concept Web Server App Server DB Server EMail Windows Linux Linux Windows IIS Glassfish MySQL Exchange The Traditional Server Concept • System Administrators often talk about servers as a whole unit that includes the hardware, the OS, the storage, and the applications. • Servers are often referred to by their function i.e. the Exchange server, the SQL server, the File server, etc. • If the File server fills up, or the Exchange server becomes overtaxed, then the System Administrators must add in a new server. The Traditional Server Concept • Unless there are multiple servers, if a service experiences a hardware failure, then the service is down. • System Admins. can implement clusters of servers to make them more fault tolerant. However, even clusters have limits on their scalability, and not all applications work in a clustered environment. And if something goes wrong ... Web Server App Server DB Server EMail Windows DOWN! Linux Windows MySQL Exchange IIS The Virtual Server Concept Virtual servers seek to encapsulate the server software away from the hardware. -This includes the OS, the applications, and the storage for that server. Hypervisor layer between Guest OS and hardware • Virtualization: – The ability to run multiple operating systems on a single physical system and share the underlying hardware resources. Virtualization • Virtual workspaces: – An abstraction of an execution environment that can be made dynamically available to authorized clients by using well-defined protocols, – Resource quota (e.g. CPU, memory share), – Software configuration (e.g. O/S, provided services). • Implement on Virtual Machines (VMs): – Abstraction of a physical host machine, – Hypervisor intercepts and emulates instructions from VMs, and allows management of VMs, App App App – VMWare, Xen, etc. OS OS OS • Provide infrastructure API: – Plug-ins to hardware/support structures Hypervisor Hardware Virtualized Stack Hypervisor - Software that controls the layer between the hardware operating systems. It allows multiple operating systems to run on the same physical hardware. There are two types of hypervisors: Bare metal: which allows the hypervisor to run directly on the hardware. hosted architecture: in which the hypervisor runs on top of an existing operating system. The Virtual Server Concept • Virtual servers seek to encapsulate the server software away from the hardware. -This includes the OS, the applications, and the storage for that server. • Virtual servers can still be referred to by their function i.e. email server, database server, etc. • A computer on which a hypervisor is running one or more virtual machines is defined as a host machine. • A hypervisor is a piece of computer software, firmware or hardware that creates and runs virtual machines. • Each virtual machine has a guest operating systems, which is managed by the hypervisor. • If the environment is built correctly, virtual servers will not be affected by the loss of a host. • Hosts may be removed and introduced almost at will to accommodate maintenance. Welcome to the New World of Cloud Computing Cloud Computing Cloud Computing : The migration of computing services provided by on-premises datacenters to remote systems located on the Internet. •The customer is charged only for resources consumed (pay as used and on demand). •It is an internet based service delivery model which provides internet based services, computing and storage for users in all markets including financial, health care and government. •Cloud computing is defined as dynamically scalable computing resources that are available over the Internet. Clients can: •Put their data on the platform instead of on their own desktop PCs and/or on their own servers. •They can put their applications on the cloud and use the servers within the cloud to do processing and data manipulations etc. The Cloud Requires • An Internet connection • An account - Created with a user name and a password • Agree to Terms Saving documents • When you do a “save as” on your computer, you choose where to save the material. Internal Storage External Storage Network Cloud Storage • Create an Account – User name and password • Content lives with the account in the cloud. • Log onto any computer with Wi-Fi to find your content. Downloads for storage • • • • Download a cloud based app to a computer you own The app lives on your Computer Save files to the app When connected to the Internet it will sync with the cloud • The Cloud can be accessed from any Internet connection Save file as • Do “save as” to save a file to your computer and the cloud • The syncing folders makes data retrieval easier • Box and DropBox require this download to work Upload Documents • • • • Log-in to the online storage account Click upload a file Find the file on hard drive, network, or external storage Upload to cloud storage 2 GB 5 GB 5 GB 7 GB Internet is required • Creation is happening in the cloud • Saving is going to the cloud • To retrieve files, must return to the cloud Internet capable Devices Benefits • Saving Large Files • Multiple file types – Photos, videos, presentations, docs • Back-up of stored files • File Sharing • Access from devices • Nothing to forget (thumb drive, cd) • Project collaboration Cloud Computing Cont’ Clouds were built for a number of reasons: •Shared Computing. •Shared memory. • Shared Storage and access resources. Cloud Providers deploy multi-tenancy to achieve efficient utilization of resources , while decreasing cost. From a consumers perspective, they need to use resources as much and as far as needed while being able to increase or decrease resources consumption based on real time basis. Cloud Computing model meets these demands and restrictions by delivering two key characteristics: •Multi-tenancy •Elasticity Cloud Multi-tenancy Model Multi-tenancy implies sharing of computational resources, storage, services, and applications with other tenants, residing on same physical or logical platform at provider’ premises. Elasticity NIST :National Institute of Standards and Technology • The role of (NIST) in cloud computing is to promote the effective and secure use of the technology within government and industry by providing technical guidance and promoting standards. • NIST provides NIST's definition of cloud computing as well as related guidance. • This definition will serve as a foundation for NIST's upcoming publication on cloud models, architectures, and deployment strategies. • NIST is responsible for accelerating the U.S. Federal Government’s secure adoption of cloud computing. • In order to execute this responsibility, NIST is leading a number of efforts to develop cloud standards and guidelines, in close consultation and collaboration with standards bodies, the private sector, and other stakeholders. The NIST definition of cloud computing (SP 800-145, September 2011) 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. This cloud model promotes availability and is defined in terms of 1) 5 essential characteristics. 2) 3 service models. 3) 4 deployment models. The Essential Cloud Characteristics are: Five • On-demand self-service • Broad network access • Resource pooling -Location independence • Rapid elasticity • Measured service The Cloud Service Models are: Three • Software as a Service (SaaS) – Use provider’s applications over a network • Platform as a Service (PaaS) – Deploy customer-created applications to a cloud • Infrastructure as a Service (IaaS) – Rent processing, storage, network capacity, and other fundamental computing resources The Cloud Deployment Models are: Four • Private cloud: enterprise owned or leased •Community cloud: shared infrastructure for specific community •Public cloud: sold to the public, mega-scale infrastructure • Hybrid cloud: composition of two or more cloud types 5 Essential Characteristics: 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 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, tablets, laptops, and workstations). 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, and network bandwidth. Rapid elasticity: Capabilities can be elastically provisioned and released, in some cases automatically, to scale rapidly outward and inward commensurate with demand. To the consumer, the capabilities available for provisioning often appear to be unlimited and can be appropriated in any quantity at any time. Measured service: Cloud systems automatically control and optimize resource use by leveraging a metering capability 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. Cloud Service Models Software as a Service (SaaS) Platform as a Service (PaaS) SalesForce CRM LotusLive Google App Engine 41 Adopted from: Effectively and Securely Using the Cloud Computing Paradigm by peter Mell, Tim Grance Infrastructure as a Service (IaaS) Delivery Models While cloud-based software services are maturing, Cloud platform and infrastructure offering are still in their early stages ! 45 From [6] Cloud Security and Privacy by Mather and Kumaraswamy The Cloud Deployment Models Current Leaders Key Players in Cloud Computing Platforms (adapted from Lakshmanan (2009)) Company Cloud Computing Platform Year of Launch Key Offering Amazon.com AWS (Amazon Web 2006 Services) Infrastructure as a service (Storage Computing), Datasets and Content Distribution Microsoft Azure 2009 Application platform as a service (.Net, SQL data services ) Google Google App. Engine 2008 Web Application Platform as Service Blue Cloud Force.com 2008 Proprietary 4GL Web application as an demand platform IBM Salesforce.com Library Services using Cloud Worldcat Mendeley ExLibris Research Gate Google Scholar Library Thing Dropbox Google Apps Google Sites, Google Docs, Google Calendar, Google Chat… Cloud Storage Comparison Storage Service Comparison on a Annual Basis Service Provider Free First Payment tier Second tier Payment Amazon 5GB 20GB ($10) 50GB ($25) Apple iCloud 5GB 25GB ($40) 50GB ($100) Box 5GB 25GB ($120) 50GB ($240) Dropbox 2GB 100GB ($100) 200GB ($200) Google Drive 5GB 25GB ($30) 100GB ($60) Microsoft SkyDrive 7GB 27GB ($10) 57GB ($25) Mega 50GB 400GB ($120) 2TB ($240) 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 advantages • Can be less expensive compared to buying software and hardware • Can be used from any computer or device with an Internet connection • The device does not need as large of an internal storage system • Compatible with most computers and operating systems • Updates occur across the service Disadvantages Data security and privacy Network connectivity and bandwidth Service unavailability due to power outage Dependence on outside agencies Limited flexibility Cost Knowledge and integration Long term stability of service provider Thank You