MTAT.03.262 -Mobile Application Development Lecture 8 Mobile Cloud Computing Satish Srirama, Huber Flores satish.srirama@ut.ee
Outline Cloud Computing Mobile Cloud Access schemes HomeAssignment3 10/20/2014 Satish Srirama 2/25
It s nothing new It s a trap...we ve redefined Cloud It s worse than stupidity: it s Computing to include everything marketing hype. Somebody is that we already do... I don t saying this is inevitable and understand what we would do whenever you hear that, it s very differently... other than change likely to be a set of businesses the wording of some of our ads. campaigning to make it true. WHAT IS CLOUD COMPUTING? Larry Ellison, CEO, Oracle (Wall Richard Stallman, Founder, Free Street Journal, Sept. 26, 2008) Software Foundation (The Guardian, Sept. 29, 2008) No consistent answer! Everyone thinks it is something else 10/20/2014 Satish Srirama 3 Slide taken from Professor Anthony D. Joseph s lecture at RWTH Aachen
What is Cloud Computing? Computing as a utility Utility services e.g. water, electricity, gas etc Consumers pay based on their usage 10/20/2014 Satish Srirama 4/25
Timeline 10/20/2014 Satish Srirama 5/25
Clouds -Why Now (not then)? Experience with very large datacenters Unprecedented economies of scale Transfer of risk Technology factors Pervasive broadband Internet Maturity in Virtualization Technology Business factors Minimal capital expenditure Pay-as-you-go billing model 10/20/2014 Satish Srirama 6/25
Virtualization Virtualization techniques are the basis of the cloud computing Virtualization technologies partition hardware and thus provide flexible and scalable computing platforms App App App Virtual machine techniques VMware and Xen OpenNebula Amazon EC2 OS OS Hypervisor Hardware OS Virtualized Stack 10/20/2014 Satish Srirama 7/25
Cloud Computing -Characteristics Illusion of infinite resources No up-front cost Fine-grained billing (e.g. hourly) Gartner: Cloud computing is a style of computing where massively scalable IT-related capabilities are provided as a service across the Internet to multiple external customers 10/20/2014 Satish Srirama 8/25
Cloud Computing -Services Software as a Service SaaS A way to access applications hosted on the web through your web browser Platform as a Service PaaS Provides a computing platform and a solution stack (e.g. LAMP) as a service Infrastructure as a Service IaaS Use of commodity computers, distributed across Internet, to perform parallel processing, distributed storage, indexing and mining of data Virtualization SaaS Facebook, Flikr,Myspace.com, Google maps API, Gmail PaaS Google App Engine, Force.com, Hadoop, Azure, Heroku, etc IaaS Amazon EC2, Rackspace, GoGrid, SciCloud, etc. Level of Abstraction 10/20/2014 Satish Srirama 9/25
Cloud Computing -Themes Massively scalable On-demand & dynamic Only use what you need -Elastic No upfront commitments, use on short term basis Accessible via Internet, location independent Transparent Complexity concealed from users, virtualized, abstracted Service oriented Easy to use SLAs SLA Service Level Agreement 10/20/2014 Satish Srirama 10/25
Cloud Models Internal (private) cloud Cloud with in an organization Community cloud Cloud infrastructure jointly owned by several organizations Public cloud Cloud infrastructure owned by an organization, provided to general public as service Hybrid cloud Composition of two or more cloud models 10/20/2014 Satish Srirama 11/25
Cloud Application Demand Many cloud applications have cyclical demand curves Daily, weekly, monthly, Resources Demand Workload spikes are more frequent and significant When some event happens like a pop star has expired: More # tweets, Wikipedia traffic increases 22% of tweets, 20% of Wikipedia traffic when Michael Jackson expired in 2009 Google thought they are under attack Time 10/20/2014 Satish Srirama 12/25
Economics of Cloud Users Pay by use instead of provisioning for peak Resources Capacity Demand Resources Capacity Demand Time Static data center Time Data center in the cloud Unused resources 10/20/2014 Satish Srirama 13/25
Economics of Cloud Users -continued Risk of over-provisioning: underutilization Huge sunk cost in infrastructure Capacity Unused resources Resources Demand Time Static data center 10/20/2014 Satish Srirama 14/25
Economics of Cloud Users -continued Heavy penalty for under-provisioning Resources 1 2 3 Time (days) Capacity Demand Resources Resources 1 2 3 Time (days) Lost revenue 1 2 3 Time (days) Lost users 10/20/2014 Satish Srirama 15/25 Capacity Demand Capacity Demand
Short Term Implications of Clouds Startups and prototyping Minimize infrastructure risk Lower cost of entry Batch jobs One-off tasks Washington post, NY Times Cost associatively for scientific applications Research at scale 10/20/2014 Satish Srirama 16/25
Long Term Implications of clouds Application software: Cloud & client parts, disconnection tolerance Infrastructure software: Resource accounting, VM awareness Hardware systems: Containers, energy proportionality 10/20/2014 Satish Srirama 17/25
Cloud Computing Progress Armando Fox, 2010 10/20/2014 Satish Srirama 18/25
Mobile Cloud Computing One can do interesting things on mobiles directly Today s mobiles are far more capable We can even provide services from smart phones However, some applications need to offload certain activities to servers Processing sensor data Resource-intensive processing on the cloud To enrich the functionality of mobile applications 10/20/2014 Satish Srirama 19/25
Mobile Cloud Applications Mobile has significant advantage by going cloud-aware Increased data storage capacity Availability of unlimited processing power Extended battery life [Rudenko et al., SIGMOBILE 1998] Mobile Cloud based mash-up applications Mobiles need to possess multiple APIs Cloud interoperability is a huge trouble 10/20/2014 Satish Srirama 20/25
Mobile Cloud Access Schemes MCM Delegation Code Offloading [Flores and Srirama, JSS 2014] 10/20/2014 Satish Srirama 21/25
Mobile Cloud Middleware [Srirama et al, ICIW 2006] GCM [Flores et al, MoMM 2011] 10/20/2014 Satish Srirama 22/25
MCM enables Interoperability between different Cloud Services (IaaS, SaaS, PaaS) and Providers (Amazon, Eucalyptus, etc) Provides an abstraction layer on top of API Composition of different Cloud Services Asynchronous communication between the device and MCM 10/20/2014 Satish Srirama 23/25
CroudSTag Scenario CroudSTagtakes the pictures/videos from the cloud and tries to recognize people Pictures/Videos are actually taken by the phone Processes the videos Recognizes people using facial recognition technologies Reports the user a list of people recognized in the pictures The user decides whether to add them or not to the social group The people selected by the user receive a message in facebook inviting them to join the social group 10/20/2014 Satish Srirama 24/25
CroudSTag [Srirama et al, PCS 2011] Cloud services used Media storage on Amazon S3 Processing videos on Elastic MapReduce face.com to recognize people on facebook Starting social group on facebook 10/20/2014 Satish Srirama 25/25
Process-intensive tasks on cloud Sensor data analysis Media processing 10/20/2014 Satish Srirama 26/25
CODE OFFLOADING 10/20/2014 Satish Srirama 27
THANK YOU 10/20/2014 Satish Srirama 28