Presentation is loading. Please wait.

Presentation is loading. Please wait.

9. Cloud Computing. Cloud Architectures

Similar presentations


Presentation on theme: "9. Cloud Computing. Cloud Architectures"— Presentation transcript:

1 9. Cloud Computing. Cloud Architectures

2 Typical Web App Architecture

3

4 Cloud Business Drivers

5 Characteristics of Cloud Computing

6 Characteristics of Cloud Computing

7 Cloud Computing Attributes

8 Cloud Architecture Lessons

9 Cloud Architecture

10 Design for Failure and Nothing Fails

11 Design for Failure and Nothing Fails

12 Scalability

13 Scalability

14 The Future …

15 Above the Clouds

16 Cloud Computing Grid - võrgustik

17 Cloud Computing — Core Concepts

18 Cloud Computing Types

19 Cloud Computing has Multiple Dimensions

20 Service Delivery Model Examples
Amazon Google Microsoft Salesforce SaaS PaaS IaaS Products and companies shown for illustrative purposes only and should not be construed as an endorsement

21 A Cloud Computing Definition

22 Working Cloud Definition (1 of 3)

23 Working Cloud Definition (2 of 3)

24 Working Cloud Definition (3 of 3)

25 The Cloud Framework

26 Provisioning Problems
Some users desert the site permanently after experiencing poor service When Animoto made its service available via Facebook, it experienced a demand surge that resulted in growing from 50 servers to 3500 servers in three days.

27 Leading Vendors Offering Computing as a Service

28 Elastic Compute Cloud (EC2)
Elastic Compute Cloud (EC2) from Amazon Web Services (AWS) sells 1.0-GHz x86 “slices” for 10 cents per hour, and a new “slice”, or instance, can be added in 2 to 5 minutes. Amazon’s Scalable Storage Service (S3) charges $0.12 to $0.15 per gigabyte-month, with additional bandwidth charges of $0.10 to $0.15 per gigabyte to move data in to and out of AWS over the Internet.

29 Elasticity The key observation is that Cloud Computing’s ability to add or remove resources at a fine grain (one server at a time with EC2) and with a lead time of minutes rather than weeks allows matching resources to workload much more closely. Real world estimates of server utilization in datacenters range from 5% to 20%. This may sound shockingly low, but it is consistent with the observation that for many services the peak workload exceeds the average by factors of 2 to 10. Few users deliberately provision for less than the expected peak, and therefore they must provision for the peak and allow the resources to remain idle at nonpeak times. The more pronounced the variation, the more the waste.

30 Case Study: 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 (not a DNS change)

31 Amazon Cloud Terminology

