unlocked workshop oscon 2013 - part ii

110
5 PILLARS OF CLOUDINESS wayne walls cloud evangelist alex brandt sr developer Tuesday, July 23, 13

Upload: wayne-walls

Post on 13-May-2015

426 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Unlocked Workshop OSCON 2013 - Part II

5 PILLARS OF CLOUDINESS

wayne wallscloud evangelist

alex brandtsr developer

Tuesday, July 23, 13

Page 2: Unlocked Workshop OSCON 2013 - Part II

FIVE PILLARS OF CLOUDINESS

1 2 3 4 5

Parallel Modular Horizontal Agile Secure

2

Tuesday, July 23, 13

Page 3: Unlocked Workshop OSCON 2013 - Part II

Pillar #1:Parallel

Tuesday, July 23, 13

Page 4: Unlocked Workshop OSCON 2013 - Part II

1MRecords

Answer

Node

4

Tuesday, July 23, 13

Page 5: Unlocked Workshop OSCON 2013 - Part II

1MRecords

Answer

Node1-250K

Node251K-500K

Node501K-750K

Node751K-1M

5

Tuesday, July 23, 13

Page 6: Unlocked Workshop OSCON 2013 - Part II

6

1MRecords

Answer

Node1-250K

Node251K-500K

Node501K-750K

Node751K-1M

Tuesday, July 23, 13

Page 7: Unlocked Workshop OSCON 2013 - Part II

6

1MRecords

Answer

Node1-250K

Node251K-500K

Node501K-750K

Node751K-1M

Tuesday, July 23, 13

Page 8: Unlocked Workshop OSCON 2013 - Part II

7

Tuesday, July 23, 13

Page 9: Unlocked Workshop OSCON 2013 - Part II

DATA

CALCULATIONMAP

CALCULATIONREDUCE

DATA

CALC

D

C

R

D

D

C

R

D

D

C

R

D

SHUFFLE

DATA

7

Tuesday, July 23, 13

Page 10: Unlocked Workshop OSCON 2013 - Part II

8

Tuesday, July 23, 13

Page 11: Unlocked Workshop OSCON 2013 - Part II

Thread 1

Deadlock

9

Thread 2

Tuesday, July 23, 13

Page 12: Unlocked Workshop OSCON 2013 - Part II

Thread 1

Deadlock

9

Thread 2

Tuesday, July 23, 13

Page 13: Unlocked Workshop OSCON 2013 - Part II

File A

Thread 1

Deadlock

9

Thread 2

Tuesday, July 23, 13

Page 14: Unlocked Workshop OSCON 2013 - Part II

File A

Thread 1

Deadlock

9

Thread 2

Tuesday, July 23, 13

Page 15: Unlocked Workshop OSCON 2013 - Part II

File A File B

Thread 1

Deadlock

9

Thread 2

Tuesday, July 23, 13

Page 16: Unlocked Workshop OSCON 2013 - Part II

File A File B

Thread 1

Deadlock

9

Thread 2

Tuesday, July 23, 13

Page 17: Unlocked Workshop OSCON 2013 - Part II

File A File B

Thread 1

Deadlock

9

File B

Thread 2

Tuesday, July 23, 13

Page 18: Unlocked Workshop OSCON 2013 - Part II

File A File B

Thread 1

Deadlock

9

File B

Thread 2

Tuesday, July 23, 13

Page 19: Unlocked Workshop OSCON 2013 - Part II

File A File B

File A

Thread 1

Deadlock

9

File B

Thread 2

Tuesday, July 23, 13

Page 20: Unlocked Workshop OSCON 2013 - Part II

File A File B

File A

Thread 1

Deadlock

9

File B

Thread 2

Tuesday, July 23, 13

Page 21: Unlocked Workshop OSCON 2013 - Part II

File A File B

File A

Thread 1

Deadlock

9

X

File B

Thread 2

Tuesday, July 23, 13

Page 22: Unlocked Workshop OSCON 2013 - Part II

File A File B

File A

Thread 1

