39
MTAT.08.027 Basics of Cloud Computing (3 ECTS) Satish Srirama [email protected]

(3 ECTS) Satish Srirama - ut€¦ · (3 ECTS) Satish Srirama [email protected]. Course Purpose • Introduce cloud computing concepts • Introduce cloud providers and usage scenarios

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: (3 ECTS) Satish Srirama - ut€¦ · (3 ECTS) Satish Srirama satish.srirama@ut.ee. Course Purpose • Introduce cloud computing concepts • Introduce cloud providers and usage scenarios

MTAT.08.027

Basics of Cloud Computing(3 ECTS)

Satish [email protected]

Page 2: (3 ECTS) Satish Srirama - ut€¦ · (3 ECTS) Satish Srirama satish.srirama@ut.ee. Course Purpose • Introduce cloud computing concepts • Introduce cloud providers and usage scenarios

Course Purpose

• Introduce cloud computing concepts

• Introduce cloud providers and usage scenarios

• Introduction to distributed computing

algorithms like MapReduce

• Glance of research at Mobile & Cloud Lab in

cloud computing domain

• https://courses.cs.ut.ee/2016/cloud/spring/

09/02/2016 Satish Srirama 2/39

Page 3: (3 ECTS) Satish Srirama - ut€¦ · (3 ECTS) Satish Srirama satish.srirama@ut.ee. Course Purpose • Introduce cloud computing concepts • Introduce cloud providers and usage scenarios

Schedule

• Lecture

– Tuesday 10:15 – 12:00 (J. Liivi 2 - 402)

• Labs

– Wed 10:15 - 12:00 (J. Liivi 2 - 205) (1. group)

– Wed 16:15 - 18:00 (J. Liivi 2 - 205) (2. group)

– Fri 14:15 - 16:00 (J. Liivi 2 - 205) (3. group)

09/02/2016 Satish Srirama 3/39

Page 4: (3 ECTS) Satish Srirama - ut€¦ · (3 ECTS) Satish Srirama satish.srirama@ut.ee. Course Purpose • Introduce cloud computing concepts • Introduce cloud providers and usage scenarios

Course Logistics

• MTAT.08.011 - Basics of Grid and Cloud

Computing

– Was discontinued from 2014

• MTAT.08.037 Basics of Scientific Computing

Infrastructures (3 ECTS)

– You can take the above course Instead of Grid part

• Consult your curriculum coordinators

09/02/2016 Satish Srirama 4/39

Page 5: (3 ECTS) Satish Srirama - ut€¦ · (3 ECTS) Satish Srirama satish.srirama@ut.ee. Course Purpose • Introduce cloud computing concepts • Introduce cloud providers and usage scenarios

Questions

• Is everyone comfortable with data structures?

• How comfortable you are with algorithms?

• How comfortable you are with programming?

– Java ?

• External APIs?

– Python – I assume you are

– Web programming

09/02/2016 Satish Srirama 5/39

Page 6: (3 ECTS) Satish Srirama - ut€¦ · (3 ECTS) Satish Srirama satish.srirama@ut.ee. Course Purpose • Introduce cloud computing concepts • Introduce cloud providers and usage scenarios

Grading

• Written exam – 50%

• Labs – 45%

– 7 lab exercises

• Active participation in the lectures (Max 5%)

• To pass the course

– You need to score at least 50% in each of the above subsections

– You need to score at least 50% in the total

09/02/2016 Satish Srirama 6/39

Page 7: (3 ECTS) Satish Srirama - ut€¦ · (3 ECTS) Satish Srirama satish.srirama@ut.ee. Course Purpose • Introduce cloud computing concepts • Introduce cloud providers and usage scenarios

Taking the Course

• Got reputation as a tough course

– People who have stuck with the curriculum have scored good

• Labs will get you easy points

– Will try to provide bonus points for some of the labs

• Examination is considered to be a bit tough

– One of the previous year’s examination paper is online

– Will guide you how to prepare for the examination

• Being a practical course it takes enough time and effort

09/02/2016 Satish Srirama 7/39

