Cloud Computing & Scalability Reid Holmes REID HOLMES - CPSC - - PowerPoint PPT Presentation

cloud computing scalability
SMART_READER_LITE
LIVE PREVIEW

Cloud Computing & Scalability Reid Holmes REID HOLMES - CPSC - - PowerPoint PPT Presentation

http://geekandpoke.typepad.com/geekandpoke/2009/03/let-the-clouds-make-your-life-easier.html Cloud Computing & Scalability Reid Holmes REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING


slide-1
SLIDE 1

Cloud Computing & Scalability

Reid Holmes

http://geekandpoke.typepad.com/geekandpoke/2009/03/let-the-clouds-make-your-life-easier.html

slide-2
SLIDE 2

REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING

slide-3
SLIDE 3

REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING

slide-4
SLIDE 4

REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING

slide-5
SLIDE 5

REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING

slide-6
SLIDE 6

REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING

slide-7
SLIDE 7

REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING

slide-8
SLIDE 8

REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING

slide-9
SLIDE 9

REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING

Cloud precursors

  • Grid Computing:
  • Combination of computing resources from

multiple administrative domains applied to common tasks.

  • Usually used to create ‘super computers’ that

can work on specific parallel computation tasks.

  • Utility Computing:
  • Combining computation, storage, and services

metered like utilities.

slide-10
SLIDE 10

REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING

Cloud Computing

  • “Cloud computing is a model for enabling

convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. This cloud model promotes availability and is composed of five essential characteristics, three service models, and four deployment models.” [NIST]

slide-11
SLIDE 11

REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING

NIST Essential Characteristics

  • On-demand self-service:
  • Consumers can provision computing capabilities

without human interaction.

  • Resource pooling:
  • Computing resources are pooled to serve

multiple consumers.

  • Location independence.
  • Rapid elasticity
  • Resources can be easily added and removed.
  • Measured service [services and/or resources]
  • Metering of storage, processing, bandwidth, etc.
slide-12
SLIDE 12

REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING

Benefits

  • Agility
  • Scalability
  • Cost
  • Reliability
  • Security
slide-13
SLIDE 13

REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING

Technology

  • Thick and thin clients
  • Broadband
  • Data centres
  • Large capacity
  • Globally distributed
  • APIs
  • Administration
  • Development
  • Resource migration
slide-14
SLIDE 14

REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING

Cloud Layers

  • SaaS
  • Vendor-controlled remote applications.
  • Concerns: control, performance, security, privacy.
  • PaaS
  • Vendor-controlled environment.
  • Concerns: as for SaaS w/ limited technology choices.
  • IaaS
  • Vendor-provided resources; consumer provisions VM.
  • Concerns: more expertise needed to leverage flexibility.
slide-15
SLIDE 15

REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING

slide-16
SLIDE 16

REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING

Cloud Spectrum

slide-17
SLIDE 17

REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING

Layers of Control

