cloud computing: overview and examples

Post on 22-Jan-2018

442 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1 / 116

Overview & Examples

CloudComputingDr.-Ing. Eueung Mulyanahttps://eueung.github.io/ET3010ET-3010 | Attribution-ShareAlike CC BY-SA

Outline

Introduction

Computing at Scale

Cloud Infrastructure

Public Cloud Examples

2 / 116

Introduction

3 / 116

4 / 116

CloudComputing

1. Trends2. Terms & De�nitions3. Reasons / Bene�ts4. Types of Cloud Services5. Types of Cloud Deployments6. Uses of Cloud Computing7. Common Interpretations

Trends

5 / 116

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

Cloud Computing vs. IoT7 / 116

De�nitions

8 / 116

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

In Our Previous TalksClouds in Cloud : System 10 / 116

11 / 116

NIST (National Institute of Standardand Technology) De�nition

5 Essential Characteristics3 Service / Delivery Models

4 Deployment ModelsKey Enablers: fast networks, powerful servers, high-

performance virtualization etc.

Cloud

ComputingCloud Computing is a model for enabling ubiquitous,convenient, on-demand network access to a shared pool ofcon�gurable computing resources (e.g., networks, servers,storage, applications, and services) that can be rapidlyprovisioned and released with minimal management e�ort orservice provider interaction.

12 / 116

13 / 116

Cloud Computing, often referred to as simply "thecloud", is the delivery of on-demand computingresources (everything from applications to data

centers) over the Internet on a pay-for-use basis.

Computing as a service overthe Internet

Elastic Resources : Scale up or down quickly and easily tomeet demand

Metered Service : You only pay for what you useSelf Service : All the IT resources you need with self-

service access

Ref: IBM

Cloud

ComputingCloud Computing (also called simply, "the cloud") describes the act of storing, managingand processing data online - as opposed to on your own physical computer or network(Ref: Rackspace).

Cloud Computing is the on-demand delivery of computepower, database storage, applications, and other IT resourcesthrough a cloud services platform via the internet with pay-as-you-go pricing (Ref: AWS).

14 / 116

CloudComputing

How does it work?Cloud computing services all work a little di�erently,depending on the provider.Many provide a friendly, browser-based dashboard thatmakes it easier for IT professionals and developers toorder resources and manage their accounts.Some cloud computing services are also designed to workwith REST APIs and a command-line interface (CLI), givingdevelopers multiple options.

Ref: Microsoft

Bene�ts

15 / 116

16 / 116

CloudComputing

The �rst cloud computing services are barely a decadeold, but already a variety of organisations - from tiny

startups to global corporations, government agenciesto non-pro�ts - are embracing the technology for all

sorts of reasons.

Ref: Microsoft

Bene�ts1. Cost2. Speed3. Scalability4. Productivity5. Performance6. Reliability

17 / 116

CloudBene�ts

Ref: Microsoft

CostCloud computing eliminates the capital expense of buying hardware and software andsetting up and running on-site datacenters - the racks of servers, the round-the-clockelectricity for power and cooling, the IT experts for managing the infrastructure.

SpeedMost cloud computing services are provided self service and on demand, so even vastamounts of computing resources can be provisioned in minutes, typically with just a fewmouse clicks, giving businesses a lot of �exibility and taking the pressure o� capacityplanning.

ScalabilityThe bene�ts of cloud computing services include the ability to scale elastically. In cloudspeak, that means delivering the right amount of IT resources - for example, more or lesscomputing power, storage, bandwidth - right when its needed and from the rightgeographic location.

18 / 116

CloudBene�ts

Ref: Microsoft

ProductivityOn-site datacenters typically require a lot of "racking and stacking" - hardware set up,software patching and other time-consuming IT management chores. Cloud computingremoves the need for many of these tasks, so IT teams can spend time on achieving moreimportant business goals.

PerformanceThe 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 computinghardware. This o�ers several bene�ts over a single corporate datacenter, includingreduced network latency for applications and greater economies of scale.

ReliabilityCloud computing makes data backup, disaster recovery and business continuity easierand less expensive, because data can be mirrored at multiple redundant sites on thecloud provider's network.

Services(Delivery Models)

19 / 116

20 / 116

CloudComputing

Most cloud computing services fall into three broadcategories: Infrastructure as a Service (IaaS), Platformas a Service (PaaS) and Software as a Service (Saas).

