Professional Documents
Culture Documents
CC - W1 (Intr To CC)
CC - W1 (Intr To CC)
• Rapidly provisioned
• Rapidly released
• Minimal Management Effort of Service Providers
• Other definitions also exist
What is Cloud Computing? (3/4)
•Cloud computing is the delivery of
hosting services that are provided to a
client over the Internet.
- Enable large-scale services
without up-front investment.
What is Cloud Computing? (4/4)
Informal: computing with large datacenters
• Hybrid cloud
- The cloud infrastructure is a composition of two or more
clouds (private, community, or public) that remain
unique entities but are bound together by standardized
or proprietary technology that enables data and
application portability.
Types Of Cloud Services
Types of Cloud
Services
Infrastructure as a Service VMs,
(IaaS): disks
Platform as a Service (PaaS): Web, MapReduce
Image credit:
http://blogs.msdn.com/b/seliot/archive/2010/03/04/what-the-heck-is-cloud-computing-another-re-look-w
ith-
pretty-pictures.aspx
Cloud Service Models
Software as a Service
Platform as a Service Infrastructure as a Service
SaaS
PaaS IaaS
Exampl
e
AWS Lambda functions-as-a-service
» Runs functions in a Linux container on events
» Used for web apps, stream processing, highly
parallel MapReduce and video encoding
Cloud Software
Stack
Web Server Analytics UIs
Java, PHP, JS, … Hive, Pig, HiPal, …
Metering + Billing
Unicorn, Druid, … Pregel, Spark, …
Operational Stores
SQL, Spanner, Dynamo, Message Bus Metadata
Cassandra, BigTable, Kafka, Kinesis, … Hive, AWS Catalog, …
…
Distributed Storage
Coordinatio
Chubby, ZK,
Resource Manager
…
Metering + Billing
Unicorn, Druid, … Pregel, Spark, …
Operational Stores
SQL, Spanner, Dynamo, Message Bus Metadata
Cassandra, BigTable, Kafka, Kinesis, … Hive, AWS Catalog, …
…
Distributed Storage
Coordinatio
Chubby, ZK,
Resource Manager
…
Metering + Billing
Unicorn, Druid, … Pregel, Spark, …
Operational Stores
SQL, Spanner, Dynamo, Message Bus Metadata
Cassandra, BigTable, Kafka, Kinesis, … Hive, AWS Catalog, …
…
Distributed Storage
Coordinatio
Chubby, ZK,
Resource Manager
…
Metering + Billing
Unicorn, Druid, … Pregel, Spark, …
Operational Stores
SQL, Spanner, Dynamo, Message Bus Metadata
Cassandra, BigTable, Kafka, Kinesis, … Hive, AWS Catalog, …
…
Distributed Storage
Coordinatio
Chubby, ZK,
Resource Manager
…
demand.
Shaded area
Shaded area is unused represents requests
capability. not served.
Dynamic Provisioning
• In traditional computing model, two common
problems :
- Underestimate system utilization which result in
under provision
Loss Revenue
Resources
Capacity
Deman
Resources
Capacit d
1 2
y 3
Deman Resources Loss
1 2 d 3 Users Capacit
Time y
(days)
Deman
1 2 d 3
Real world Estimates
• Average server utilization is 5% to 20%.
• Peak workload exceeds the average by factors of
2 to 10.
• Users provision for the peak.
• Peak loads may occur based on the time of day
or based on other factors (e.g. photo sharing
after the holidays, drop/add within two weeks of
start of term, etc.)
Cloud Economics: For
Users
Elasticity:
» Using 1000 servers for 1 hour costs the same as
1 server for 1000 hours
» Same price to get a result faster!
Resources Resources
Time Time
Cloud Economics: For
Providers
Economies of scale:
» Purchasing, powering, managing machines at
scale gives lower per-unit costs than
customers’
Other Interesting
Features
Spot market for preemptible machines
GPU/accelerators
>10GbE Switch
Datacenter
Hardware
Custom-design servers
Configurations optimized for major app classes
Few configurations to allow reuse across many apps
Roughly constant power budget per volume
Useful Latency
Initial list from Jeff Dean, Google
Numbers
L1 cache reference 0.5 ns
Branch mispredict 5 ns
L3 cache 20 ns
reference Mutex 25 ns
lock/unlock 100 ns
Main memory reference 3,000
Compress 1K bytes with Snappy ns
Send 2K bytes over 10Ge 2,000
ns
Read 1 MB sequentially from memory
100,0
Read 4KB from NVMe Flash
00 ns
Round trip within same datacenter
50,00
Disk seek 0 ns
Read 1 MB sequentially from disk 500,0
Send packet CA Europe 00 ns
Useful Throughput
Numbers
DDR4 channel bandwidth 20 GB/sec
PCIe gen3 x16 channel 15 GB/sec
NVMe Flash bandwidth 2GB/sec
GbE link bandwidth 10 – 100
Gbps
Disk bandwidth
6 Gbps
Latency
Execution time
Per request latency
28
Tail Latency
[Dean & Barroso,’13]
Operators perspective
CapEx: building, generators, A/C, compute/storage/net
HW
Including spares, amortized over 3 – 15 years
OpEx: electricity (5-7c/KWh), repairs, people, WAN, insurance,
…
Users perspective
CapEx: cost of long term leases on HW and services
OpeEx: pay per use cost on HW and services,
people
30
Operator’s TCO
Example 6% 3%
Servers
14% Energy
Cooling
16% 61%
Networking
Other
[Source: James
Hamilton]
Consistency
Every read returns data from most recent write
Availability
Every request executes & receives a (non-error)
response
Partition-tolerance
The system continues to function when network
partitions occur (messages dropped or
delayed)
Useful Tips
Check for single points of failure
Keep it simple stupid (KISS)
The reason many systems use centralized control