ece 1779 introduction to cloud computingdelara/courses/ece1779/... · what is cloud computing? 7...
Post on 21-May-2020
2 Views
Preview:
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