These are sometimes called the Cloud ComputingStack, because they build on top of one another.

Ref: Microsoft

Types of Cloud

Services1. IaaS2. PaaS3. SaaS

21 / 116

22 / 116

CloudServices

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 acloud provider on a pay-as-you-go basis.

PaaS

PaaS refers to cloud computing services that supply an on-demand environment fordeveloping, testing, delivering and managing software applications. PaaS is designed tomake it easier for developers to quickly create web or mobile apps, without worryingabout setting up or managing the underlying infrastructure (and other services) neededfor development.

SaaS

SaaS is a method for delivering software applications over the Internet, on demand andtypically on a subscription basis. With SaaS, cloud providers host and manage thesoftware application and underlying infrastructure and handle any maintenance (eg.upgrades, patching).

Hosting & Cloud Software Delivery (Ref: Microsoft)

23 / 116

Deployments

24 / 116

25 / 116

CloudComputingNot all clouds are the same.

There are three di�erent ways to deploy cloudcomputing resources: public cloud, private cloud and

hybrid cloud. NIST has de�ned another type ofdeployment: community cloud.

Ref: Microsoft

Types of Cloud

DeploymentsPublic Cloud

Public clouds are owned and operated by a third-party cloud service provider, whichdeliver their computing resources like servers and storage over the Internet. With apublic cloud, all hardware, software and other supporting infrastructure is owned andmanaged by the cloud provider. You access these services and manage your accountusing a web browser.

26 / 116

CloudDeployments

Ref: Microsoft

Private Cloud

A private cloud refers to cloud computing resources used exclusively by a single businessor organisation. A private cloud can be physically located on the company's on-sitedatacenter (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 aremaintained on a private network.

Hybrid Cloud

Hybrid clouds combine public and private clouds, bound together by technology thatallows data and applications to be shared between them. By allowing data andapplications to move between private and public clouds, hybrid cloud gives businessesgreater �exibility and more deployment options.

27 / 116

Uses

28 / 116

29 / 116

CloudComputing

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, editdocuments, watch movies or TV, listen to music, play

games or store pictures and other �les, it is likely thatcloud computing is making it all possible behind the

scenes.

Ref: Microsoft

Cloud Computing

UsesExamples of the things we can do with the cloud

Create new apps and servicesDeliver software on demandStore, back up and recover dataAnalyse data for patterns and make predictionsHost websites and blogsStream audio and video

SaaS Examples - Everyday Uses

30 / 116

SaaS Examples - Everyday Uses

31 / 116

PaaS Example - Rovio (Angry Birds)

32 / 116

33 / 116

Speed & Scalability

Example"Because our web games are popular

immediately, we don't have the option of scalingthem 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 haspassed its usage peak."

Note: App Engine is a PaaS from Google.

34 / 116

Speed & Scalability

ExampleMillions of gamers have �ocked to Rovio's webgames since their launch. The company's mostpopular o�ering, the Facebook game "Angry BirdsFriends", logs more than 13 million users everymonth. Since the developers don't need to install ormaintain hardware, they can devote their attentionto enhancing the games, which have receivedoverwhelmingly positive reviews.

Ref: Rovio @ GCP

CommonInterpretations

35 / 116

36 / 116

CloudComputing

CommonInterpretations1. Rebranding of Web 2.02. Utility Computing3. Everything as a Service4. Large Data (Big-Data)

37 / 116

CloudInterpretations

Rebranding Web 2.0

Rich, Interactive, Multi-Device (Web) ApplicationsThe 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, SaaSOthers: BaaS, ..

38 / 116

CloudInterpretations

Large Data (Big-Data)

Planet-Scale ServicesData Capture / Analytics / IoT

ScienceEngineeringCommerceSociety

Big-Data | Ref: Jimmy Lin 39 / 116

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

Check Point

41 / 116

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

Computing at Scale

44 / 116

45 / 116

Computingat Scale

1. Reasons / Needs2. (Hi)Story of Scaling3. Classical Scaling Techniques

Needs

46 / 116

47 / 116

Computingat Scale

Apps / Services need resources.

Modern applications require huge amounts ofprocessing and data: PB/EB/+, millions of users,

billions of objects.

Needs1. Dynamic Scale of Current

Apps/Services2. Scale of Future Apps/ServicesHow many Users/Objects? How much Data? How much Computation?

(Hi)Story of ScalingFrom Single Computer to Data-Center