Deadlock

9

X

File B

Thread 2

Tuesday, July 23, 13

Page 23: Unlocked Workshop OSCON 2013 - Part II

File A File B

File A

Thread 1

Deadlock

9

X X

File B

Thread 2

Tuesday, July 23, 13

Page 24: Unlocked Workshop OSCON 2013 - Part II

Solution? Scheduling

Y

XA

B

A

B

Y

X

1

2

3

4

10

Tuesday, July 23, 13

Page 25: Unlocked Workshop OSCON 2013 - Part II

1M records

Answer

Node

1M records

Answer

Node1-250K

Node251K-500K

Node501K-750K

Node750K-1M

11

Tuesday, July 23, 13

Page 26: Unlocked Workshop OSCON 2013 - Part II

1M records

Answer

Node

1M records

Answer

Node1-250K

Node251K-500K

Node501K-750K

Node750K-1M

11

Tuesday, July 23, 13

Page 27: Unlocked Workshop OSCON 2013 - Part II

12

Tuesday, July 23, 13

Page 28: Unlocked Workshop OSCON 2013 - Part II

13

Tuesday, July 23, 13

Page 29: Unlocked Workshop OSCON 2013 - Part II

pillar #2: modular

Tuesday, July 23, 13

Page 30: Unlocked Workshop OSCON 2013 - Part II

ONE PERSON BUILDS A CAR

15

Tuesday, July 23, 13

Page 31: Unlocked Workshop OSCON 2013 - Part II

CHASSIS ENGINE BODY INTERIOR

16

Tuesday, July 23, 13

Page 32: Unlocked Workshop OSCON 2013 - Part II

CHASSIS ENGINE BODY INTERIOR

17

Tuesday, July 23, 13

Page 33: Unlocked Workshop OSCON 2013 - Part II

CHASSIS ENGINE BODY INTERIOR

18

Tuesday, July 23, 13

Page 34: Unlocked Workshop OSCON 2013 - Part II

CHASSIS ENGINE BODY INTERIOR

SEATS FLOOR

DASHBOARD

GASAND

BRAKE PEDALS

18

Tuesday, July 23, 13

Page 35: Unlocked Workshop OSCON 2013 - Part II

CHASSIS ENGINE BODY INTERIOR

19

Tuesday, July 23, 13

Page 36: Unlocked Workshop OSCON 2013 - Part II

CHASSIS ENGINE BODY INTERIOR

20

Tuesday, July 23, 13

Page 37: Unlocked Workshop OSCON 2013 - Part II

defect

CHASSIS ENGINE BODY INTERIOR

20

Tuesday, July 23, 13

Page 38: Unlocked Workshop OSCON 2013 - Part II

defect defect

CHASSIS ENGINE BODY INTERIOR

20

Tuesday, July 23, 13

Page 39: Unlocked Workshop OSCON 2013 - Part II

defect defect defect

CHASSIS ENGINE BODY INTERIOR

20

Tuesday, July 23, 13

Page 40: Unlocked Workshop OSCON 2013 - Part II

defect defect defectdefectCHASSIS ENGINE BODY INTERIOR

20

Tuesday, July 23, 13

Page 41: Unlocked Workshop OSCON 2013 - Part II

defect defect defectdefect LEMONCHASSIS ENGINE BODY INTERIOR

20

Tuesday, July 23, 13

Page 42: Unlocked Workshop OSCON 2013 - Part II

Pillar #3:horizontal

Tuesday, July 23, 13

Page 43: Unlocked Workshop OSCON 2013 - Part II

2 GB2 CORES

22

8 GB4 CORES

Tuesday, July 23, 13

Page 44: Unlocked Workshop OSCON 2013 - Part II

2 GB2 CORES

VERTICAL

22

8 GB4 CORES

Tuesday, July 23, 13

Page 45: Unlocked Workshop OSCON 2013 - Part II

2 GB2 CORES

VERTICAL

22

8 GB4 CORES

Tuesday, July 23, 13

