1 / 65

Cloud Computing

Cloud Computing. “ Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades. ”. whatis.com Definition of Cloud Computing. Cloud Computing.

Download Presentation

Cloud Computing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Cloud Computing

  2. “Cloud computing is simply a buzzword used to repackage grid computing and utility computing, both of which have existed for decades.” whatis.com Definition of Cloud Computing

  3. 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 effort or service provider interaction. • This cloud model promotes availability and is composed of five essential characteristics, three service models, and four deployment models.

  4. History • “Cloud“ used as a metaphor for the Internet, based on the cloud drawing used in the past to represent the telephone network; later to depict the Internet in computer network diagrams as an abstraction of the underlying infrastructure it represents. • Details abstracted from end-users, who no longer have need for expertise in, or control over, the technology infrastructure "in the cloud" that supports them.

  5. Evolution of cloud computing

  6. Comparison Cloud computing shares characteristics with: • Mainframe computer • Autonomic computing • Client–server • Grid computing • Peer-to-peer

  7. Foundational Elementsof Cloud Computing Virtualization Grid technology Service Oriented Architectures Distributed Computing Broadband Networks Browser as a platform Free and Open Source Software Primary Technologies Other Technologies • Autonomic Systems • Web 2.0 • Web application frameworks • Service Level Agreements

  8. The Traditional Server Concept Web Server Windows IIS App Server Linux Glassfish DB Server Linux MySQL EMail Windows Exchange

  9. Traditional Server Concept Explained • Servers considered as a whole unit that includes the hardware, the OS, the storage, and the applications. • 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: must add in a new server.

  10. Traditional Server Concept Contd. • Unless there are multiple servers, if a service experiences a hardware failure, the service is down. • Can implement clusters of servers to make them more fault tolerant. • Even clusters have limits on their scalability, and not all applications work in a clustered environment.

  11. Pros Easy to conceptualize Fairly easy to deploy Easy to backup Virtually any application/service can be run from this type of setup Cons Expensive to acquire and maintain hardware Not very scalable Difficult to replicate Redundancy is difficult to implement Vulnerable to hardware outages In many cases, processor is under-utilized Pros and Cons

  12. And if something goes wrong ... Web Server Windows IIS App Server DOWN! DB Server Linux MySQL EMail Windows Exchange

  13. The Virtual Server Concept Virtual Machine Monitor (VMM) layer between Guest OS and hardware

  14. Close-up * adapted from a diagram in VMware white paper, Virtualization Overview Clustering Service Console Server 1 Guest OS Server 2 Guest OS VMM (Virtual Machine Monitor) x86 Architecture Intercepts hardware requests

  15. 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. • A virtual server can be serviced by one or more hosts, and one host may house more than one virtual server.

  16. Virtual Server Concept Contd. • Virtual servers can still be referred to by their function i.e. email server, database server, etc. • If the environment 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.

  17. Virtual Server Concept Contd. • Can be scaled out easily. • If the resources supporting a virtual server are being taxed too much, admin can adjust the amount of resources allocated to that virtual server • Server templates can be created in a virtual environment to be used to create multiple, identical virtual servers • Virtual servers themselves can be migrated from host to host almost at will.

  18. Pros Resource pooling Highly redundant Highly available Rapidly deploy new servers Easy to deploy Reconfigurable while services are running Optimizes physical resources by doing more with less Cons Slightly harder to conceptualize Slightly more costly (must buy hardware, OS, Apps, and now the abstraction layer) Pros and Cons

  19. The Cloud’s “Snowball Effect” • Maturation of Virtualization Technology • Virtualization enables Compute Clouds • Compute Clouds create demand for Storage Clouds • Storage + Compute Clouds create Cloud Infrastructure • Cloud Infrastructure enables Cloud Platforms & Applications • Multiple Cloud types lead to Cloud Aggregators • Niche requirements enable Cloud Extenders

  20. Characteristics • Cost claimed to be reduced. • Reliability improved if multiple redundant sites used. • Performance monitored, and consistent and loosely coupled architectures constructed using web services as the system interface. • Security could improve due to centralization of data, increased security-focused resources, etc. • Maintenance is easier: do not need to be installed on each user's computer.

  21. Layers Client Computer hardware and/or computer software relying on cloud computing for application delivery. Application Application services (SaaS). Platform Platform services (PaaS). Infrastructure Infrastructure services (IaaS). Server Computer hardware, software products specifically designed for delivery of cloud services.

  22. Service Model Architectures

  23. Cloud Service Delivery Models • IaaS: Infrastructure as a Service • provisions computing resources within provider's infrastructure upon which they can deploy and run arbitrary software, including OS and applications. • PaaS: Platform as a Service • can create custom applications using programming tools supported by the provider and deploy them onto the provider's cloud infrastructure. • SaaS: Software as Service • use provider’s applications running on provider's cloud infrastructure.

  24. Three Features of Mature SaaS Applications • Scalable • Handle growing amounts of work in a graceful manner • Multi-tenancy • One application instance may be serving hundreds of companies • Opposite of multi-instance where each customer is provisioned their own server running one instance • Metadata driven configurability • Instead of customizing the application for a customer (requiring code changes), one allows the user to configure the application through metadata 25

  25. SaaS Maturity Levels Level 1: Ad-Hoc/Custom Level 2: Configurable Level 3: Configurable, Multi-Tenant-Efficient Level 4: Scalable, Configurable, Multi-Tenant-Efficient 26 Source: Microsoft MSDN Architecture Center

  26. Platform-as-a-Service (PaaS) • Definition – Platform providing all the facilities necessary to support the complete process of building and delivering web applications and services, all available over the Internet – Entirely virtualized platform that includes one or more servers, operating systems and specific applications

  27. PaaS Example: Google App Engine • Service that allows user to deploy user’s Web applications on Google's very scalable architecture • Providing user with a sandbox for user’s Java and python application that can be referenced over the Internet • Providing Java and Python APIs for persistently storing and managing data (using the Google Query Language or GQL)

  28. Infrastructure-as-a-Service (IaaS) • Definition – Provision model in which an organization outsources the equipment used to support operations, including storage, hardware, servers and networking components. – Also known as Hardware as a Service (HaaS). – Service provider owns the equipment; responsible for housing, running and maintaining it. – Client typically pays on a per-use basis.

  29. IaaS Contd.

  30. Characteristics of Infrastructure-as-a-Service(IaaS) • Utility computing and billing model • Automation of administrative tasks • Dynamic scaling • Desktop virtualization • Policy-based services • Internet connectivity

  31. Service Delivery Model Examples Amazon Google Microsoft Salesforce SaaS PaaS IaaS

  32. 4 Cloud Deployment Models • 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 clouds

  33. Common Cloud Characteristics • Cloud computing often leverages: • Massive scale • Homogeneity • Virtualization • Resilient computing • Low cost software • Geographic distribution • Service orientation • Advanced security technologies

  34. Web-Scale & Large data centersProblems • Characteristics: • Definitely data-intensive • May also be processing intensive • Examples: • Crawling, indexing, searching, mining the Web • “Post-genomics” life sciences research • Other scientific data (physics, astronomers, etc.) • Sensor networks • Web 2.0 applications

  35. How much data? • Wayback Machine has 3 PB + 100 TB/month (2009) • Google processes 20 PB a day (2008) • “all words ever spoken by human beings” ~ 5 EB • NOAA has ~1 PB climate data (2007) • CERN’s LHC generates 15 PB a year (2010) 640Kought to be enough for anybody.

  36. Large Data Centers • Web-scale problems? Throw more machines at it! • Clear trend: centralization of computing resources in large data centers • Important Issues: • Redundancy • Efficiency • Utilization • Management

  37. The “Cloud” = 10X Improvements • Ease of Use • Scalability • Risk • Reliability • Cost

  38. Ease of Use • Deploy infrastructure with a mouse or API • Cloud computing providers deliver applications via the internet, which are accessed from web browsers and desktop and mobile apps • Do it yourself remotely from anywhere anytime

  39. Scalability • Dynamic provisioning of resources on a fine-grained, self-service basis near real-time, without users having to engineer for peak loads • Control your infrastructure with your app

  40. Risk • Nothing to buy • Cancel immediately • Change instantly, even operating systems • Throw it out • Rebuild it instantly after testing RISK

  41. Reliability • Based on enterprise grade hardware • Design for failures: • Automatically spin up replacements • Use multiple clouds

  42. Cost Control • Cost • Many systems have variable demands • Batch processing (e.g. New York Times) • Web sites with peaks (e.g. Forbes) • Startups with unknown demand (e.g. the Cash for Clunkers program) • Reduce risk • Don't need to buy hardware until you need it

  43. Business Agility • More than scalability - elasticity! • Ely Lilly in rapidly changing health care business • Used to take 3 - 4 months to give a department a server cluster, then they would hoard it! • Using EC2, about 5 minutes! • And they give it back when they are done! • Scaling back is as important as scaling up

  44. Stick to Business • Most companies don't WANT to do system administration • Forbes says: • We are is a publishing company, not a software company • But beware: • Do you really save much on sys admin? • You don't have the hardware, but you still need to manage the OS!

  45. Provisioning Service • Advantages • Rapid reconstitution of services • Enables availability • Provision in multiple data centers/multiple instances • Advanced honey net capabilities • Challenges • Impact of compromising the provisioning service

  46. Data Storage Services • Advantages • Data fragmentation and dispersal • Automated replication • Provision of data zones (e.g., by country) • Encryption at rest and in transit • Automated data retention • Challenges • Isolation management / data multi-tenancy • Storage controller • Single point of failure / compromise? • Exposure of data to foreign governments

  47. Cloud Processing Infrastructure • Advantages • Ability to secure masters and push out secure images • Challenges • Application multi-tenancy • Reliance on hypervisors • Process isolation / Application sandboxes

  48. Cloud Support Services • Advantages • On demand security controls (e.g., authentication, logging, firewalls…) • Challenges • Additional risk when integrated with customer applications • Needs certification and accreditation as a separate application • Code updates

  49. Cloud Network and Perimeter Security • Advantages • Distributed denial of service protection • VLAN capabilities • Perimeter security (IDS, firewall, authentication) • Challenges • Virtual zoning with application mobility

More Related