ece 1779 introduction to cloud computingdelara/courses/ece1779/... · what is cloud computing? 7...

Post on 21-May-2020

2 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1/6/20

1

ECE 1779Introduction to Cloud

Computing

Eyal de Lara

delara@cs.toronto.eduwww.cs.toronto.edu/~delara/courses/ece1779

1

Course OverviewDate TopicJan 10 IntroductionJan 17 PythonJan 17 Tutorial: PythonJan 24 Web DevelopmentJan 24 Tutorial: Web DevelopmentJan 31 DatabasesJan 31 Tutorial: Databases Feb 7 Amazon Web ServicesFeb 7 Tutorial: AWS Feb 14 Cluster ComputingFeb 28 Function as a ServiceFeb 28 Tutorial: Lambda Mar 6 No SQL DatabasesMar 6 Tutorial: No SQL Mar 13 VirtualizationMar 20 Batch ProcessingMar 27 Stream ProcessingApr 3 Class Presentations

2

1/6/20

2

Marking

Weight Due

A1 (Web Development) 25% Feb 14

A2 (Amazon EC2) 35% Mar 16

A3 (Amazon Lambda) 40% Presentation (Apr 3)Report (Apr 10)

3

Class Mechanics• Prepare

Tasks listed on web site, under “Calendar and Lecture Notes” Papers, book chapters, videos

• Lecture

• Tutorial

4

1/6/20

3

Week 2: Python Overview • Prepare

Option 1:An Introduction to Computer Science Using Python 3 By Paul Gries, Jennifer Campberll, Jason MontojoRead chapters 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 14

Option 2:PCRS View videos in prepare sections for weeks 1, 2, 3, 4, 5, 6, 7, 11

• Lecture Friday 3-5pm

• Tutorial Friday 5-6pm

5

Recommended ReadingThe Cloud at Your ServiceJothy Rosenberg and Art Mateos

Cloud Computing BibleBarrie Sosinsky

Programming Amazon Web ServicesJames Murty

AWS Lambda in ActionDanilo Poccia

Practical Programming (2nd edition)An Introduction to Computer Science Using Python 3by Paul Gries, Jennifer Campbell, Jason Montojo

6

1/6/20

4

What is Cloud Computing?

7

DefinitionCloud computing is the delivery of computing as a service rather than a product, whereby shared resources, software, and information are provided to computers and other devices as a metered service over a network (typically the Internet).

Wikipedia

8

1/6/20

5

Why call it “Cloud” Computing?

9

Why care about Cloud Computing?

10

1/6/20

6

Main Players

11

The Cloud will Solve ALL Problems

12

1/6/20

7

Haven’t I heard this story before?

13

What is New?

14

1/6/20

8

Advantages• Shift from CAPEX to OPEX

• Lowers barrier for starting a new business/project• Can be cheaper even in the long run

• Economies of scale• Geography

15

Advantages• Instant agility

• No need to procure, provision and configure new HW• No need to plan far ahead on provisioning

• Security• Cloud provider can afford better physical and logical security• Bank vs. company vault

16

1/6/20

9

Advantages

• Reliability• Redundancy, geographic replication

17

Challenges• Performance predictability (QoS)

• Fair sharing of I/O resources among VMs• Vendor lock-in

18

1/6/20

10

Challenges• Security and privacy

• Data transfer bottleneck• Uploading 10 TB over 20 Mbps link takes 45 days!

19

Cloud-friendly Applications

20

1/6/20

11

Cloud Types• Public• Private• Hybrid

21

Cloud Computing Taxonomy• Infrastructure/hardware as a Service (IaaS)

• Platform as a Service (PaaS)

• Software/Framework as a Service (SaaS/FaaS)

22

1/6/20

12

Infrastructure as a service (IaaS)

• Also know as Utility Computing• VM images of different OS flavors• Can run any application natively on chosen OS• User administers VMs

• User in charge of elasticity and failover • Almost like buying your how HW• Billing:

• CPU hour• Gigabyte of storage per month• Network traffic in and out of datacenter

• Examples: • Amazon Elastic Compute Cloud (EC2), Rackspace

23

Example: Amazon EC2 Instance Types

• Small Instance2 GB memory1 EC2 Compute UnitI/O Performance: Moderate

• XXLarge Instance32 GB memory8 EC2 Compute UnitsI/O Performance: High

• GPU Compute732 GiB of memory64 EC2 Compute UnitsNVIDIA K80 GPUsI/O Performance: Very High (10 Gigabit Ethernet)

• One EC2 Compute Unit provides the equivalent CPU capacity of a 1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor.

24

1/6/20

13

Platform as a Service (PaaS)

• Application need to conform to provider’s API • VM managed automatically by provider

• Automatic scaling and failover• Billing:

• Per-request• Gigabyte of storage per month• Network traffic in and out of datacenter

• Examples:• Google App Engine• Microsoft Azure• AWS Lambda

25

Software/Framework as a Service (SaaS/FaaS)

• SaaS: services and applications available on an on-demand basis.

• FaaS: a configurable SaaS• Billing:

• Application specific• Per hour• Per transaction

• Examples:• Salesforce.com• Google Docs

26

1/6/20

14

How do they stack up?

27

Choosing between IaaS and PaaS• IaaS

• Use third party sw or other programming languages• Have existing code• Care about lock in

• Transfer web app to your own server or a different provider• Want complete control• Are OK with the extra work needed to manage the system

• PaaS• Provider’s API provider all needed functionality• Have no issues with lock-in• Don’t want to or cannot afford to manage the servers

28

1/6/20

15

Questions?

29

Week 2: Python Overview • Prepare

Option 1:An Introduction to Computer Science Using Python 3 By Paul Gries, Jennifer Campberll, Jason MontojoRead chapters 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 14

Option 2:PCRS View videos in prepare sections for weeks 1, 2, 3, 4, 5, 6, 7, 11

30

top related