Page 46: Unlocked Workshop OSCON 2013 - Part II

2 GB2 CORES

VERTICAL

HORIZONTAL

22

8 GB4 CORES

Tuesday, July 23, 13

Page 47: Unlocked Workshop OSCON 2013 - Part II

2 GB2 CORES

VERTICAL

HORIZONTAL

22

8 GB4 CORES

Tuesday, July 23, 13

Page 48: Unlocked Workshop OSCON 2013 - Part II

2 GB2 CORES

2 GB2 CORES

VERTICAL

HORIZONTAL

22

8 GB4 CORES

Tuesday, July 23, 13

Page 49: Unlocked Workshop OSCON 2013 - Part II

2 GB2 CORES

2 GB2 CORES

2 GB2 CORES

VERTICAL

HORIZONTAL

22

8 GB4 CORES

Tuesday, July 23, 13

Page 50: Unlocked Workshop OSCON 2013 - Part II

2 GB2 CORES

2 GB2 CORES

2 GB2 CORES

2 GB2 CORES

VERTICAL

HORIZONTAL

22

8 GB4 CORES

Tuesday, July 23, 13

Page 51: Unlocked Workshop OSCON 2013 - Part II

2 GB2 CORES

2 GB2 CORES

2 GB2 CORES

2 GB2 CORES

2 GB2 CORES

VERTICAL

HORIZONTAL

22

8 GB4 CORES

Tuesday, July 23, 13

Page 52: Unlocked Workshop OSCON 2013 - Part II

2 GB2 CORES

2 GB2 CORES

2 GB2 CORES

2 GB2 CORES

2 GB2 CORES

2 GB2 CORES

VERTICAL

HORIZONTAL

22

8 GB4 CORES

Tuesday, July 23, 13

Page 53: Unlocked Workshop OSCON 2013 - Part II

2 GB2 CORES

2 GB2 CORES

2 GB2 CORES

2 GB2 CORES

2 GB2 CORES

2 GB2 CORES

2 GB2 CORES

VERTICAL

HORIZONTAL

22

8 GB4 CORES

Tuesday, July 23, 13

Page 54: Unlocked Workshop OSCON 2013 - Part II

2 GB2 CORES

2 GB2 CORES

2 GB2 CORES

2 GB2 CORES

2 GB2 CORES

2 GB2 CORES

2 GB2 CORES

VERTICAL

HORIZONTAL

SHARED NOTHING THROUGH STATELESSNESS

22

8 GB4 CORES

Tuesday, July 23, 13

Page 55: Unlocked Workshop OSCON 2013 - Part II

2 GB2 CORES

2 GB2 CORES

2 GB2 CORES

2 GB2 CORES

2 GB2 CORES

2 GB2 CORES

VERTICAL

HORIZONTAL

SHARED NOTHING THROUGH STATELESSNESS

22

8 GB4 CORES

Tuesday, July 23, 13

Page 56: Unlocked Workshop OSCON 2013 - Part II

2 GB2 CORES

2 GB2 CORES

2 GB2 CORES

2 GB2 CORES

2 GB2 CORES

2 GB2 CORES

VERTICAL

HORIZONTAL

SHARED NOTHING THROUGH STATELESSNESS

2 GB2 CORES

22

8 GB4 CORES

Tuesday, July 23, 13

Page 57: Unlocked Workshop OSCON 2013 - Part II

23

Tuesday, July 23, 13

Page 58: Unlocked Workshop OSCON 2013 - Part II

24

Tuesday, July 23, 13

Page 59: Unlocked Workshop OSCON 2013 - Part II

ONE SERVER NEAR

CAPACITY

24

Tuesday, July 23, 13

Page 60: Unlocked Workshop OSCON 2013 - Part II

ONE SERVER NEAR

CAPACITY

ADD ANOTHER SERVER

24

Tuesday, July 23, 13

Page 61: Unlocked Workshop OSCON 2013 - Part II

ONE SERVER NEAR

CAPACITY

ADD ANOTHER SERVER

25

