Presentation on theme: "CS6223: Distributed Systems Cloud Computing. 2 Origin of the Term “Cloud Computing” “Comes from the early days of the Internet where we drew the network."— Presentation transcript:
CS6223: Distributed Systems Cloud Computing
2 Origin of the Term “Cloud Computing” “Comes from the early days of the Internet where we drew the network as a cloud… we didn’t care where the messages went… the cloud hid it from us” – Kevin Marks, Google First cloud around networking (TCP/IP abstraction) Second cloud around documents (WWW data abstraction) The emerging cloud abstracts infrastructure complexities of servers, applications, data, and heterogeneous platforms
3 A Working Definition of 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 or configuration effort. The cloud model has the following features: –5 essential characteristics, –3 service models, and –4 deployment models.
4 Five Essential Cloud Characteristics On-demand self-service Broadband network access Resource pooling –Location transparency Rapid elasticity Measured service
5 Three Cloud Service Models Software as a Service (SaaS) –Use cloud’s applications (S/W) over a network Platform as a Service (PaaS) –Deploy customer-developed applications in a cloud Infrastructure as a Service (IaaS) –Rent processing, storage, network, and other fundamental computing resources
6 Service Model Architectures
7 Four Cloud Deployment Models Private cloud –enterprise owned Community cloud –shared infrastructure for specific community Public cloud –Sold to the public, mega-scale infrastructure Hybrid cloud –composition of two or more clouds
8 Possible Trends of Cloud Computing Small enterprises use public SaaS and public clouds and minimize growth of data centers Large enterprise data centers may evolve to act as private clouds. They may also use hybrid clouds to leverage both private and public clouds Public clouds may adopt standards in order to run workloads from hybrid cloud infrastructures
9 Core objectives of Cloud Computing Core objectives and principles of cloud computing: Security Scalability Availability Performance Cost-effective On-demand acquire / release resources Pay for what you use Leverage others’ core competencies Turn fixed cost into variable cost
10 Analyzing Cloud Security Some key issues: –trust, multi-tenancy, encryption, compliance Clouds are massively complex systems that consist of standard functional units replicated thousands of times Cloud security is a tractable problem –There are both advantages and challenges
11 Security Advantages of Cloud Computing More resources for security, e.g., –dedicated security team, –good security infrastructure, –fault tolerance and reliability, … Hypervisor protection against network attacks Data held by unbiased party On-demand security controls Real-time detection of system tampering Low-cost disaster recovery and data storage solutions Rapid re-constitution of services ……
12 Challenges of Cloud Security Data dispersal and international privacy laws Possible massive outages Multi-tenancy (with conflict of business interests) Attraction to hackers (high value target) Difficulties in keep data access logging Data ownership issues Security of virtual OSs in the cloud Encryption needs for cloud computing ………..
13 Foundational Elements of Cloud Computing Primary Technologies Virtualization Service Oriented Architectures Distributed Computing Broadband Networks Browser as a platform Free and Open Source Software ……. Other Technologies Web 2.0 Web application frameworks Service Level Agreements Autonomic Systems ……
14 Virtualization Cloud computing separates applications from the underlying infrastructure Host operating system provides an abstraction layer for running virtual guest OSs The key is the “hypervisor” or “virtual machine manager” –Enable guest OSs to run in isolation of other OSs –Run multiple types of OSs Enable portability (migration) of virtual servers between physical servers Increase utilization of physical servers
15 Utility Computing “Computing may someday be organized as a public utility” - John McCarthy, MIT Centennial in 1961 Huge computational and storage capabilities available from utilities Metered billing (pay for what you use) Simple to use interface to access the capability (e.g., plugging into an outlet)
16 Web 2.0 Web 2.0 is the trend of using the full potential of the web –Viewing the Internet as a computing platform –Running interactive applications through a web browser –Interconnecting mobile devices –Enhanced effectiveness with greater human participation “Web 2.0 is the business revolution in the computer industry caused by the move to the Internet as a platform, and an attempt to understand the rules for success on that new platform.” – by Tim O'Reilly
17 Web Services Self-describing and stateless modules that perform discrete units of work and are available over the network Web service providers offer APIs that enable developers to exploit functionality over the Internet, rather than delivering full-blown applications. Standards based interfaces e.g., SOAP, WSDL, WS-Security, WS-Transaction Many loosely coupled interacting modules form a single logical system (e.g., legos)
18 Major Cloud Platforms Amazon’s Elastic Compute (EC2) and Simple Storage (S3) Google’s Google Apps Microsoft’s Azure Saleforce.com’s CRM clouds (e.g., Sales Cloud, Service Cloud and Force.com) IBM’s Smart Business portfolio
19 Examples of Google Cloud Users The government of City of Washington D.C. moved most of the government functions to Google Cloud: Migrating data of 38,000 employees to Google Apps Replace office software by –Gmail –Google Docs (word processing and spreadsheets) –Google video for business –Google sites (intranet sites and wikis) 500,000+ organizations use Google Apps GE moved 400,000 desktops from Microsoft Office to Google Apps and then migrated them to Zoho for privacy concerns
20 Facebook’s Use of Open Source and Commodity Hardware (8/08) By Jonathan Heiliger, Facebook's vice president of technical operations: 80 million users + 250,000 new users per day 50,000 transactions per second, 10,000+ servers Built on open source software –Web and App tier: Apache, PHP, AJAX –Middleware tier:Memcached (Open source caching) –Data tier:MySQL (Open source DB) Thousands of DB instances store data in distributed fashion (avoids collisions of many users accessing the same DB) Use redundancy of simple hardware devices for reliability
21 Amazon Cloud Amazon cloud components –Elastic Compute Cloud (EC2) –Simple Storage Service (S3) –SimpleDB New Features –Availability zones Place applications in multiple locations for failovers –Elastic IP addresses Static IP addresses that can be dynamically remapped to point to different instances (no change of DNS)
CityU CSLab Cloud Configuration (a case study) This is one rack (a large DataCenter has rows of these racks). This rack is IBM Blade Center. A rack has many rack-units (server boards inserted into the rack). Each rack-unit has 2 XEON CPUs, memory (16 – 96GB), and disk (~100G). The local disk on each rack-unit is small, only for O/S (no data or FS). Each rack has 3 storage arrays (30TB in total) connected by SAN (Storage Area Network) to all rack-units, i.e., they all share the same disk storage. The disk storages of racks are further interconnected by optical fibers (high speed). 22
Clusters and VM Configuration All server boards (rack units) are grouped into clusters. In Cslab, 14 boards are configured into 4 clusters (a cluster acts like a big server), each with around 4 rack-units. Usually the same type of svr-boards (with the same CPU platform) are grouped into the same cluster. This configuration is easy for VM automatic migration between svr-boards in the same cluster. VMs are configured on clusters. There can be hundreds VMs configured on a cluster. Sys-Admin uses an interface (supported by VMWare) to create a VM by specifying CPU, memory, storage requirements, and VM platform (i.e., UNIX, Linux, Solaris, MS-Window, etc). 23
VM Configuration / Mornintoring The Sys-Admin can use the interface to monitor the clusters (and svr- boards inside each cluster), VMs on each cluster (and svr-boards), and actual resource usage of VMs. A VM can be for a server, a web-server, database server, etc, or a server for all students to do a course work for a subject. A VM can also be configured for each staff office’s desktop (no PC is needed in staff’s office). The Max number of VMs on a cluster is mainly limited by memory and storage size (they cannot be shared). A VM has its own IP address / domain name, all the same as a physical machine. Users can run all kind of applications on the VM. A VM can work for relatively a long time, from a day to a few years. It can survive the underneath H/W (CPU or storage) replacement. 24
VM Auto-Migration When one svr-board needs to stop for maintenance, Sys-Admin can mark the server for maintenance through the admin interface. Then, all VMs on this server can automatically migrate to other servers without stopping the applications running on the server. Applications on the VM may suffer some delay (or packet loss) if they involve network access, because VM migration involves the change of MAC address (from one board to another) and the change of packet routing. This migration can also happens for load balancing purpose. The system software can monitor the load on all servers, and auto- migrate VMs from heavy loaded servers to light ones. 25
VM Migration within & across Clusters Another mode for VM management is “energy saving”. If this mode is turned on, the system will try to auto-migrate the VMs to some of the server-boards, and turn off the power of the rest of idle server-boards for energy saving. Since all VMs on the same cluster share the same disk storage (some clusters, particularly connected by SAN, also share the same disk), it is easy to migrate VMs between server-boards and this migration can be done automatically. Each VM is represented as a “folder” in the disk storage system and the files on this VM are all under this “folder”. The migration of VMs across clusters may need Sys-Admin to use the interface to do it manually. 26
Data Center Networks (DCN) 27 This is a floor map of CityU’s data center. It has rows of racks. Each little box of a row is a rack. Data center network is a LAN that inter- connect server farms inside a data center and further connect the data center to the Internet.
CISCO’s Architecture of DCN A DCN is in a tree structure, where the top are CRs (core routers) that connect the data center to the Internet. CRs are connected to Layer-2 domains by ARs and ASs. 28 ARs (access router) and ASs (aggregation switch) are duplicated for reliability (a pair for each Layer2 domain). Switches under each pair of ARs (or ASs) form a layer-2 domain. A Layer-2 domain typically has several thousands of servers. The bottom of the tree are rows of ToRs (Top of Rack), each ToR typically has 20 – 40 servers.
F5 Load Balancer in CityU CSC F5 LTM1500 Cisco C2960G Campus Network Central Web serversSMTP servers Internet and Home Users Campus Users CAP servers Cisco C2970G Central Wiki servers PhotoWeb servers F5 LTM3600 Back F5 ASM3600 Library servers Central Web servers SFB Auth servers Library Auth servers AMS servers LDAP servers F5 LTM1500 Blackboard servers Banner servers Cisco C2950T Cisco C2960T WBA3600 modules HRO Wiki servers
30 Thoughts on Cloud Computing…… “A way to increase capacity or add capabilities on the fly without investing in new infrastructure, training new personnel, or licensing new software.” “The idea of loosely coupled services running on an agile, scalable infrastructure should eventually make every enterprise a node in the cloud.” “We are at the beginning of the age of planetary computing. Billions of people will be wirelessly interconnected, and the only way to achieve that kind of massive scale usage is by massive scale, brutally efficient cloud-based infrastructure.” ……