Page 8: (3 ECTS) Satish Srirama - ut€¦ · (3 ECTS) Satish Srirama satish.srirama@ut.ee. Course Purpose • Introduce cloud computing concepts • Introduce cloud providers and usage scenarios

Course schedule & Outline

• 09.02 Basics of Cloud Computing

• 16.02 Cloud Providers & SciCloud

• 23.02 Scaling in Cloud

• 01.03 MapReduce

• 08.03 MapReduce Algorithms

• 15.03 Platform as a Service

• 22.03 Other Cloud Services

• 29.03 Summary and Research on Cloud

09/02/2016 Satish Srirama 8/39

Page 9: (3 ECTS) Satish Srirama - ut€¦ · (3 ECTS) Satish Srirama satish.srirama@ut.ee. Course Purpose • Introduce cloud computing concepts • Introduce cloud providers and usage scenarios

Course schedule - continued

• Labs

10-12.02 Starting with a cloud

17-19.02 Working with SciCloud

24-26.02 Load balancing in cloud

02-04.03 MapReduce - Basics

09-11.03 Data analysis with MapReduce

16-18.03 Google AppEngine

23-25.03 Other Cloud Services

09/02/2016 Satish Srirama 9/39

Page 10: (3 ECTS) Satish Srirama - ut€¦ · (3 ECTS) Satish Srirama satish.srirama@ut.ee. Course Purpose • Introduce cloud computing concepts • Introduce cloud providers and usage scenarios

Grading of Labs

• Strongly suggest you to finish the lab exercises before coming to the next lecture

• Try to submit the results by Tuesday 10:00 next week to be graded for full score

• Late submissions

– You can submit the results till one day before your scheduled lab (group) for 90% score

• Bonus points will still put it ~above 100%

– After that 10% will be deducted per day

– You can submit exercises for 50% evaluation till 01.04

09/02/2016 Satish Srirama 10/39

Page 11: (3 ECTS) Satish Srirama - ut€¦ · (3 ECTS) Satish Srirama satish.srirama@ut.ee. Course Purpose • Introduce cloud computing concepts • Introduce cloud providers and usage scenarios

Course schedule - continued

• 04.04 - Examination 1

• 05.04 - Examination 2

• Examination for second attempt – 19th April

09/02/2016 Satish Srirama 11/39

Page 12: (3 ECTS) Satish Srirama - ut€¦ · (3 ECTS) Satish Srirama satish.srirama@ut.ee. Course Purpose • Introduce cloud computing concepts • Introduce cloud providers and usage scenarios

Reference Books• Mastering Cloud Computing: Foundations

and Applications Programming

Authors: Rajkumar Buyya, Christian Vecchiola, S.Thamarai Selvi

• Data-Intensive Text Processing with MapReduce

Authors: Jimmy Lin and Chris Dyer

http://lintool.github.io/MapReduceAlgorithms/MapReduce-book-final.pdf

• White, Tom. Hadoop: the definitive guide. O'Reilly, 2012.

09/02/2016 Satish Srirama 12/39

Page 13: (3 ECTS) Satish Srirama - ut€¦ · (3 ECTS) Satish Srirama satish.srirama@ut.ee. Course Purpose • Introduce cloud computing concepts • Introduce cloud providers and usage scenarios

Reference Papers

• M. Armbrust et al., “Above the Clouds, A

Berkeley View of Cloud Computing”, Technical

Report, University of California, Feb, 2009.

• Dean, J., & Ghemawat, S. (2008). MapReduce:

simplified data processing on large clusters.

Communications of the ACM, 51(1), 107-113.

09/02/2016 Satish Srirama 13/39

Page 14: (3 ECTS) Satish Srirama - ut€¦ · (3 ECTS) Satish Srirama satish.srirama@ut.ee. Course Purpose • Introduce cloud computing concepts • Introduce cloud providers and usage scenarios

CLOUD COMPUTING

Lecture 1

09/02/2016 Satish Srirama 14

Page 15: (3 ECTS) Satish Srirama - ut€¦ · (3 ECTS) Satish Srirama satish.srirama@ut.ee. Course Purpose • Introduce cloud computing concepts • Introduce cloud providers and usage scenarios