Tuesday, July 23, 13

Page 62: Unlocked Workshop OSCON 2013 - Part II

1234 MESSAGE QUEUE

26

Tuesday, July 23, 13

Page 63: Unlocked Workshop OSCON 2013 - Part II

1234MESSAGE QUEUE

27

Tuesday, July 23, 13

Page 64: Unlocked Workshop OSCON 2013 - Part II

1

2

3

4

28

MESSAGE QUEUE

Tuesday, July 23, 13

Page 65: Unlocked Workshop OSCON 2013 - Part II

1

2

3

4

28

56789101112 MESSAGE QUEUE

Tuesday, July 23, 13

Page 66: Unlocked Workshop OSCON 2013 - Part II

29

5678 9101112MESSAGE QUEUE

1

2

3

4

Tuesday, July 23, 13

Page 67: Unlocked Workshop OSCON 2013 - Part II

29

5678 9101112

ADD MORE SERVERSBASED ON

MESSAGE QUEUE

MESSAGE QUEUE

1

2

3

4

Tuesday, July 23, 13

Page 68: Unlocked Workshop OSCON 2013 - Part II

MESSAGE QUEUE

30

5

6

7

8

9

10

11

12

13141516

ADD MORE SERVERSBASED ON

MESSAGE QUEUE

1

2

3

4

Tuesday, July 23, 13

Page 69: Unlocked Workshop OSCON 2013 - Part II

31

5678 9101112

13141516

ADD MORE SERVERSBASED ON

MESSAGE QUEUE

1234

MESSAGE QUEUE

Tuesday, July 23, 13

Page 70: Unlocked Workshop OSCON 2013 - Part II

32

5678 9101112

13141516

ADD MORE SERVERSBASED ON

MESSAGE QUEUE

1234

MESSAGE QUEUE

Tuesday, July 23, 13

Page 71: Unlocked Workshop OSCON 2013 - Part II

33

5678 9101112

13141516

ADD MORE SERVERSBASED ON

MESSAGE QUEUE1234

MESSAGE QUEUE

Tuesday, July 23, 13

Page 72: Unlocked Workshop OSCON 2013 - Part II

33

5678 9101112

13141516

ADD MORE SERVERSBASED ON

MESSAGE QUEUE1234

MESSAGE QUEUE

DECREASE SERVERSBASED ON

MESSAGE QUEUE

Tuesday, July 23, 13

Page 73: Unlocked Workshop OSCON 2013 - Part II

MESSAGE QUEUE

34

5678 9101112

13

14

15

16

ADD MORE SERVERSBASED ON

MESSAGE QUEUE1234

DECREASE SERVERSBASED ON

MESSAGE QUEUE

Tuesday, July 23, 13

Page 74: Unlocked Workshop OSCON 2013 - Part II

Pillar #4:agile

Tuesday, July 23, 13

Page 75: Unlocked Workshop OSCON 2013 - Part II

36

Tuesday, July 23, 13

Page 76: Unlocked Workshop OSCON 2013 - Part II

Features In Progress Blocked Tabled Testing Complete

Feature A

Feature B

Feature C

37

Agile - why Monday

Tuesday, July 23, 13

Page 77: Unlocked Workshop OSCON 2013 - Part II

Agile - why

Features In Progress Blocked Tabled Testing Complete

Feature A

Feature B

Feature C

38

Tuesday

Tuesday, July 23, 13

Page 78: Unlocked Workshop OSCON 2013 - Part II

Agile - why

Features In Progress Blocked Tabled Testing Complete

Feature A

Feature B

Feature C

Feature E

Feature D

38

Tuesday

Tuesday, July 23, 13

Page 79: Unlocked Workshop OSCON 2013 - Part II

Features In Progress Blocked Tabled Testing Complete

Feature AFeature BFeature C

Feature E

Feature G

Agile - why

39

Wednesday

Tuesday, July 23, 13

Page 80: Unlocked Workshop OSCON 2013 - Part II

Features In Progress Blocked Tabled Testing Complete