32 Amazon Cloud Users: New York Times and Nasdaq
Both companies used Amazon’s cloud offering New York Times Didn’t coordinate with Amazon, used a credit card! Used EC2 and S3 to convert 15 million scanned news articles to PDF (4TB data) Took 100 Linux computers 24 hours (would have taken months on NYT computers “It was cheap experimentation, and the learning curve isn't steep.” – Derrick Gottfrid, Nasdaq • Nasdaq Uses S3 to deliver historic stock and fund information Millions of files showing price changes of entities over 10 minute segments “The expenses of keeping all that data online [in Nasdaq servers] was too high.” – Claude Courbois, Nasdaq VP Created lightweight Adobe AIR application to let users view data

33 Animoto

34 Scaling From 50 to 3500 Servers in 3 Days

35 New York Times

36 Chaos Monkey The Chaos Monkey’s job is to randomly kill instances and services within Netflix architecture. If we aren’t constantly testing our ability to succeed despite failure, then it isn’t likely to work when it matters most – in the event of an unexpected outage. Chaos Gorilla is similar to Chaos Monkey, but simulates an outage of an entire Amazon availability zone. We want to verify that our services automatically re-balance to the functional availability zones without user-visible impact or manual intervention.

37 Why Customers Value Cloud: Easy to Deploy and Better Economics

38 Some Generally Accepted Characteristics
Most people would agree that true cloud computing… usually has low or zero up front capital costs largely eliminates operational responsibilities (e.g., if a disk fails or a switch loses connectivity, you don’t need to fix it) for the most part, cloud computing eliminates knowledge of WHERE one’s computational work is being done; your job is being run “somewhere” out there in the “cloud” offers substantial elasticity and scalability: if you initially need one CPU, that’s fine, but if you suddenly need 999 more, you can get them, too (and with very little delay!) If/when demand drops, you can scale your usage back, too cloud computing leverages economies of scale (running mega data centers with tens of thousands of computers is far less expensive (per computer) than running a small machine room with just a modest cluster of systems)

39 Another Data Point for Clouds and Security

40 Cloud Computing Ontology

41 A. Cloud Application Layer
A cloud application is deployed at the provider’s computing infrastructure (rather than at the users’ desktop machines), therefore the developers of the application are able to roll smaller patches to the system and add new features without disturbing the users with requests to install major updates or service packs. This model conveys several favorable benefits for the users and providers of cloud applications, and is normally referred to as Software as a Service (SaaS). Salesforce Customer Relationships Management (CRM) system [7] and Google Apps [8] are two examples of SaaS.

42 B. Cloud Software Environment Layer
The users of this layer are cloud applications’ developers, implementing their applications for and deploying them on the cloud. The providers of the cloud software environments supply the developers with a programming-language-level environment with a set of well-defined APIs to facilitate the interaction between the environments and the cloud applications, as well as to accelerate the deployment and support the scalability needed of those cloud applications.

43 Cloud Software Environment Layer: Platform as a Service
The service provided by cloud systems in this layer is commonly referred to as Platform as a Service (PaaS). One example of systems in this category is Google’s App Engine [5], which provides a python runtime environment and APIs for applications to interact with Google’s cloud runtime environment. Another example is SalesForce Apex language [9] that allows the developers of the cloud applications to design, along with their applications’ logic, their page layout, workflow, and customer reports.

44 C. Cloud Software Infrastructure Layer
The cloud software infrastructure layer provides fundamental resources to other higher-level layers, which in turn can be used to construct new cloud software environments or cloud applications. Cloud services offered in this layer can be categorized into: computational resources, data storage, and communications.

45 Computational Resources
Virtual machines (VMs) are the most common form for providing computational resources to cloud users at this layer, where the users get finer-granularity flexibility since they normally get super-user access to their VMs, and can use it to customize the software stack on their VM for performance and efficiency. Often, such services are dubbed Infrastructure as a Service (IaaS). Amazon’s Elastic Compute Cloud (EC2[6]), and Enomalism elastic computing infrastructure [13] are the two most popular examples of commercial systems available in this cloud category.

46 Virtualization Virtualization is the enabler technology for this cloud component, which allows the users unprecedented flexibility in configuring their settings while protecting the physical infrastructure of the provider’s data center. Recent advances in OS Virtualization: paravirtualization and hardware-assisted virtualization.

47 Data Storage The second infrastructure resource is data storage, which allows users to store their data at remote disks and access them anytime from any place. This service is commonly known as Data-Storage as a Service (DaaS), and it facilitates cloud applications to scale beyond their limited servers.

48 Data Storage Data storage systems are expected to meet several rigorous requirements for maintaining users’ data and information, including high availability, reliability, performance, replication and data consistency; but because of the conflicting nature of these requirements, no one system implements all of them together. Example of commercial DaaS-systems are Amazon’s S3 [19] and EMC Storage Managed Service [20].

49 Communication As the need for a guaranteed quality of service (QoS) for network communication grows for cloud systems, communication becomes a vital component of the cloud infrastructure. One example of systems that belong to CaaS is Microsoft Connected Service Framework (CSF).

50 Communication Consequently, cloud systems are obliged to provide some communication capability that is serviceoriented, configurable, schedulable, predictable, and reliable. Towards this goal, the concept of Communication as a Service (CaaS) emerged to support such requirements, as well as network security, dynamic provisioning of virtual overlays for traffic isolation or dedicated bandwidth, guaranteed message delay, communication encryption, and network monitoring.

51 D. Software Kernel This cloud layer provides the basic software management for the physical servers that compose the cloud. Software kernels at this level can be implemented as an OS kernel, hypervisor, virtual machine monitor and/or clustering middleware.

52 E. Hardware and Firmware
The bottom layer of the cloud stack in our proposed ontology is the actual physical hardware and switches that form the backbone of the cloud. In this regard, users of this layer of the cloud are normally big enterprises with huge IT requirements in need of subleasing Hardware as a Service (HaaS). For that, the HaaS provider operates, manages and upgrades the hardware on behalf of its consumers, for the life-time of the sublease. This model is advantageous to the enterprise users, since they do not need to invest in building and managing data centers. Meanwhile, HaaS providers have the technical expertise as well as the cost-effective infrastructure to host the systems.

53 Cloud architectures

54 XaaS

55 Cloud Computing Architecture

56 View of Cloud Deployment
Cloud Application Client Infrastructure Application Virtualized Application SaaS Service PaaS Platform IaaS Storage Infrastructure

57 Cloud Architecture

58 Cloud Computing Architecture vs. “XaaS”

59 “XaaS” Stack Views Customer View vs. Provider View

60 SOA and Cloud Computing

61 Cloud Computing Model

62 Federated Cloud Service

63 Infrastructure as a Service (IaaS)

64 Platform Cloud Service (PaaS)

65 Platform as a Service (PaaS)

66 Software Cloud Service (SaaS)

67 Software as a Service (SaaS)

68 The Relationship of Cloud Service Layers

69 Importance of Data Services
in the Cloud

70 Conclusions

71 The “Cloud Pyramid” Build upon a foundation Layers equate structure
Building blocks: Infrastructure, Platforms, Applications Breadth vs. Niche

72 The “Cloud Pyramid” Inversed
1000’s of Cloud Applications currently Handful of Cloud Platforms Elite group of Cloud Infrastructure providers # of Marketplace providers

73 Drivers for Cloud Computing Adoption

74 Barriers for Cloud Computing Adoption

75 Relationship to Other Technologies

76 Cloud Computing Pros and Cons


Download ppt "9. Cloud Computing. Cloud Architectures"

Similar presentations


Ads by Google