Cloud Computing & Big Data Systems Fundamentals
Real-world Examples of Cloud Computing
- Cloud providers and scale
- Meta (Facebook):
- In 2012, had 180,000 servers.
- Currently has multi-millions servers.
- Operates 35 data centers (DCs).
- Microsoft:
- Over 3 million servers in 2017.
- Operates 300 data centers worldwide.
- Google:
- Over 2.5 million servers in 2016.
- Alibaba:
- Multi-million servers in 2022.
- Meta (Facebook):
Anatomy of a Datacenter
Datacenter components
- Cooling towers.
- Server farms.
- Power substations.
- Server racks.
- Network rooms.
- Server cages.
Datacenter as a computer
- Typical elements in warehouse-scale systems:
- 1U server.
- 7' rack with Ethernet switch.
- Small cluster with a cluster-level Ethernet switch/router.
- Typical elements in warehouse-scale systems:
Evolution of Datacenter Networks
Small-sized cluster (2004)
- In 2004, Google had only 20k servers in a datacenter.
- Employed a traditional 2Tbps four-post cluster network.
Modern DCN with Spine-Leaf Architecture
- Uses a rail-optimized network under dual-ToR (Top of Rack).
Tree-like DC Network
- Consists of:
- Datacenter border router.
- Cluster router.
- Layer-2 aggregation switches.
- Layer-2 switches.
- Top of rack switches.
- Consists of:
Inter-DC WAN
- Utilizes 100 GbE links for communication between data centers.
- Example: AWS Inter-DC Cable.
Datacenter Infrastructure
Cooling
- Essential for dissipating heat generated by servers.
Power
- Powers all the servers and infrastructure.
Cost Structure of Datacenters
Monthly Costs Breakdown
- Servers: 284,686
- Power & Cooling: 1,042,440
- Other Infrastructure: 2,997,090
- Power: 1,296,902
Amortization
- 3-year server amortization.
- 15-year infrastructure amortization.
Dominant Cloud Providers
Market Share (Q3 2022)
- AWS: 34%
- Azure: 21%
- Google Cloud: 11%
- Alibaba Cloud: 5%
- IBM Cloud: 3%
- Salesforce: 3%
- Tencent Cloud: 2%
- Oracle: 2%
Cloud Infrastructure Service Revenues (12 months ended September 2022)
- 217 billion
The Booming Cloud Market
Cloud Infrastructure Services Market (IaaS, PaaS, Hosted Private Cloud)
- Q3 2022 Worldwide Revenues: 50 billion
Market Share Q3 2022
- Amazon: 34%
- Microsoft: 21%
- Google: 11%
- Next 20 Companies: 25%
- Others: 9%
Cloud-Based Services
- Examples
- SaaS: Slack, Zendesk, Salesforce, Acquia, G Suite, Office 365, SugarCRM
- FaaS: Cloud Functions, OpenWhisk
- DaaS: Cloud Datastore, CouchDB, DynamoDB, Cassandra, SQL Azure, Oracle Data Cloud, CockroachDB
- PaaS: Microsoft Azure, OpenShift Origin, Salesforce Platform, OpenPaaS Suite, App Engine, ZADARA
- STaaS: ownCloud, Google Drive, Amazon S3, Dropbox, Google Cloud Storage, cozy.io, Rackspace, SoftLayer, Apache CloudStack, OpenStack, OneDrive, iCloud
- IaaS: Amazon EC2, Google Compute Engine
Definition of Cloud Computing
- NIST Definition
- Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.
Utility Computing
- Concept
- Computing as the 5th utility (after water, electricity, gas, and telephony).
- Applications and computing resources delivered as a service over the Internet.
- Pay-as-you-go model.
- Provided by the hardware and system software hosted in data centers.
Visions of Cloud Computing
- Key Aspects
- The illusion of infinite computing resources available on demand.
- The elimination of an up-front commitment by Cloud users.
- The ability to pay for use of computing resources on a short-term basis as needed.
Amazon EC2 Example
- 1 instance runs 1000 h = 1000 instances run 1 h
Traditional vs. Cloud Approach
Traditional (Pre-Cloud Era)
- Opening a startup and needing 100 servers requires significant upfront investment and management.
With Cloud
- A consumer can unilaterally provision computing capabilities, such as servers and network storage, as needed automatically without requiring human interaction with each service provider.
- Cloud computing makes the underlying technology, beyond the user device, almost invisible.
- Always-on services.
Advantages for Consumers
- Flexible.
- Minimal overhead.
- Quick and easy.
Elasticity
Elastic Demands
- The 100 servers are only needed in peak time.
Provisioning Models
- Provisioning for peak load: Results in unused resources during off-peak times.
- Underprovisioning: Leads to potential loss of service during peak times.
Cloud Provisioning on Demand
- Pay for what you used.
Animoto Case Study
- Animoto on Amazon EC2
- Scaled to a peak of 3,500 instances in 3 days during the launch of a Facebook modification.
Cloud Economics
Decision Making
- Profit from cloud >= profit from in-house infrastructures.
Equation
- UserHours{cloud} \times (revenue - Cost{cloud}) > UserHours{datacenter} \times (revenue - Cost{datacenter} \times Utilization)
Resource Pooling
Provider's Perspective
- Resources are pooled to serve consumers using a multi-tenant model.
- Different physical and virtual resources dynamically allocated according to consumer demand.
- Creates an illusion of an infinite amount of resources.
Location Independence
- The customer generally has NO control or knowledge over the exact location of the provided resources.
- But may be able to specify location at a higher level of abstraction (e.g., country, state, or data center).
High Utilization
- Resource pooling enables high utilization.
Economy of Scale
Cost Comparison (2006)
- Medium-sized datacenter (~1k servers) vs. a very large datacenter (~50k servers).
Economies of Scale
- Network: 13 per Mbit/sec/month (large)
- Storage: 0.40 per GByte / month (large)
- Administration: ~140 Servers / Administrator (medium) vs. >1000 Servers / Administrator (large)
Electricity Price
- Idaho: 3.6¢ per KWH (Hydroelectric power; not sent long distance)
- California: 10.0¢ per KWH (Electricity transmitted long distance over the grid; limited transmission lines in Bay Area; no coal fired electricity allowed in California).
Statistical Multiplexing
- Concept
- Multiple users sharing the same resources over time.
Profitability
- Cloud Providers
- Cloud business is highly profitable.
Strategic Advantages of Cloud
- Examples
- Leverage existing investment (e.g., Amazon).
- Defend a franchise (e.g., Microsoft Azure).
- Attack an incumbent (e.g., Google Cloud Platform).
- Leverage customer relationships (e.g., IBM).
- Become a platform (e.g., Facebook, Apple, etc.).
Summary: Why Cloud?
- Advantages
- Better capital utilization.
- Elasticity, easy to scale up and down.
- Access to complex infrastructure and resources without internal resources.
- Providers: better resource utilization, lower cost.
Cloud Pricing
- Fundamental Drivers of Cost
- Compute (EC2): Charged per hour/second, varies by instance type.
- Storage (S3, EBS): Charged typically per GB w/ tiered pricing.
- Data transfer: Outbound is aggregated and charged, typically per GB; inbound has no charge (w/ some exceptions).
Instance Pricing Examples (Amazon EC2)
US East (N. Virginia)
- t2.nano: 0.0059 per Hour
- t2.micro: 0.012 per Hour
Asia Pacific (Tokyo)
- t2.nano: 0.008 per Hour
- t2.micro: 0.016 per Hour
Location Matters
- Factors Affecting Pricing
- Cooling cost.
- Manpower cost.
- Land price.
- Policy issues.
Diverse Pricing Options
- On-demand.
- Reservation-based.
- Spot pricing.
Reserved Pricing
Concept
- Pay an up-front reservation fee to reserve an instance for a long period (e.g., 1 to 3 years).
- Enjoy a significant discount during the reservation period.
Cost Equation
- U = Upfront cost
- R = On-demand rate
Guaranteed Availability
- Users signed up for the reserved pricing are always serviced, regardless of the DC load.
- Not possible for on-demand pricing.
Spot Pricing
Concept
- Used to be an auction-like pricing option.
- Users submit bid for instance acquisition.
- Cloud posts a spot price periodically.
- Users with a higher bid than the spot price wins.
- The spot price is applied until a new one is posted.
- Running users with a lower bid get their instances terminated.
Characteristics
- Spot price is usually much cheaper than on-demand.
- No service guarantee.
- Running spot instances get terminated when the spot prices rises above the bid.
Summary of Pricing Models
| Feature | On-demand | Reserved | Spot |
|---|---|---|---|
| Service Guarantee | None | High | О |
| Cost |
Market Segmentation
Reserved Pricing
- Locks in long-term users.
- Helps predict future demand: better for capacity planning.
On-Demand
- The fundamental cloud business model.
Spot Pricing
- Leftover capacity on sale: increase utilization.
Provider's Problems
- Challenges
- Datacenter has a limited capacity.
- How to allocate the capacity for each pricing model?
- If not planned well, one model can cannibalize the other.
- How to set the price of each model?
User's Problems
- Challenges
- How to cut down the cloud bill by combining different pricing models?
- Demand/workload prediction.
- Predict spot price.
- Creative use of spot instances (periodic checkpointing and recovery upon instance revocation).
- Save over 50% compared with on-demand.
The Rise of Brokerage Service
- Cloud Brokerage Service
- Helps users to make instance acquisition strategies.
- Trade-in unused instances in a secondary cloud marketplace.
- Hybrid cloud: connects to multiple cloud providers to explore the best deal.
- Many innovative business models coming…