Feature AFeature BFeature C

Feature E

Feature D

Feature F

Feature G

Agile - why

39

Wednesday

Tuesday, July 23, 13

Page 81: Unlocked Workshop OSCON 2013 - Part II

Features In Progress Blocked Tabled Testing Complete

Feature A

Feature B

Feature C

Feature E

Feature D

Feature F

Feature G

Agile - why

40

Friday

Tuesday, July 23, 13

Page 82: Unlocked Workshop OSCON 2013 - Part II

Features In Progress Blocked Tabled Testing Complete

Feature A

Feature B

Feature C

Feature E

Feature D

Feature F

Feature G

Feature H

Feature I

Agile - why

40

Friday

Tuesday, July 23, 13

Page 83: Unlocked Workshop OSCON 2013 - Part II

Features In Progress Blocked Tabled Testing Complete

Feature A

Feature B

Feature C

Feature EFeature D

Feature F

Feature G

Feature H

Feature I

Agile - why

41

Friday - WK 2

Tuesday, July 23, 13

Page 84: Unlocked Workshop OSCON 2013 - Part II

Agile - why

57%

14%

29%

Failed Successful Challenged

49%

42%

9%

Waterfall Agile

Source: The CHAOS Manifesto, The Standish Group, 2012

42

Tuesday, July 23, 13

Page 85: Unlocked Workshop OSCON 2013 - Part II

43

Continuous Integration/Continuous Delivery

Tuesday, July 23, 13

Page 86: Unlocked Workshop OSCON 2013 - Part II

44

Quality

Tuesday, July 23, 13

Page 87: Unlocked Workshop OSCON 2013 - Part II

45

Release Cycle

Tuesday, July 23, 13

Page 88: Unlocked Workshop OSCON 2013 - Part II

IMAGE: blogs.bu.edu

46

Tuesday, July 23, 13

Page 89: Unlocked Workshop OSCON 2013 - Part II

47

Lint Testing

Test Driven Development

Functional Testing

Black Box

Integration Testing

Unit Testing

Behavior Driven Development

White Box

Smoke Testing

Acceptance Testing

Tuesday, July 23, 13

Page 90: Unlocked Workshop OSCON 2013 - Part II

ENSURES QUALITY

47

Lint Testing

Test Driven Development

Functional Testing

Black Box

Integration Testing

Unit Testing

Behavior Driven Development

White Box

Smoke Testing

Acceptance Testing

Tuesday, July 23, 13

Page 91: Unlocked Workshop OSCON 2013 - Part II

48

Lint Testing

Test Driven Development

Functional Testing

Black Box

Integration Testing

Unit Testing

Behavior Driven Development

White Box

Smoke Testing

Acceptance Testing

Tuesday, July 23, 13

Page 92: Unlocked Workshop OSCON 2013 - Part II

ENSURES CONFIDENCE

48

Lint Testing

Test Driven Development

Functional Testing

Black Box

Integration Testing

Unit Testing

Behavior Driven Development

White Box

Smoke Testing

Acceptance Testing

Tuesday, July 23, 13

Page 93: Unlocked Workshop OSCON 2013 - Part II

Pillar #5:secure

Tuesday, July 23, 13

Page 94: Unlocked Workshop OSCON 2013 - Part II

50

Tuesday, July 23, 13

Page 95: Unlocked Workshop OSCON 2013 - Part II

51

PRESENTATION

APPLICATION

STORAGE

Tuesday, July 23, 13

Page 96: Unlocked Workshop OSCON 2013 - Part II

51

PRESENTATION

APPLICATION

STORAGE

INTERFACESECURITYACROSS ALL LAYERS

Tuesday, July 23, 13

Page 97: Unlocked Workshop OSCON 2013 - Part II

52

Tuesday, July 23, 13

Page 98: Unlocked Workshop OSCON 2013 - Part II

53

Host-based Authentication

Tuesday, July 23, 13

Page 99: Unlocked Workshop OSCON 2013 - Part II

54

User Authentication