WHAT IS CLOUD COMPUTING?

No consistent answer!

Everyone thinks it is something else…

“It’s nothing new”“...we’ve redefined Cloud Computing to include everything that we already do... I don’t understand what we would do differently ... other than change the wording of some of our ads.”

Larry Ellison, CEO, Oracle (Wall Street Journal, Sept. 26, 2008)

“It’s a trap”“It’s worse than stupidity: it’s marketing hype. Somebody is saying this is inevitable—and whenever you hear that, it’s very likely to be a set of businesses campaigning to make it true.”

Richard Stallman, Founder, Free Software Foundation (The Guardian, Sept. 29, 2008)

Slide taken from Professor Anthony D. Joseph’s lecture at RWTH Aachen09/02/2016 Satish Srirama 15

Page 16: (3 ECTS) Satish Srirama - ut€¦ · (3 ECTS) Satish Srirama satish.srirama@ut.ee. Course Purpose • Introduce cloud computing concepts • Introduce cloud providers and usage scenarios

What is Cloud Computing?

• Computing as a utility

– Utility services e.g. water, electricity, gas etc

– Consumers pay based on their usage

09/02/2016 Satish Srirama 16/39

Page 17: (3 ECTS) Satish Srirama - ut€¦ · (3 ECTS) Satish Srirama satish.srirama@ut.ee. Course Purpose • Introduce cloud computing concepts • Introduce cloud providers and usage scenarios

Timeline

09/02/2016 Satish Srirama 17/39

Page 18: (3 ECTS) Satish Srirama - ut€¦ · (3 ECTS) Satish Srirama satish.srirama@ut.ee. Course Purpose • Introduce cloud computing concepts • Introduce cloud providers and usage scenarios

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

09/02/2016 Satish Srirama 18/39

Page 19: (3 ECTS) Satish Srirama - ut€¦ · (3 ECTS) Satish Srirama satish.srirama@ut.ee. Course Purpose • Introduce cloud computing concepts • Introduce cloud providers and usage scenarios

• Virtualization techniques are the basis of the cloud computing

• Virtualization technologies partition hardware and thus provide flexible and scalable computing platforms

• Virtual machine techniques

– VMware and Xen

– OpenNebula

– Amazon EC2

Virtualization

Hardware

OS

App App App

Hypervisor

OS OS

Virtualized Stack

09/02/2016 Satish Srirama 19/39

Page 20: (3 ECTS) Satish Srirama - ut€¦ · (3 ECTS) Satish Srirama satish.srirama@ut.ee. Course Purpose • Introduce cloud computing concepts • Introduce cloud providers and usage scenarios

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”

Satish Srirama09/02/2016 20/39

Page 21: (3 ECTS) Satish Srirama - ut€¦ · (3 ECTS) Satish Srirama satish.srirama@ut.ee. Course Purpose • Introduce cloud computing concepts • Introduce cloud providers and usage scenarios

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

09/02/2016 Satish Srirama 21/39

Page 22: (3 ECTS) Satish Srirama - ut€¦ · (3 ECTS) Satish Srirama satish.srirama@ut.ee. Course Purpose • Introduce cloud computing concepts • Introduce cloud providers and usage scenarios

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

Satish Srirama

SLA – Service Level Agreement

09/02/2016 22/39

Page 23: (3 ECTS) Satish Srirama - ut€¦ · (3 ECTS) Satish Srirama satish.srirama@ut.ee. Course Purpose • Introduce cloud computing concepts • Introduce cloud providers and usage scenarios

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

Satish Srirama09/02/2016 23/39

Page 24: (3 ECTS) Satish Srirama - ut€¦ · (3 ECTS) Satish Srirama satish.srirama@ut.ee. Course Purpose • Introduce cloud computing concepts • Introduce cloud providers and usage scenarios

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

09/02/2016 Satish Srirama 24/39

Page 25: (3 ECTS) Satish Srirama - ut€¦ · (3 ECTS) Satish Srirama satish.srirama@ut.ee. Course Purpose • Introduce cloud computing concepts • Introduce cloud providers and usage scenarios

Cloud Application Demand

