Cloud Computing
Imranul Hoque
Today’s Cloud Computing
This Talk
• What is cloud computing?• Types of services• What makes cloud computing popular?• Case studies– Amazon Web Services– Eucalyptus
Examples
• A credit card company• A researcher running scientific computing
experiments• A web-based book store• A social network startup
Types of Service
• Infrastructure as a Service (IaaS)– Amazon EC2, Go-Grid, Eucalyptus, etc.
• Software as a Service (SaaS)– NetSuite (accounting), WorkDay (HR), etc.
• Platform as a Service (PaaS)– Google AppEngine, Coghead, etc.
Important Features
• 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
• Result: Convert capital expenditure to operational expenditure
Amazon Web Services
• Amazon Elastic Compute Cloud (EC2)• Amazon Simple Queuing Service (SQS)• Amazon Simple Storage Service (S3)• Amazon Simple DB (SDB)• Amazon Elastic Block Storage (EBS)
Amazon Simple Storage Service
• Programmatic access via web services API• Highly scalable data storage in the cloud• Simple to get going, simple to use• Fast, highly available, and durable• Economic: $0.15/GB-month• 64 billion objects• Notable users: SmugMug, Jungle Disk, Twitter,
etc.
Amazon EC2• Resizable Compute Capacity
– As much as you need, when you need it– Scale up or down in minutes
• Complete Control via API– Create, scale, and manage instances programmatically
• Variety of Instance Sizes– CPU Power, Cores, RAM, Disk
• Wide Variety of Pre-built AMIs (Amazon Machine Images)– Hit the ground running with minimal system building effort
• Secure and Flexible Network Security Model– Full control of access for each running instance
AWS: Interesting Facts
• The Washington Post– 200 EC2 instances (1,407 server hours), convert
17,481 pages of Hillary Clinton’s travel documents within 9 hours
• The New York Times– 100 Amazon EC2 instances + Hadoop to convert
4TB TIFF image into 1.1 million PDFs in 24 hours• Animoto.com– 50 to 3500 servers in 3 days
Eucalyptus
• Open-source software infrastructure for cloud computing
• Interface compatible with EC2, S3, and EBS
Get me 3 small InstancesGet me 3 small Instances
11
Architecture
Cloud ControllerCloud Controller
Cluster ControllerCluster Controller Cluster ControllerCluster Controller
Node ControllerNode Controller
12
Architecture (2)
• Node Controller– Runs VMs– Xen/KVM– Interfaces• runInstance(), describeInstance(), terminateInstance(),
describeResource(), startNetwork()
Hardware
Xen
Dom0 OS
DomU OS
DomU OS
13
Architecture (3)
• Cluster Controller– Access to both public and private network– Gather state information from NC– Schedule incoming VM execution request to NCs
• Cloud Controller– User visible entry point– Key management– S3-interface compatible file system (Walrus)– Global scheduling
14
Node ControllerNode Controller
XenXen
Event Sequence
Cloud ControllerCloud Controller
Cluster ControllerCluster Controller
15
Node ControllerNode Controller
XenXen
Networking Modes
• System– Use system settings
• Static– Get IP from a mapping of <mac, ip>
• Managed– Create a private network and get IP from that
• Managed No-VLAN– Same as Managed, but no isolation
16
Internal Cluster Configuration
17
172.22.28.131172.22.28.131 172.22.28.132172.22.28.132 172.22.28.133172.22.28.133
172.22.28.192/26172.22.28.192/26
cn120cn120
cn121cn121 cn122cn122 cn123cn123
172.22.28.130172.22.28.130
Internal Cluster Configuration (2)
• 8 Machines: 1 CC/CLC, 7 NCs• OS: CentOS 5.3 (NCs running Xen kernel)• Eucalyptus version: 1.5.2• Hardware: HP DL160 (2 Quad Core + 16 GB
RAM + 2 TB Disk)• VM kernel: 2.6.27.21-0.1-xen• VM Image: – FC, CentOS, Ubuntu, Hadoop
18
Improvement Suggestions
• Fault tolerance of cloud and cluster controller– Avoid single point of failure
• Make Walrus distributed– Efficiency of access– Avoid single point of failure
• Auto-scaling for Eucalyptus– Possible metrics: network, cpu, etc.
19
Demo
• Admin interface– https://cn120.cloud.cs.illinois.edu:8443/
• ec2-api-tools– Version 1.3-30349
• Elasticfox– Modified for Eucalyptus
• Other– Boto, Typica, Jets3t, etc.
20