!"#$%&' (#%&)*" ("&+"& ,- .// 0)#) !"#$%&' (#%&)*" ("&+"& ,- .// 0)#) !"#$%&' (#%&)*" ("&+"& ,- .// 0)#) !"#$%&' (#%&)*" ("&+"& ("&+12"3 .// 0)#) !"#$%&' (#%&)*" ("&+"& ("&+12"3 .// 0)#) 4&*)516)#1%5 2%5#&%77"8 4&*)516)#1%59:93"&+12"9 ;&%+18"&93<)&"92%5#&%7 ("&+12"9/&%+18"& 2%5#&%77"8 =5><%?3"

0";7%@A"5#

B%3#"8

0";7%@A"5#

=))(

C7%?8

/))(

C7%?8

())(

C7%?8

DEF9!"#$%&"'"()*+,-*./$(0%1"-#*/2*3/(+1/&*"(*+,-*3&/$04*5-6*78894* <##;GHH'32%##A%&&13%5I2%AHJKKLHEJHKEH+13?)71615*>#<">M%?58)&1"3>%N>2%5#&%7>15>#<">27%?8H

slide-18
SLIDE 18

REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING

Cloud Consistency

  • CAP Theorem (Eric Brewer UC Berkeley)
  • Cannot ensure all three simultaneously:
  • Consistency
  • Availability
  • Partition tolerance
slide-19
SLIDE 19

REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING

Cloud Security NFPs

  • Users want assurances of:
  • Confidentiality
  • Integrity
  • Authenticity
  • Anonymity
  • Privacy
  • Data remanence is problematic:
  • How can you purge data from the cloud?
slide-20
SLIDE 20

REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING

AZ-1

www.devops.com

Auto Scaling Group

Web Server App Server

App Tier Amazon RDS Amazon EC2 Instances

Web Server App Server

B

  • Example From Chris Parnin:

https://github.com/CSC-DevOps/Course

Basic 3-Tier Architecture

slide-21
SLIDE 21

REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING

AZ-1

www.devops.com

Auto Scaling Group

Web Server App Server

App Tier Amazon RDS Amazon EC2 Instances

Web Server App Server

DNS

  • www1.devops.com, …

Amazon Route 53 Hosted Zone

Example From Chris Parnin: https://github.com/CSC-DevOps/Course

DNS Services

slide-22
SLIDE 22

REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING

AZ-1

www.devops.com

Auto Scaling Group

Web Server App Server

App Tier Amazon RDS Amazon EC2 Instances

Web Server App Server

L

  • Amazon Route 53

Hosted Zone

Elastic Load Balancer

Example From Chris Parnin: https://github.com/CSC-DevOps/Course

Load Balancing

slide-23
SLIDE 23

REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING

AZ-1

www.devops.com

Auto Scaling Group

Web Server App Server

App Tier Amazon RDS Amazon EC2 Instances

Web Server App Server

Co

  • Deliv

conte

  • Don’t waste CPU, sockets, and

wor

  • Mos

requ 100

  • Exam
  • J
  • I
  • P

Amazon Route 53 Hosted Zone

Elastic Load Balancer

Amazon S3 Bucket Amazon CloudFront

media.devops.com

(Static data)

Example From Chris Parnin: https://github.com/CSC-DevOps/Course

Content Delivery

slide-24
SLIDE 24

REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING

On Latency

Memory Reference .0001ms 4k from SSD .15ms Round trip (same datacenter) .5ms Disk seek 10ms

https://gist.github.com/jboner/2841832

slide-25
SLIDE 25

REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING Example From Chris Parnin: https://github.com/CSC-DevOps/Course

Caches

AZ-1

www.devops.com

Auto Scaling Group

Web Server App Server

App Tier Amazon RDS Amazon EC2 Instances

Web Server App Server

Ca

  • Cache
  • Data
  • Prov
  • Exam
  • F
  • C

D F

  • Que

pr

Amazon Route 53 Hosted Zone

Elastic Load Balancer

Amazon S3 Bucket Amazon CloudFront

media.devops.com

(Static data)

ElastiCache Tier

slide-26
SLIDE 26

REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING

AZ-1

www.devops.com

Auto Scaling Group

Web Server App Server

App Tier Amazon RDS Amazon EC2 Instances

Web Server App Server

Av

  • Isolat
  • Crea

pro isol

  • Exa
  • S

n

  • H

p

  • A

tr h

Amazon Route 53 Hosted Zone

Elastic Load Balancer

Amazon S3 Bucket Amazon CloudFront

media.devops.com

(Static data)

ElastiCache Tier

AZ-2

Example From Chris Parnin: https://github.com/CSC-DevOps/Course

Availability Zones

slide-27
SLIDE 27

REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING

On Latency

https://gist.github.com/jboner/2841832

Memory Reference .0001ms 4k from SSD .15ms Round trip (same datacenter) .5ms Disk seek 10ms Round trip (international) 150ms

slide-28
SLIDE 28

REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING

AZ-1

www.devops.com

Auto Scaling Group

Web Server App Server

App Tier Amazon RDS Amazon EC2 Instances

Web Server App Server

Reg

  • Geog

envi

  • Crea

pro isol

  • Exa
  • S
  • e
  • H

d

Amazon Route 53 Hosted Zone

Elastic Load Balancer

Amazon S3 Bucket Amazon CloudFront

media.devops.com

(Static data)

ElastiCache Tier

AZ-2 Region

Example From Chris Parnin: https://github.com/CSC-DevOps/Course

Regions

slide-29
SLIDE 29

REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING

AZ-1

www.devops.com

Auto Scaling Group

Web Server App Server

App Tier Amazon RDS Amazon EC2 Instances

Web Server App Server

Oth

Amazon Route 53 Hosted Zone

Elastic Load Balancer

Amazon S3 Bucket Amazon CloudFront

media.devops.com

(Static data)

ElastiCache Tier

AZ-2 Region Amazon CloudWatch Alarms Amazon SNS Notifications Amazon DynamoDB Tables

Amazon SES Email

Example From Chris Parnin: https://github.com/CSC-DevOps/Course

Other Concerns

slide-30
SLIDE 30

REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING

Mirroring / Replication

Application Data Source Cut Over Elastic Load Balancer Active Not Active for Production Traffic Amazon Route 53

Scaled down Standby

Corporate Data center

Data Volume

Application Server Slave Database Server Reverse Proxy / Caching Server

AWS Region Reverse Proxy/ Caching Server Application Server

Master

Database Server

Example From Chris Parnin: https://github.com/CSC-DevOps/Course

Disaster Recovery

slide-31
SLIDE 31

REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING

AZ-1 Auto Scaling Group

Web Server App Server

App Tier Amazon RDS Instances

Web Server App Server

  • You know how

to do this:

slide-32
SLIDE 32

REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING

But what about these:

DNS

  • www1.devops.com, …

Amazon Route 53 Hosted Zone

DNS

Amazon EC2 Instances

  • Elastic Load

Balancer

Load Balancing

AZ-1 Auto Scaling Group

Web Server App Server

App Tier Amazon RDS Instances

Web Server App Server
  • ElastiCache Tier

Dynamic Caching

AZ-1 Auto Scaling Group Web Server App Server App Tier Amazon RDS Amazon EC2 Instances Web Server App Server
  • Elastic Load
Balancer Amazon S3 Bucket ElastiCache Tier AZ-2 Region

Regions

AZ-1 Auto Scaling Group

Web Server App Server

App Tier Amazon RDS Instances

Web Server App Server
  • Am
ElastiCache Tier

AZ-2

Availability Zones

For each of these: * You need to know they exist. * And what they do. * And how to use them. * And how to configure them. * And how to verify them. * And how to monitor them.

Static Caching

AZ-1 Auto Scaling Group

Web Server App Server

App Tier Amazon RDS Instances

Web Server App Server
  • Don’t waste CPU, sockets, and
  • Don’t waste CPU, sockets, and
  • Amazon S3

Bucket