• Many cloud applications have cyclical demand curves– Daily, weekly, monthly, …

• 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

Demand

Time

Res

ourc

es

09/02/2016 Satish Srirama 25/39

Page 26: (3 ECTS) Satish Srirama - ut€¦ · (3 ECTS) Satish Srirama satish.srirama@ut.ee. Course Purpose • Introduce cloud computing concepts • Introduce cloud providers and usage scenarios

Unused resources

Economics of Cloud Users

• Pay by use instead of provisioning for peak

Static data center Data center in the cloud

Demand

Capacity

Time

Res

ourc

es

Demand

Capacity

Time

Res

ourc

es

09/02/2016 Satish Srirama 26/39

Page 27: (3 ECTS) Satish Srirama - ut€¦ · (3 ECTS) Satish Srirama satish.srirama@ut.ee. Course Purpose • Introduce cloud computing concepts • Introduce cloud providers and usage scenarios

Unused resources

Economics of Cloud Users - continued

• Risk of over-provisioning: underutilization

– Huge sunk cost in infrastructure

Static data center

Demand

Capacity

Time

Res

ourc

es

09/02/2016 Satish Srirama 27/39

Page 28: (3 ECTS) Satish Srirama - ut€¦ · (3 ECTS) Satish Srirama satish.srirama@ut.ee. Course Purpose • Introduce cloud computing concepts • Introduce cloud providers and usage scenarios

Economics of Cloud Users - continued

• Heavy penalty for under-provisioning

Lost revenue

Lost users

Res

ourc

esDemand

Capacity

Time (days)1 2 3

Res

ourc

es

Demand

Capacity

Time (days)1 2 3

Res

ourc

es

Demand

Capacity

Time (days)1 2 3

09/02/2016 Satish Srirama 28/39

Page 29: (3 ECTS) Satish Srirama - ut€¦ · (3 ECTS) Satish Srirama satish.srirama@ut.ee. Course Purpose • Introduce cloud computing concepts • Introduce cloud providers and usage scenarios

Economics of Cloud Providers

• Building a very large-scale datacenter is very expensive

– $100+ Million (Minimum)

• Large Internet Companies Already Building Huge DCs

– Google, Amazon, Microsoft…

• 5-7x economies of scale [Hamilton 2008]

ResourceCost in

Medium DCCost in

Very Large DCRatio

Network $95 / Mbps / month $13 / Mbps / month 7.3x

Storage $2.20 / GB / month $0.40 / GB / month 5.5x

Administration ≈140 servers/admin >1000 servers/admin 7.1x

09/02/2016 Satish Srirama 29/39

Page 30: (3 ECTS) Satish Srirama - ut€¦ · (3 ECTS) Satish Srirama satish.srirama@ut.ee. Course Purpose • Introduce cloud computing concepts • Introduce cloud providers and usage scenarios

Economics of Cloud Providers -

continued• Power

• Cooling is also expensive– Build data centers near rivers

• Extra benefits– Amazon: utilize off-peak capacity

– Microsoft: sell .NET tools

– Google: reuse existing infrastructure

09/02/2016 Satish Srirama

Price per

KWH

Where Possible Reasons Why

3.6¢ Idaho Hydroelectric power; not sent long distance

10.0¢ California Electricity transmitted long distance over the

grid; limited transmission lines in Bay Area; no

coal fired electricity allowed in California.

18.0¢ Hawaii Must ship fuel to generate electricity

30/39

Page 31: (3 ECTS) Satish Srirama - ut€¦ · (3 ECTS) Satish Srirama satish.srirama@ut.ee. Course Purpose • Introduce cloud computing concepts • Introduce cloud providers and usage scenarios

Economics of Cloud Providers - Failures

• Cloud Computing providers bring a shift from high reliability/availability servers to commodity servers

– At least one failure per day in large datacenter

• Why?

– Significant economic incentives – much lower per-server cost

• Caveat: User software has to adapt to failures

– Very hard problem!

• Solution: Replicate data and computation

– MapReduce & Distributed File System (Will discuss later in Lecture 4)

09/02/2016 Satish Srirama 31/39

