Data Centers Virtualization Cloud Computing
Data Centers Virtualization Cloud Computing
• Data Centers
• Virtualization
• Cloud Computing
Data Centers
• Large server and storage farms
– 1000s of servers
– Many TBs or PBs of data
• Used by
– Enterprises for server applications
– Internet companies
• Some of the biggest DCs are owned by Google, Facebook, etc
• Used for
– Data processing
– Web sites
– Business apps
• Racks of servers
• Storage arrays
• Network switches
• Cooling infrastructure
• Power converters
• Backup generators
Virtualization
VM 1 VM 2
Windows Linux
Data Center
Workload
Workload 1
Workload 2
Workload 1
Workload 2
Workload 1
Workload 2
Database Server
Tenant 3 Tenant 4 Tenant 3 Tenant 4 Tenant 3 Tenant 4
Database Database Database Database Database Database
Physical Server
Workload 3
Workload 4
Workload 3
Workload 4
Workload 3
Workload 4
• Virtual Desktops
– Host employee desktops in VMs
– Remote access with thin clients
– Desktop is available anywhere Work
– Easier to manage and maintain
Home
Computer Science Lecture 24, page 11
• Resource management
– How to efficiently use server and storage resources?
– Many apps have variable, unpredictable workloads
– Want high performance and low cost
– Automated resource management
– Performance profiling and prediction
• Energy efficiency
– Servers consume huge amounts of energy
– Want to be “green”
– Want to save money
Computer Science Lecture 24, page 12
Data Center Costs
http://perspectives.mvdirona.com/2008/11/28/
CostOfPowerInLargeScaleDataCenters.aspx
Economy of Scale
• Larger data centers can be cheaper to buy and run than
smaller ones
– Lower prices for buying equipment in bulk
– Cheaper energy rates
Remotely available
Pay-as-you-go
High scalability
Shared infrastructure
Azure
• Private Cloud
– Use cloud computing concepts in a private data center
• Automate VM management and deployment
• Provides same convenience as public cloud
• May have higher cost
• Hybrid Model
– Move resources between private and public depending on load
Computer Science Lecture 24, page 19
Programming Models
• Client/Server
– Web servers, databases, CDNs, etc
• Batch processing
– Business processing apps, payroll, etc
• MapReduce
– Data intensive computing
– Scalability concepts built into programming model
• Privacy / Security
– How to guarantee isolation between client resources?
• Extreme Scalability
– How to efficiently manage 1,000,000 servers?
• Programming models
– How to effectively use 1,000,000 servers?
A
FREE
A D
B
! Virtual VM pages mapped to D VM 2
physical pages FREE
B
Page Table
A
A B
! Hypervisor detects duplicates B C
VM 1
C Page Table
Time
Workload 1
Workload 2
Workload 5
Workload 6
Server A
Server B
Tenant 1 Tenant 2 Tenant 5 Tenant 6
Database Database Database Database
Workload to
Workload 3
Workload 4
Workload 4
database 4
increases!
Live Migration
• Migrate without stopping Server Clients
I
! (3) Switch workload to target
• Brief downtime Target Server