Tuesday, July 23, 13

Page 100: Unlocked Workshop OSCON 2013 - Part II

55

Hybrid Cloud

Tuesday, July 23, 13

Page 101: Unlocked Workshop OSCON 2013 - Part II

56

Trustworthiness as an Organization

Tuesday, July 23, 13

Page 102: Unlocked Workshop OSCON 2013 - Part II

APPLICATION dissection

alex brandtsr developer

wayne wallscloud evangelist

Tuesday, July 23, 13

Page 103: Unlocked Workshop OSCON 2013 - Part II

Data Schema

•articles• url

• text

• tags-index

• notations

• location

• note

• votes

• created_at-index

• etag

• parsed_at

•users• username-unique index

• email

• name

• hash (md5)

58

•subscribers• uuid4-user

• uuid4-bookmark

• subscribed_at

Tuesday, July 23, 13

Page 104: Unlocked Workshop OSCON 2013 - Part II

LB

FRONT END API

MQ

CONSUMER

LB

KEY/VALUESTORE

DOCUMENTSTORE

INTERNET

Routing

•Topic

•users

•articles

•Fanout

•article.sanitize

•article.references

Consumers

•create user

•password user

•article reference

•email user

•create article

•article sanitize

OBJECTSTORE

Tuesday, July 23, 13

Page 105: Unlocked Workshop OSCON 2013 - Part II

LB

FRONT END API

MQ

CONSUMER

LB

KEY/VALUESTORE

DOCUMENTSTORE

INTERNET

Routing

•Topic

•users

•articles

•Fanout

•article.sanitize

•article.references

Consumers

•create user

•password user

•article reference

•email user

•create article

•article sanitize

OBJECTSTORE Parallel

Modular

Horizontally scalable

Agile

Secure

Tuesday, July 23, 13

Page 106: Unlocked Workshop OSCON 2013 - Part II

LB

FRONT END API

MQ

CONSUMER

LB

KEY/VALUESTORE

DOCUMENTSTORE

INTERNET

Routing

•Topic

•users

•articles

•Fanout

•article.sanitize

•article.references

Consumers

•create user

•password user

•article reference

•email user

•create article

•article sanitize

OBJECTSTORE Parallel

Modular

Horizontally scalable

Agile

Secure

Tuesday, July 23, 13

Page 107: Unlocked Workshop OSCON 2013 - Part II

LB

FRONT END API

MQ

CONSUMER

LB

KEY/VALUESTORE

DOCUMENTSTORE

INTERNET

Routing

•Topic

•users

•articles

•Fanout

•article.sanitize

•article.references

Consumers

•create user

•password user

•article reference

•email user

•create article

•article sanitize

OBJECTSTORE Parallel

Modular

Horizontally scalable

Agile

Secure

Tuesday, July 23, 13

Page 108: Unlocked Workshop OSCON 2013 - Part II

LB

FRONT END API

MQ

CONSUMER

LB

KEY/VALUESTORE

DOCUMENTSTORE

INTERNET

Routing

•Topic

•users

•articles

•Fanout

•article.sanitize

•article.references

Consumers

•create user

•password user

•article reference

•email user

•create article

•article sanitize

OBJECTSTORE Parallel

Modular

Horizontally scalable

Agile

Secure

Tuesday, July 23, 13

Page 109: Unlocked Workshop OSCON 2013 - Part II

KEY/VALUESTORE

OBJECTSTORE

LB

FRONT END API

MQ

CONSUMER

LB

DOCUMENTSTORE

INTERNET

Routing

•Topic

•users

•articles

•Fanout

•article.sanitize

•article.references

Consumers

•create user

•password user

•article reference

•email user

•create article

•article sanitize

Parallel

Modular

Horizontally scalable

Agile

Secure

Tuesday, July 23, 13

Page 110: Unlocked Workshop OSCON 2013 - Part II

65

https://github.com/raxsavvy/margarine

Thank You!

@rackspace@waynewalls@hhoover@alunduil

Tuesday, July 23, 13