Page 32: (3 ECTS) Satish Srirama - ut€¦ · (3 ECTS) Satish Srirama satish.srirama@ut.ee. Course Purpose • Introduce cloud computing concepts • Introduce cloud providers and usage scenarios

Adoption Challenges

Challenge Opportunity

Availability Multiple providers & Use elasticity to prevent DDoSattacks

Data lock-in Standardization

Data Confidentiality and Auditability

Encryption, VLANs, Firewalls; Geographical Data Storage

09/02/2016 Satish Srirama 32/39

Page 33: (3 ECTS) Satish Srirama - ut€¦ · (3 ECTS) Satish Srirama satish.srirama@ut.ee. Course Purpose • Introduce cloud computing concepts • Introduce cloud providers and usage scenarios

Growth Challenges

Challenge Opportunity

Data transfer bottlenecks

FedEx-ing disks, Data Backup/Archival

Performance unpredictability

Improved VM support, flash memory, scheduling VMs

Scalable storage Invent scalable store

Bugs in large distributed systems

Invent Debugger that relies on Distributed VMs

Scaling quickly Invent Auto-Scaler; Snapshots for conservation

09/02/2016 Satish Srirama 33/39

Page 34: (3 ECTS) Satish Srirama - ut€¦ · (3 ECTS) Satish Srirama satish.srirama@ut.ee. Course Purpose • Introduce cloud computing concepts • Introduce cloud providers and usage scenarios

Policy and Business Challenges

Challenge Opportunity

Reputation Fate Sharing Offer reputation-guarding services like those for email

Software Licensing Pay-for-use licenses; Bulk use sales

09/02/2016 Satish Srirama 34/39

Page 35: (3 ECTS) Satish Srirama - ut€¦ · (3 ECTS) Satish Srirama satish.srirama@ut.ee. Course Purpose • Introduce cloud computing concepts • Introduce cloud providers and usage scenarios

Long Term Implications of clouds

• Application software:

– Cloud & client parts, disconnection tolerance

• Infrastructure software:

– Resource accounting, VM awareness

• Hardware systems:

– Containers, energy proportionality

09/02/2016 Satish Srirama 35/39

Page 36: (3 ECTS) Satish Srirama - ut€¦ · (3 ECTS) Satish Srirama satish.srirama@ut.ee. Course Purpose • Introduce cloud computing concepts • Introduce cloud providers and usage scenarios

Cloud Computing Progress

09/02/2016

Armando Fox, 2010

Satish Srirama 36/39

Page 37: (3 ECTS) Satish Srirama - ut€¦ · (3 ECTS) Satish Srirama satish.srirama@ut.ee. Course Purpose • Introduce cloud computing concepts • Introduce cloud providers and usage scenarios

This week in Lab (Homework)

• Registration to the cloud & keys

– Firefox plugin & working with Eucatools and API

• Study the following paper

– M. Armbrust et al., “Above the Clouds, A Berkeley

View of Cloud Computing”, Technical Report,

University of California, Feb, 2009.

09/02/2016 Satish Srirama 37/39

Page 38: (3 ECTS) Satish Srirama - ut€¦ · (3 ECTS) Satish Srirama satish.srirama@ut.ee. Course Purpose • Introduce cloud computing concepts • Introduce cloud providers and usage scenarios

Next lecture

• Cloud providers

– Amazon EC2, S3, EBS

• Eucalyptus

• OpenStack

09/02/2016 Satish Srirama 38/39

Page 39: (3 ECTS) Satish Srirama - ut€¦ · (3 ECTS) Satish Srirama satish.srirama@ut.ee. Course Purpose • Introduce cloud computing concepts • Introduce cloud providers and usage scenarios

References

• Several of the slides are taken from Prof. Anthony D. Joseph’s lecture at RWTH Aachen (March 2010)

• Papers to read

– M. Armbrust et al., “Above the Clouds, A Berkeley View of Cloud Computing”, Technical Report, University of California, Feb, 2009.

• The Cloud: Battle of the Tech Titans

– Cover story in Businessweek– http://www.businessweek.com/magazine/content/11_11/b4219052599182.htm

09/02/2016 Satish Srirama 39/39