48 / 116

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

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

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

Scaling UpWhat 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

Scaling Up - ClusterRef: Haeberlen 53 / 116

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-Center54 / 116

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

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

Classical ScalingApproaches

57 / 116

58 / 116

Computingat Scale

ClassicalScaling Approaches

Resources are NOT pooledScaling-out are handled by apps or byspecial middlewareLegacy & manual provisioning is mostlyinevitable

Scaling | Bare-Metal / Pre-Cloud Virtualization vs. IaaSWhile Clusters / Data-Centers can provide the resources we need, let's take a look at the things to be handled...

59 / 116

60 / 116

ClassicalScaling Approaches

Expensive

Ref: Haeberlen

1. Need HW Investment2. Need Expertise3. Need Maintenance

Even a small cluster can easily cost $100,000. A single DC couldbe in the range of around $200 - $500 Millions. Planning andsetting up a large cluster is highly nontrivial. Cluster mayrequire special software, etc. Someone needs to replace faultyhardware, install software upgrades, maintain user accounts,etc.

61 / 116

ClassicalScaling Approaches

Not Easy to Dimension

Load can vary considerably!Ref: Haeberlen

1. Peak load can exceed average load byfactor 2x-10x.

2. Dilemma: Waste resources or losecustomers!

62 / 116

DimensioningDilemmaProvisioning for the peak(likely to waste resources) vs.provisioning below the peak(likely to lose customers).

63 / 116

ClassicalScaling Approaches

Not Easy to Execute

Ref: Haeberlen

Scaling-UpNeed to order new machines, install them, integrate withexisting cluster - can take weeksLarge scaling factors may require major redesign, e.g., newstorage system, new interconnect, new building (!)

Scaling-DownWhat to do with super�uous hardware?Server idle power is about 60% of peak Energy isconsumed even when no work is being doneMany �xed costs, such as construction

Cloud Infrastructure

64 / 116

65 / 116

CloudInfrastructure

1. De�nitions2. Data-Center3. Cloud Software

66 / 116

CloudInfrastructure

ConventionCloud infrastructure is the collection ofhardware and software which is needed toprovide cloud services e.g. IaaS, PaaS orSaaS.

Ref: sdxcentral

Hardware | Compute, Storage, NetworkPrimary Components in Data-Center

67 / 116

Software | All Boxes in YellowAbstractions, Management, etc.

68 / 116

69 / 116

CloudInfrastructure

Data-CenterA dedicated place/building that houses ITinfrastructure.

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

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

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

Massive Networking (Credit: Google) 72 / 116

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

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

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

Massive Cooling (Credit: Google) 76 / 116

Massive Cooling (Credit: Google) 77 / 116

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

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

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

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

82 / 116

CloudInfrastructure

Cloud SoftwareTo deliver cloud services we have to runcloud software to abstract and manage theunderlying 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 / 116

CloudInfrastructure

SoftwareOpenStack software controls large pools of compute,

storage, and networking (i.e. IaaS) resourcesthroughout a datacenter, managed through a

dashboard or via the OpenStack API.

OpenStackOpenStack is an open source cloud operating system thatcontrols large pools of compute, storage, and networkingresources, all managed through a dashboard that givesadministrators control while empowering their users toprovision resources through a web interface.

Resources are made accessible to developers through APIs. OpenStack can be used tomanage resources in a single data center or across multiple data centers (regions).

Ref: openstack.org, IBM

OpenStack (IaaS) & Cloud Foundry (PaaS)

84 / 116

OpenStack Horizon Dashboard 85 / 116

OpenStack - System Overview 86 / 116

87 / 116

CloudInfrastructure

SoftwareCloud Foundry is an open source cloud computingPaaS solution originally developed by VMware and

now owned by Pivotal Software (a subsidiary ofVMware).

Cloud FoundryCloud Foundry is the industry standard opensource cloud application platform fordeveloping and deploying enterprise cloudapplications.

It automates, scales and manages cloud apps throughout their lifecycle. Applications canbe written in just about any language and are deployed in container images on anyinfrastructure.

Ref: Cloud Foundry, IBM

Cloud Foundry - Platform Overview 88 / 116

Public CloudExamples

89 / 116

90 / 116

Public

CloudExamples

1. Amazon Web Services (AWS)2. Google Cloud Platform (GCP)3. Microsoft Azure

