Slide 1

Slide 1 text

  1 / 116 Overview & Examples Cloud Computing Dr.-Ing. Eueung Mulyana https://eueung.github.io/ET3010 ET-3010 | Attribution-ShareAlike CC BY-SA

Slide 2

Slide 2 text

Outline Introduction Computing at Scale Cloud Infrastructure Public Cloud Examples 2 / 116

Slide 3

Slide 3 text

  Introduction 3 / 116

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

Trends 5 / 116

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

Cloud Computing vs. IoT 7 / 116

Slide 8

Slide 8 text

De nitions 8 / 116

Slide 9

Slide 9 text

In Our Previous Talks Cloud - General term referring to a system box contained everything necessary to run the service 9 / 116

Slide 10

Slide 10 text

In Our Previous Talks Clouds in Cloud : System 10 / 116

Slide 11

Slide 11 text

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.

Slide 12

Slide 12 text

12 / 116

Slide 13

Slide 13 text

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).

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

Bene ts 15 / 116

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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.

Slide 18

Slide 18 text

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.

Slide 19

Slide 19 text

Services (Delivery Models) 19 / 116

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

21 / 116

Slide 22

Slide 22 text

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).

Slide 23

Slide 23 text

Hosting & Cloud Software Delivery (Ref: Microsoft) 23 / 116

Slide 24

Slide 24 text

Deployments 24 / 116

Slide 25

Slide 25 text

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.

Slide 26

Slide 26 text

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.

Slide 27

Slide 27 text

27 / 116

Slide 28

Slide 28 text

Uses 28 / 116

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

SaaS Examples - Everyday Uses 30 / 116

Slide 31

Slide 31 text

SaaS Examples - Everyday Uses 31 / 116

Slide 32

Slide 32 text

PaaS Example - Rovio (Angry Birds) 32 / 116

Slide 33

Slide 33 text

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.

Slide 34

Slide 34 text

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

Slide 35

Slide 35 text

Common Interpretations 35 / 116

Slide 36

Slide 36 text

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)

Slide 37

Slide 37 text

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, ..

Slide 38

Slide 38 text

38 / 116 Cloud Interpretations Large Data (Big-Data) Planet-Scale Services Data Capture / Analytics / IoT Science Engineering Commerce Society

Slide 39

Slide 39 text

Big-Data | Ref: Jimmy Lin 39 / 116

Slide 40

Slide 40 text

Data-Related Activity Every 60s (2014-2016) | Planet-Scale Services | Ref: Smart Insights 40 / 116

Slide 41

Slide 41 text

Check Point 41 / 116

Slide 42

Slide 42 text

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

Slide 43

Slide 43 text

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

Slide 44

Slide 44 text

  Computing at Scale 44 / 116

Slide 45

Slide 45 text

45 / 116 Computing at Scale 1. Reasons / Needs 2. (Hi)Story of Scaling 3. Classical Scaling Techniques

Slide 46

Slide 46 text

Needs 46 / 116

Slide 47

Slide 47 text

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?

Slide 48

Slide 48 text

(Hi)Story of Scaling From Single Computer to Data-Center 48 / 116

Slide 49

Slide 49 text

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

Slide 50

Slide 50 text

As the service grows, we might need several boxes. For space e ciency: "Pizza-Style" Boxes (Rack-Mounted) 50 / 116

Slide 51

Slide 51 text

Further growth needs dedicated space and special handling. 51 / 116

Slide 52

Slide 52 text

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

Slide 53

Slide 53 text

Scaling Up - Cluster Ref: Haeberlen 53 / 116

Slide 54

Slide 54 text

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

Slide 55

Slide 55 text

What if even a data center is not big enough? Build additional data centers. But where? How many? 55 / 116

Slide 56

Slide 56 text

Network of Data-Center - Example Global DC Network - Ref: Hoezle (Google) 56 / 116

Slide 57

Slide 57 text

Classical Scaling Approaches 57 / 116

Slide 58

Slide 58 text

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

Slide 59

Slide 59 text

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

Slide 60

Slide 60 text

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.

Slide 61

Slide 61 text

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!

Slide 62

Slide 62 text

