Lecture 2: Introduction to Cloud Computing Xiaowei Yang (Duke University) Roadmap • What is Cloud Computing? • Why now, not then? • Classes of Cloud Computing • Cloud Computing Economics: why does it make sense? • Obstacles and (research) opportunities What is cloud computing • Applications run on clouds (Software as a Service) • Hardware and system software in the datacenters that provide the services – An old concept: computing as a utility • No need to purchase your hardware • Pay-as-you-go Cloud Computing = SaaS + UtilityComputing – PrivateClouds • Private – A business’s internal datacenters – No public access – Name a few companies that own private clouds • Public – Pay-as-you-go public services – Name a few public cloud providers Who’s whom Is Cloud Computing Win-Win? • SaaS advantages to providers – Simple management and maintanence – Centralized control over versioning • SaaS Advantages to users – Always on service – Easy data sharing and collaboration – Robust data storage – Simple management –… • Advantages of utility computing to users – On demand scaling (elasticity) – No up-front commitment – Pay-as-you-go reduces provisioning risk Examples – When Animoto made its service available via Facebook, it experienced a demand surge that resulted in growing from 50 servers to 3500 servers in three days. … After the peak subsided, traffic fell to a level that was well below the peak. • With traditional computing buy servers idle servers • With cloud computing pay during peaks release afterwards Incentives for cloud providers 1. Making money – Wholesale (10,000s) at a larger scale is 5-7 times cheaper than retail at a medium size (100s - 1000s) – Resource multiplexing 2. Leveraging existing investment – Companies may already build private clouds for other businesses 3. Defend a franchise – Migrating existing customers to a cloud 4. Attacking an incumbent – Google vs MS 5. Leveraging customer relationships – E.g. IBM – Preserving relationships by offering a branded cloud computing service 6. Becoming a platform – More customers more $$ Why now? • Two enablers: – New business model: pay-as-you-go with no contract • Intel Computing Service in 2000-2001 required a contract and longer-term use and failed • Customers do not like commitment – New applications • • • • Mobile + cloud Parallel batch processing: tons of data today Analytics Compute-intensive desktop applications Classes of Utility Computing • Infrastructure as a service (IaaS) – Thin API, close to bare metal – Virtual machines with customized guest OSes – Applications run on virtual machines using OS APIs – E.g. Amazon EC2 • Platform as a service (PaaS) – Sandbox environment with specific platform APIs – E.g. Google AppEngine • A mixture of both – Microsoft Azure Economic benefits • Elasticity – Peak demand: 500 servers – Average demand: 300 servers – Q: when does it make sense to use a cloud? Reducing underprovisioning risk • Poor performance turns customers away Real world examples • Target uses AWS • Other retailers use it during holiday seasons Rule of Thumb • UserHourscloud x (revenue – Costcloud) >= UserHoursdatacenter * (revenue – Costdatacenter/Utilization) • Why Costdatacenter/Utilization? • Do UserHourscloud == UserHoursdatacenter Comparing costs When not to use a cloud? • Utilization = 100% • Shipping large amount of data Obstacles and Opportunities • Availability – Single point of failure • Mega-Cloud to improve reliability • Elasticity to defend against DoS attacks – Ex. 500,000 bots at $0.03 per bot, 1GB/s attack traffic – Victim: $360 per hour in bandwidth and $100 of computation, (500 bots per instance) – Attack must last long (>32 hours) – Make bots detectable Obstacles and Opportunities • Data Lock-in – Not a pure technical problem – Marketing strategy – Standardarization • Data confidentiality and auditability – Technical challenge – Encryption would help Obstacles and Opportunities • Data transfer bottlenecks – Need creative solutions • FedEx • Keep data local to a cloud • Cheap long haul bandwidth by reducing high-end router cost – 2/3 of bandwidth cost is from routers Obstacles and Opportunities • Performance variation caused by I/O sharing – More research Obstacles and opportunities • Scalable storage – Research to build scalable storage systems • Bugs – Debuggers, tracers • Scaling quickly – Research • Reputation fate sharing – Spammers used EC2 – All services sharing their IP addresses got blacklisted – Research Obstacles and opportunities • Software licensing – Not pure technical challenges • Commercial software’s licensing model not good for utility computing – One time purchase vs pay-as-you-go – Opportunities • New licensing models • New sales models • Open source software! Summary • What is cloud computing – SaaS + Utility Computing – Private Cloud • Enablers – Business models – New applications • Advantages • Economic benefits • Challenges and opportunities – Technical – Non-technical