AWSAmazon Web Services

91 / 116

92 / 116

Public

CloudExamples

AWSAmazon Web Services o�ers a broad set of global cloud-basedproducts 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 bythe largest enterprises and the hottest start-ups to power a wide variety of workloadsincluding: web and mobile applications, game development, data processing andwarehousing, storage, archive, and many others.

Ref: Cloud Products & Services - AWS

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

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

AWS - Core Infrastructure & Services

95 / 116

AWS - Cloud Computing

96 / 116

AWS - Foundation Services

97 / 116

AWS - Platform Services

98 / 116

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

GCPGoogle Cloud Platform

100 / 116

101 / 116

Public

CloudExamples

GCPWith Google Cloud Platform, you can build,test, and deploy applications on Google'shighly-scalable and reliable infrastructurefor your web, mobile, and backendsolutions.

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 / 116

Public

CloudExamples

Accessing resources through services

GCPCloud Platform consists of a set of physical assets, such ascomputers and hard disk drives, and virtual resources, such asvirtual machines (VMs), that are contained in Google's datacenters around the globe.

In cloud computing, what you might be used to thinking of as software and hardwareproducts, become services. These services provide access to the underlying resources.

The list of available Cloud Platform services is long, and it keeps growing. When youdevelop your website or application on Cloud Platform, you mix and match these servicesinto combinations that provide the infrastructure you need, and then add your code toenable the scenarios you want to build.

Ref: GCP Overview

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

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

105 / 116

GCP Pricing CalculatorIaaS Example

Azure

106 / 116

107 / 116

Public

CloudExamples

Azure is Microsoft's application platform for the publiccloud.

AzureMicrosoft Azure is a �exible, open, and secure public cloudbuilt for business. Access a broad collection of integratedservices that accommodate many languages and operatingsystems. Use world-class tools to accelerate a wide variety ofapp development and delivery capabilities.

Ref: Azure Infographics

108 / 116

Public

CloudExamples

Azure o�ers several ways to host web sites: VirtualMachines, App Service, Service Fabric (Cloud Services)

or Functions (serverless).

AzureAzure is a complete cloud platform that can host your existingapplication infrastructure, provide compute-based servicestailored for your application development needs, or evenaugment your on-premises applications. Azure integrates thecloud services that you need to develop, test, deploy, andmanage your applications - while taking advantage of thee�ciencies of cloud computing.

By hosting your applications in Azure, you can start small and easily scale your applicationas 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

Microsoft Global Data-Center109 / 116

110 / 116

Virtual MachinesVMs are basic cloud building blocks. Get full control overa virtual machine with virtual hard disks. Install and runsoftware yourself. Con�gure multiple machines withdi�erent roles to create complex solutions.

VMs are nearly identical to conventional (real) servers,and are the easiest way to move existing workloads tothe cloud.

Ref: Azure Infographics

111 / 116

Cloud Servicestbrw Service FabricEasily access and manage these general-purpose VMs.We maintain and update each VM as needed withsystem 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 - workerroles are made for computing and running services. Theweb role is simply a worker role with IIS already installedand con�gured.

Ref: Azure Infographics

112 / 116

App ServiceAzure App Service is a high productivity solution fordevelopers who need to create enterprise-grade weband mobile app experiences.

App Service provides a complete platform as a servicesolution that enables you to deploy and elastically scaleapplications in the cloud, and seamlessly integrate themwith on-premises resources and SaaS basedapplications.

Ref: Azure Infographics

Azure Pricing Estimate - IaaS Example113 / 116

Refs

114 / 116

References1. Jimmy Lin, Big Data Infrastructure, Univ. of Waterloo, 20172. Giordano Tamburrelli, Windows Azure Platform3. A. Haeberlen, Z. Ives, Scalable and Cloud Computing, Univ. of Pennsylvania, 20134. GCP Resources: Google Cloud Platform Overview, GCP Tech Talk by @joeint; Tutorial of

Google Cloud Platform5. AWS Resources: AWS Introduction and History, AWS Free Tier, AWS | Start Now6. Azure Resources: Get started guide for Azure developers, An Azure Overview and

Perspective, Azure Training Courses | Microsoft Learning7. IBM cloud technologies

115 / 116

116 / 116

ENDDr.-Ing. Eueung Mulyanahttps://eueung.github.io/ET3010ET-3010 | Attribution-ShareAlike CC BY-SA

top related