cloud computing: overview and examples
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
True or False ?Credits: Freeit Data, Wikimedia, forrestcity 42 / 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