Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Cloud Computing: Overview and Examples

Cloud Computing: Overview and Examples

Lecture #6 - ET-3010
Cloud Computing - Overview and Examples
Connected Services and Cloud Computing
School of Electrical Engineering and Informatics SEEI / STEI
Institut Teknologi Bandung ITB
Update April 2017


Eueung Mulyana

April 29, 2017

More Decks by Eueung Mulyana

Other Decks in Technology


  1.   1 / 116 Overview & Examples Cloud Computing

    Dr.-Ing. Eueung Mulyana https://eueung.github.io/ET3010 ET-3010 | Attribution-ShareAlike CC BY-SA
  2. Outline Introduction Computing at Scale Cloud Infrastructure Public Cloud Examples

    2 / 116
  3.   Introduction 3 / 116

  4. 4 / 116 Cloud Computing 1. Trends 2. Terms &

    De nitions 3. Reasons / Bene ts 4. Types of Cloud Services 5. Types of Cloud Deployments 6. Uses of Cloud Computing 7. Common Interpretations
  5. Trends 5 / 116

  6. Google Trends (2004 - 2017/4) 6 / 116

  7. Cloud Computing vs. IoT 7 / 116

  8. De nitions 8 / 116

  9. In Our Previous Talks Cloud - General term referring to

    a system box contained everything necessary to run the service 9 / 116
  10. In Our Previous Talks Clouds in Cloud : System 10

    / 116
  11. 11 / 116 NIST (National Institute of Standard and Technology)

    De nition 5 Essential Characteristics 3 Service / Delivery Models 4 Deployment Models Key Enablers: fast networks, powerful servers, high- performance virtualization etc. Cloud Computing Cloud Computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of con gurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management e ort or service provider interaction.
  12. 12 / 116

  13. 13 / 116 Cloud Computing, often referred to as simply

    "the cloud", is the delivery of on-demand computing resources (everything from applications to data centers) over the Internet on a pay-for-use basis. Computing as a service over the Internet Elastic Resources : Scale up or down quickly and easily to meet demand Metered Service : You only pay for what you use Self Service : All the IT resources you need with self- service access Ref: IBM Cloud Computing Cloud Computing (also called simply, "the cloud") describes the act of storing, managing and processing data online - as opposed to on your own physical computer or network (Ref: Rackspace). Cloud Computing is the on-demand delivery of compute power, database storage, applications, and other IT resources through a cloud services platform via the internet with pay-as- you-go pricing (Ref: AWS).
  14. 14 / 116 Cloud Computing How does it work? Cloud

    computing services all work a little di erently, depending on the provider. Many provide a friendly, browser-based dashboard that makes it easier for IT professionals and developers to order resources and manage their accounts. Some cloud computing services are also designed to work with REST APIs and a command-line interface (CLI), giving developers multiple options. Ref: Microsoft
  15. Bene ts 15 / 116

  16. 16 / 116 Cloud Computing The rst cloud computing services

    are barely a decade old, but already a variety of organisations - from tiny startups to global corporations, government agencies to non-pro ts - are embracing the technology for all sorts of reasons. Ref: Microsoft Bene ts 1. Cost 2. Speed 3. Scalability 4. Productivity 5. Performance 6. Reliability
  17. 17 / 116 Cloud Bene ts Ref: Microsoft Cost Cloud

    computing eliminates the capital expense of buying hardware and software and setting up and running on-site datacenters - the racks of servers, the round-the-clock electricity for power and cooling, the IT experts for managing the infrastructure. Speed Most cloud computing services are provided self service and on demand, so even vast amounts of computing resources can be provisioned in minutes, typically with just a few mouse clicks, giving businesses a lot of exibility and taking the pressure o capacity planning. Scalability The bene ts of cloud computing services include the ability to scale elastically. In cloud speak, that means delivering the right amount of IT resources - for example, more or less computing power, storage, bandwidth - right when its needed and from the right geographic location.
  18. 18 / 116 Cloud Bene ts Ref: Microsoft Productivity On-site

    datacenters typically require a lot of "racking and stacking" - hardware set up, software patching and other time-consuming IT management chores. Cloud computing removes the need for many of these tasks, so IT teams can spend time on achieving more important business goals. Performance The biggest cloud computing services run on a worldwide network of secure datacenters, which are regularly upgraded to the latest generation of fast and e cient computing hardware. This o ers several bene ts over a single corporate datacenter, including reduced network latency for applications and greater economies of scale. Reliability Cloud computing makes data backup, disaster recovery and business continuity easier and less expensive, because data can be mirrored at multiple redundant sites on the cloud provider's network.
  19. Services (Delivery Models) 19 / 116

  20. 20 / 116 Cloud Computing Most cloud computing services fall

    into three broad categories: Infrastructure as a Service (IaaS), Platform as a Service (PaaS) and Software as a Service (Saas). These are sometimes called the Cloud Computing Stack, because they build on top of one another. Ref: Microsoft Types of Cloud Services 1. IaaS 2. PaaS 3. SaaS
  21. 21 / 116

  22. 22 / 116 Cloud Services Ref: Microsoft IaaS The most

    basic category of cloud computing services. With IaaS, you rent IT infrastructure - servers and virtual machines (VMs), storage, networks, operating systems - from a cloud provider on a pay-as-you-go basis. PaaS PaaS refers to cloud computing services that supply an on-demand environment for developing, testing, delivering and managing software applications. PaaS is designed to make it easier for developers to quickly create web or mobile apps, without worrying about setting up or managing the underlying infrastructure (and other services) needed for development. SaaS SaaS is a method for delivering software applications over the Internet, on demand and typically on a subscription basis. With SaaS, cloud providers host and manage the software application and underlying infrastructure and handle any maintenance (eg. upgrades, patching).
  23. Hosting & Cloud Software Delivery (Ref: Microsoft) 23 / 116

  24. Deployments 24 / 116

  25. 25 / 116 Cloud Computing Not all clouds are the

    same. There are three di erent ways to deploy cloud computing resources: public cloud, private cloud and hybrid cloud. NIST has de ned another type of deployment: community cloud. Ref: Microsoft Types of Cloud Deployments Public Cloud Public clouds are owned and operated by a third-party cloud service provider, which deliver their computing resources like servers and storage over the Internet. With a public cloud, all hardware, software and other supporting infrastructure is owned and managed by the cloud provider. You access these services and manage your account using a web browser.
  26. 26 / 116 Cloud Deployments Ref: Microsoft Private Cloud A

    private cloud refers to cloud computing resources used exclusively by a single business or organisation. A private cloud can be physically located on the company's on-site datacenter (on-site). Some companies also pay third-party service providers to host their private cloud (outsourced). A private cloud is one in which the services and infrastructure are maintained on a private network. Hybrid Cloud Hybrid clouds combine public and private clouds, bound together by technology that allows data and applications to be shared between them. By allowing data and applications to move between private and public clouds, hybrid cloud gives businesses greater exibility and more deployment options.
  27. 27 / 116

  28. Uses 28 / 116

  29. 29 / 116 Cloud Computing You are probably using cloud

    computing right now, even if you don't realise it. Why?? If you use an online service to send email, edit documents, watch movies or TV, listen to music, play games or store pictures and other les, it is likely that cloud computing is making it all possible behind the scenes. Ref: Microsoft Cloud Computing Uses Examples of the things we can do with the cloud Create new apps and services Deliver software on demand Store, back up and recover data Analyse data for patterns and make predictions Host websites and blogs Stream audio and video
  30. SaaS Examples - Everyday Uses 30 / 116

  31. SaaS Examples - Everyday Uses 31 / 116

  32. PaaS Example - Rovio (Angry Birds) 32 / 116

  33. 33 / 116 Speed & Scalability Example "Because our web

    games are popular immediately, we don't have the option of scaling them over time," "Google App Engine makes the process painless, since it can instantly launch as many servers as we need and scale back down when a game has passed its usage peak." Note: App Engine is a PaaS from Google.
  34. 34 / 116 Speed & Scalability Example Millions of gamers

    have ocked to Rovio's web games since their launch. The company's most popular o ering, the Facebook game "Angry Birds Friends", logs more than 13 million users every month. Since the developers don't need to install or maintain hardware, they can devote their attention to enhancing the games, which have received overwhelmingly positive reviews. Ref: Rovio @ GCP
  35. Common Interpretations 35 / 116

  36. 36 / 116 Cloud Computing Common Interpretations 1. Rebranding of

    Web 2.0 2. Utility Computing 3. Everything as a Service 4. Large Data (Big-Data)
  37. 37 / 116 Cloud Interpretations Rebranding Web 2.0 Rich, Interactive,

    Multi-Device (Web) Applications The network is the computer! DIY Style/Interface Utility Computing Metered Computing Service (Pay-as-You-Go) Dinamic Resource Provisioning (Scaling) Everything aaS Mainstream: IaaS, PaaS, SaaS Others: BaaS, ..
  38. 38 / 116 Cloud Interpretations Large Data (Big-Data) Planet-Scale Services

    Data Capture / Analytics / IoT Science Engineering Commerce Society
  39. Big-Data | Ref: Jimmy Lin 39 / 116

  40. Data-Related Activity Every 60s (2014-2016) | Planet-Scale Services | Ref:

    Smart Insights 40 / 116
  41. Check Point 41 / 116

  42. True or False ? Credits: Freeit Data, Wikimedia, forrestcity 42

    / 116
  43. No cloud or clouds? What is cloud? 43 / 116

  44.   Computing at Scale 44 / 116

  45. 45 / 116 Computing at Scale 1. Reasons / Needs

    2. (Hi)Story of Scaling 3. Classical Scaling Techniques
  46. Needs 46 / 116

  47. 47 / 116 Computing at Scale Apps / Services need

    resources. Modern applications require huge amounts of processing and data: PB/EB/+, millions of users, billions of objects. Needs 1. Dynamic Scale of Current Apps/Services 2. Scale of Future Apps/Services How many Users/Objects? How much Data? How much Computation?
  48. (Hi)Story of Scaling From Single Computer to Data-Center 48 /

  49. One box ts all ... Ref: ud859 49 / 116

  50. As the service grows, we might need several boxes. For

    space e ciency: "Pizza-Style" Boxes (Rack-Mounted) 50 / 116
  51. Further growth needs dedicated space and special handling. 51 /

  52. Scaling Up What if one computer is not enough? Buy

    a server-class computer (bigger cap.) What if the biggest one is not enough? Buy many computers (Cluster) 52 / 116
  53. Scaling Up - Cluster Ref: Haeberlen 53 / 116

  54. What if your cluster is too big (hot, power hungry)

    to t into your o ce building? Build a separate building for the cluster. Building can have lots of cooling and power. Data-Center 54 / 116
  55. What if even a data center is not big enough?

    Build additional data centers. But where? How many? 55 / 116
  56. Network of Data-Center - Example Global DC Network - Ref:

    Hoezle (Google) 56 / 116
  57. Classical Scaling Approaches 57 / 116

  58. 58 / 116 Computing at Scale Classical Scaling Approaches Resources

    are NOT pooled Scaling-out are handled by apps or by special middleware Legacy & manual provisioning is mostly inevitable
  59. Scaling | Bare-Metal / Pre-Cloud Virtualization vs. IaaS While Clusters

    / Data-Centers can provide the resources we need, let's take a look at the things to be handled... 59 / 116
  60. 60 / 116 Classical Scaling Approaches Expensive Ref: Haeberlen 1.

    Need HW Investment 2. Need Expertise 3. Need Maintenance Even a small cluster can easily cost $100,000. A single DC could be in the range of around $200 - $500 Millions. Planning and setting up a large cluster is highly nontrivial. Cluster may require special software, etc. Someone needs to replace faulty hardware, install software upgrades, maintain user accounts, etc.
  61. 61 / 116 Classical Scaling Approaches Not Easy to Dimension

    Load can vary considerably! Ref: Haeberlen 1. Peak load can exceed average load by factor 2x-10x. 2. Dilemma: Waste resources or lose customers!
  62. 62 / 116 Dimensioning Dilemma Provisioning for the peak (likely

    to waste resources) vs. provisioning below the peak (likely to lose customers).
  63. 63 / 116 Classical Scaling Approaches Not Easy to Execute

    Ref: Haeberlen Scaling-Up Need to order new machines, install them, integrate with existing cluster - can take weeks Large scaling factors may require major redesign, e.g., new storage system, new interconnect, new building (!) Scaling-Down What to do with super uous hardware? Server idle power is about 60% of peak Energy is consumed even when no work is being done Many xed costs, such as construction
  64.   Cloud Infrastructure 64 / 116

  65. 65 / 116 Cloud Infrastructure 1. De nitions 2. Data-Center

    3. Cloud Software
  66. 66 / 116 Cloud Infrastructure Convention Cloud infrastructure is the

    collection of hardware and software which is needed to provide cloud services e.g. IaaS, PaaS or SaaS. Ref: sdxcentral
  67. Hardware | Compute, Storage, Network Primary Components in Data-Center 67

    / 116
  68. Software | All Boxes in Yellow Abstractions, Management, etc. 68

    / 116
  69. 69 / 116 Cloud Infrastructure Data-Center A dedicated place/building that

    houses IT infrastructure. A warehouse-sized "computer". A single data center can easily contain 10,000 racks with 100 cores in each rack (1,000,000 cores total). This gure tends to increase over time. Ref: Haeberlen, Lin
  70. DC Building Blocks | Thousands of Racks (Ref: Lin, Google)

    70 / 116
  71. Data-Center Organization (Barroso, Hoelzle via Lin) 71 / 116

  72. Massive Networking (Credit: Google) 72 / 116

  73. Anatomy of Data-Center (Barroso,Hoelzle via Lin) 73 / 116

  74. Power Supplies & Backup/Emergency (Lin) | Google's The Dalles: 37

    MW 74 / 116
  75. Power Supplies & Backup/Emergency (Lin) 75 / 116

  76. Massive Cooling (Credit: Google) 76 / 116

  77. Massive Cooling (Credit: Google) 77 / 116

  78. Data-Center Cooling (Barroso, Hoelzle via Lin) 78 / 116

  79. Data-Center Cooling (Barroso, Hoelzle via Lin) 79 / 116

  80. Modular DC - Servers Inside Shipping Containers Microsoft Chicago Data-Center

    (Tamburrelli) 80 / 116
  81. Microsoft Modular DC Deployment (Tamburrelli) 40 ft shipping containers can

    house as many as 2,500 servers! 81 / 116
  82. 82 / 116 Cloud Infrastructure Cloud Software To deliver cloud

    services we have to run cloud software to abstract and manage the underlying hardware infrastructure. The software can be proprietary (e.g. Microsoft Azure, GCP, AWS) or open-source (e.g. OpenStack, Cloud Foundry). Here we'll shortly address OpenStack and Cloud Foundry.
  83. 83 / 116 Cloud Infrastructure Software OpenStack software controls large

    pools of compute, storage, and networking (i.e. IaaS) resources throughout a datacenter, managed through a dashboard or via the OpenStack API. OpenStack OpenStack is an open source cloud operating system that controls large pools of compute, storage, and networking resources, all managed through a dashboard that gives administrators control while empowering their users to provision resources through a web interface. Resources are made accessible to developers through APIs. OpenStack can be used to manage resources in a single data center or across multiple data centers (regions). Ref: openstack.org, IBM
  84. OpenStack (IaaS) & Cloud Foundry (PaaS) 84 / 116

  85. OpenStack Horizon Dashboard 85 / 116

  86. OpenStack - System Overview 86 / 116

  87. 87 / 116 Cloud Infrastructure Software Cloud Foundry is an

    open source cloud computing PaaS solution originally developed by VMware and now owned by Pivotal Software (a subsidiary of VMware). Cloud Foundry Cloud Foundry is the industry standard open source cloud application platform for developing and deploying enterprise cloud applications. It automates, scales and manages cloud apps throughout their lifecycle. Applications can be written in just about any language and are deployed in container images on any infrastructure. Ref: Cloud Foundry, IBM
  88. Cloud Foundry - Platform Overview 88 / 116

  89.   Public Cloud Examples 89 / 116

  90. 90 / 116 Public Cloud Examples 1. Amazon Web Services

    (AWS) 2. Google Cloud Platform (GCP) 3. Microsoft Azure
  91. AWS Amazon Web Services 91 / 116

  92. 92 / 116 Public Cloud Examples AWS Amazon Web Services

    o ers a broad set of global cloud-based products including compute, storage, databases, analytics, networking, mobile, developer tools, management tools, IoT, security and enterprise applications. These services help organizations move faster, lower IT costs, and scale. AWS is trusted by the largest enterprises and the hottest start-ups to power a wide variety of workloads including: web and mobile applications, game development, data processing and warehousing, storage, archive, and many others. Ref: Cloud Products & Services - AWS
  93. AWS Global Infrastructure 2016 (Ref: Amazon) 93 / 116

  94. AWS - Services 2017 (Ref: Barr/AWS) 94 / 116

  95. AWS - Core Infrastructure & Services 95 / 116

  96. AWS - Cloud Computing 96 / 116

  97. AWS - Foundation Services 97 / 116

  98. AWS - Platform Services 98 / 116

  99. AWS - IaaS Pricing Estimate (via Bitnami) 99 / 116

  100. GCP Google Cloud Platform 100 / 116

  101. 101 / 116 Public Cloud Examples GCP With Google Cloud

    Platform, you can build, test, and deploy applications on Google's highly-scalable and reliable infrastructure for your web, mobile, and backend solutions. Cloud Platform o ers a full spectrum of cloud products and services for compute, storage, networking, big data, machine learning, operations, and more. Ref: Google Cloud Platform Documentation
  102. 102 / 116 Public Cloud Examples Accessing resources through services

    GCP Cloud Platform consists of a set of physical assets, such as computers and hard disk drives, and virtual resources, such as virtual machines (VMs), that are contained in Google's data centers around the globe. In cloud computing, what you might be used to thinking of as software and hardware products, become services. These services provide access to the underlying resources. The list of available Cloud Platform services is long, and it keeps growing. When you develop your website or application on Cloud Platform, you mix and match these services into combinations that provide the infrastructure you need, and then add your code to enable the scenarios you want to build. Ref: GCP Overview
  103. GCP - Global Infrastructure (Ref: Kava/Google) 103 / 116

  104. GCP - Services (Ref:@joeint) 104 / 116

  105. 105 / 116 GCP Pricing Calculator IaaS Example

  106. Azure 106 / 116

  107. 107 / 116 Public Cloud Examples Azure is Microsoft's application

    platform for the public cloud. Azure Microsoft Azure is a exible, open, and secure public cloud built for business. Access a broad collection of integrated services that accommodate many languages and operating systems. Use world-class tools to accelerate a wide variety of app development and delivery capabilities. Ref: Azure Infographics
  108. 108 / 116 Public Cloud Examples Azure o ers several

    ways to host web sites: Virtual Machines, App Service, Service Fabric (Cloud Services) or Functions (serverless). Azure Azure is a complete cloud platform that can host your existing application infrastructure, provide compute-based services tailored for your application development needs, or even augment your on-premises applications. Azure integrates the cloud services that you need to develop, test, deploy, and manage your applications - while taking advantage of the e ciencies of cloud computing. By hosting your applications in Azure, you can start small and easily scale your application as your customer demand grows. Azure also o ers the reliability that's needed for high- availability applications, even including failover between di erent regions. Ref: Microsoft Docs, Get started guide
  109. Microsoft Global Data-Center 109 / 116

  110. 110 / 116 Virtual Machines VMs are basic cloud building

    blocks. Get full control over a virtual machine with virtual hard disks. Install and run software yourself. Con gure multiple machines with di erent roles to create complex solutions. VMs are nearly identical to conventional (real) servers, and are the easiest way to move existing workloads to the cloud. Ref: Azure Infographics
  111. 111 / 116 Cloud Services tbrw Service Fabric Easily access

    and manage these general-purpose VMs. We maintain and update each VM as needed with system updates. You con gure the VM size as needed, and scale out as many copies as needed. Two types of VMs: worker roles and web roles - worker roles are made for computing and running services. The web role is simply a worker role with IIS already installed and con gured. Ref: Azure Infographics
  112. 112 / 116 App Service Azure App Service is a

    high productivity solution for developers who need to create enterprise-grade web and mobile app experiences. App Service provides a complete platform as a service solution that enables you to deploy and elastically scale applications in the cloud, and seamlessly integrate them with on-premises resources and SaaS based applications. Ref: Azure Infographics
  113. Azure Pricing Estimate - IaaS Example 113 / 116

  114.   Refs 114 / 116

  115. References 1. Jimmy Lin, Big Data Infrastructure, Univ. of Waterloo,

    2017 2. Giordano Tamburrelli, Windows Azure Platform 3. A. Haeberlen, Z. Ives, Scalable and Cloud Computing, Univ. of Pennsylvania, 2013 4. GCP Resources: Google Cloud Platform Overview, GCP Tech Talk by @joeint; Tutorial of Google Cloud Platform 5. AWS Resources: AWS Introduction and History, AWS Free Tier, AWS | Start Now 6. Azure Resources: Get started guide for Azure developers, An Azure Overview and Perspective, Azure Training Courses | Microsoft Learning 7. IBM cloud technologies 115 / 116
  116.   116 / 116 END Dr.-Ing. Eueung Mulyana https://eueung.github.io/ET3010

    ET-3010 | Attribution-ShareAlike CC BY-SA