320 likes | 521 Views
CEG7380 Cloud Computing Lecture 1. Keke Chen. Outline. Syllabus Scope of this course Tentative schedule Prerequisites Resources Assignments Introduction. Scope of this course. Understand the basic ideas of cloud computing Get familiar with Tools Systems
E N D
CEG7380 Cloud ComputingLecture 1 Keke Chen
Outline • Syllabus • Scope of this course • Tentative schedule • Prerequisites • Resources • Assignments • Introduction
Scope of this course • Understand the basic ideas of cloud computing • Get familiar with • Tools • Systems • Expose to some research topics
Two major parts: • Processing large data with the cloud • Scaling up/down web applications with the cloud Note: some programming parts need self-study
Prerequisites • Some programming skills • Java, python, shell • Comfortable with learning new programming frameworks • Sufficient knowledge about • Data structure and databases • Operating systems • Distributed systems
Assignments and Grading • Reading papers (~3) (10%) • Some miniprojects (4~5) (60%) • Help you master the concepts • Learn to use tools and systems • Self-motivated research projects are strongly encouraged! • Final exam (20%) • Class attendance and discussion (10%)
Resources • updated reference list • Inhouse hadoop cluster • AWS access • coupon code for each student • Pilot • Submitting reading assignments and projects
Tentative Schedule • Parallel data processing • Distributed file systems (GFS, HDFS) • MapReduce • High-level distributed data management • Cloud infrastructures • Virtualization • AWS and Eucalyptus • Interactive front-end – Google App Engine • Cloud security and privacy • Research topics
In projects, we will learn to use • Hadoop • Mapreduce, Pig Latin • AWS • google app engine
Cloud Computinglecture 1-2 Some slides are borrowed from UC Berkeley RAD Lab Keke Chen
Outline • What is cloud computing? • Why now? • Cloud killer applications • Cloud economics • Challenges and opportunities • “above the cloud” • “Clairemont Report”
What is Cloud Computing? • Old idea: Software as a Service (SaaS) • Def: delivering applications over the Internet • Recently: “[Hardware, Infrastrucuture, Platform] as a service” • Utility Computing: pay-as-you-use computing • Illusion of infinite resources • No up-front cost • Fine-grained billing (e.g. hourly)
Cloud computing vs. grid computing • Cloud computing = virtualization+ grid + services + utility computing • Grid computing: resource provisioning, load balancing, parallel processing • Views of different users • System admin/hadoop users: grid • Application owners/service users: service, utility
Why Now? • Experience with very large datacenters – profitable for cloud providers • economics of scale • Pervasive broadband Internet • Fast x86 virtualization • Pay-as-you-go billing model • Large user base • Online payment • Online Ads • Content distribution Web 2.0 lowers the entry point to e-business more small e-business owners Large user base of clouds
Spectrum of Clouds Lower-level, Less management Higher-level, More management EC2 Azure AppEngine Force.com • Instruction Set VM (Amazon EC2, 3Tera) • Bytecode VM (Microsoft Azure) • Framework VM • Google AppEngine, Force.com
Cloud Killer Apps • Mobile and web applications • Batch processing / MapReduce • Data analytics (big data) • E.g., OLAP, data mining, machine learning • Extensions of desktop software • Matlab, Mathematica
Cloud Economics • Pay by use instead of provisioning for peak Capacity Resources Resources Capacity Demand Demand Time Time Static data center Data center in the cloud Unused resources
Economics of Cloud Users • Risk of over-provisioning: underutilization Unused resources Capacity Resources Demand Time Static data center
Economics of Cloud Users • Heavy penalty for under-provisioning Resources Resources Resources Capacity Capacity Capacity Lost revenue Demand Demand Demand 2 2 2 3 3 3 1 1 1 Time (days) Time (days) Time (days) Lost users
Economics of Cloud Providers • 5-7x economies of scale [Hamilton 2008] • Extra benefits • Amazon: utilize off-peak capacity • Microsoft: sell .NET tools • Google: reuse existing infrastructure
Research Challenges Mentioned by Database Community (Claremont Report)
Functionality and operational cost • Background: compare massive-scale data intensive computing systems with today’s DBMS • Limited functionality • Simple APIs (e.g. mapreduce) • Pushes more burden on developers • Benefits • Easier to manage • Lower operational cost • Service Level Agreement (SLA) that is hard to provide for a SQL DBMS P.S. DB Systems are notorious for their expenses in installation and maintenance.
Manageability • Features of cloud systems • Limited human intervention • High variance workloads • A variety of shared infrastructures • No DBAs or Administrators to assist developers • Systems need to do work automatically • Self-managing • Adaptive (autonomous) computing
Data security and privacy • Users sharing physical resources in a cloud • Protect from each other (security) • Protect from curious cloud providers (privacy) • Successes may depend on specific target usage scenarios • Examples • Query based services • Mining based services
Datasets over multiple clouds • Interesting datasets might be available in different clouds • Different cloud providers • Private or public clouds • Services mashing up datasets • Inevitably crossing clouds • Federated cloud architectures
Algorithms on Big data • Working on “Big Data” • Data mining • Machine learning • Visualization • Traditionally assume data is in • flat files or relational databases • Distributed data organization puts new challenges • Redesign algorithms • Redesign frameworks