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 Instances 11
Architecture Cloud Controller Cluster Controller Node Controller 12
Architecture (2) Node Controller – Runs VMs – Xen/KVM – Interfaces runInstance(), describeInstance(), terminateInstance(), describeResource(), startNetwork() Hardware Xen Dom0 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 Controller Xen Event Sequence Cloud Controller Cluster Controller 15 Node Controller Xen
Networking Modes System – Use system settings Static – Get IP from a mapping of Managed – Create a private network and get IP from that Managed No-VLAN – Same as Managed, but no isolation 16
Internal Cluster Configuration /26 cn120 cn121 cn122 cn
Internal Cluster Configuration (2) 8 Machines: 1 CC/CLC, 7 NCs OS: CentOS 5.3 (NCs running Xen kernel) Eucalyptus version: Hardware: HP DL160 (2 Quad Core + 16 GB RAM + 2 TB Disk) VM kernel: 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 – ec2-api-tools – Version Elasticfox – Modified for Eucalyptus Other – Boto, Typica, Jets3t, etc. 20