62 / 116 Dimensioning Dilemma Provisioning for the peak (likely to waste resources) vs. provisioning below the peak (likely to lose customers).

Slide 63

Slide 63 text

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

Slide 64

Slide 64 text

  Cloud Infrastructure 64 / 116

Slide 65

Slide 65 text

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

Slide 66

Slide 66 text

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

Slide 67

Slide 67 text

Hardware | Compute, Storage, Network Primary Components in Data-Center 67 / 116

Slide 68

Slide 68 text

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

Slide 69

Slide 69 text

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

Slide 70

Slide 70 text

DC Building Blocks | Thousands of Racks (Ref: Lin, Google) 70 / 116

Slide 71

Slide 71 text

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

Slide 72

Slide 72 text

Massive Networking (Credit: Google) 72 / 116

Slide 73

Slide 73 text

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

Slide 74

Slide 74 text

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

Slide 75

Slide 75 text

Power Supplies & Backup/Emergency (Lin) 75 / 116

Slide 76

Slide 76 text

Massive Cooling (Credit: Google) 76 / 116

Slide 77

Slide 77 text

Massive Cooling (Credit: Google) 77 / 116

Slide 78

Slide 78 text

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

Slide 79

Slide 79 text

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

Slide 80

Slide 80 text

Modular DC - Servers Inside Shipping Containers Microsoft Chicago Data-Center (Tamburrelli) 80 / 116

Slide 81

Slide 81 text

Microsoft Modular DC Deployment (Tamburrelli) 40 ft shipping containers can house as many as 2,500 servers! 81 / 116

Slide 82

Slide 82 text

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.

Slide 83

Slide 83 text

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

Slide 84

Slide 84 text

OpenStack (IaaS) & Cloud Foundry (PaaS) 84 / 116

Slide 85

Slide 85 text

OpenStack Horizon Dashboard 85 / 116

Slide 86

Slide 86 text

OpenStack - System Overview 86 / 116

Slide 87

Slide 87 text

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

Slide 88

Slide 88 text

Cloud Foundry - Platform Overview 88 / 116

Slide 89

Slide 89 text

  Public Cloud Examples 89 / 116

Slide 90

Slide 90 text

90 / 116 Public Cloud Examples 1. Amazon Web Services (AWS) 2. Google Cloud Platform (GCP) 3. Microsoft Azure

Slide 91

Slide 91 text

AWS Amazon Web Services 91 / 116

Slide 92

Slide 92 text

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

Slide 93

Slide 93 text

AWS Global Infrastructure 2016 (Ref: Amazon) 93 / 116

Slide 94

Slide 94 text

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

Slide 95

Slide 95 text

AWS - Core Infrastructure & Services 95 / 116

Slide 96

Slide 96 text

AWS - Cloud Computing 96 / 116

Slide 97

Slide 97 text

AWS - Foundation Services 97 / 116

Slide 98

Slide 98 text

AWS - Platform Services 98 / 116

Slide 99

Slide 99 text

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

Slide 100

Slide 100 text

GCP Google Cloud Platform 100 / 116

Slide 101

Slide 101 text

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

Slide 102

Slide 102 text

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

Slide 103

Slide 103 text

GCP - Global Infrastructure (Ref: Kava/Google) 103 / 116

Slide 104

Slide 104 text

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

Slide 105

Slide 105 text

105 / 116 GCP Pricing Calculator IaaS Example

Slide 106

Slide 106 text

Azure 106 / 116

Slide 107

Slide 107 text

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

Slide 108

Slide 108 text

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

Slide 109

Slide 109 text

Microsoft Global Data-Center 109 / 116

Slide 110

Slide 110 text

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

Slide 111

Slide 111 text

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

Slide 112

Slide 112 text

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

Slide 113

Slide 113 text

Azure Pricing Estimate - IaaS Example 113 / 116

Slide 114

Slide 114 text

  Refs 114 / 116

Slide 115

Slide 115 text

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

Slide 116

Slide 116 text

  116 / 116 END Dr.-Ing. Eueung Mulyana https://eueung.github.io/ET3010 ET-3010 | Attribution-ShareAlike CC BY-SA