everything as code

Post on 05-Sep-2014

970 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

everything as code

hart hoovercloud evangelist

Wednesday, August 21, 13

WHAT IS devops?

2

Wednesday, August 21, 13

3

Culture & Work Methodology

Wednesday, August 21, 13

4

What Does DevOps Enable?

Wednesday, August 21, 13

5

Wednesday, August 21, 13

6

Wednesday, August 21, 13

7

Wednesday, August 21, 13

8

Tooling

Wednesday, August 21, 13

9

Wednesday, August 21, 13

10

Wednesday, August 21, 13

11

Gerrit

Wednesday, August 21, 13

12

Wednesday, August 21, 13

13

Deployment Strategies

Wednesday, August 21, 13

14

Wednesday, August 21, 13

15

Wednesday, August 21, 13

16

Wednesday, August 21, 13

17

Cookbooks

Nodes(chef-client)

ChefServer HTTPS

Workstation

knife

Wednesday, August 21, 13

•Nodes: Servers

•Environments: Groups of nodes (Dev/QA/Prod)

•Recipes: Describes the desired state of a node

•Cookbooks: Group of Recipes

•Roles: Group of Cookbooks (Web)

•Attribute: information about the current state of a node

18

Wednesday, August 21, 13

CHEF TOOLS

19

Test Kitchen

berkshelffoodcritic

Vagrant

Wednesday, August 21, 13

20

Wednesday, August 21, 13

21

Manifests

Agents

PuppetMaster HTTPS

PuppetCA

Wednesday, August 21, 13

•Nodes: Servers

•Environments: Groups of nodes (Dev/QA/Prod)

•Manifests: Describes the desired state of a node

•Catalog: Group of Manifests

•Facts: information about the current state of a node

22

Wednesday, August 21, 13

PUPPET TOOLS

23

Test Kitchen - soon

librarian-puppetpuppet-lint

Vagrant

Wednesday, August 21, 13

PUPPET vs. CHEF

24

Wednesday, August 21, 13

25

Wednesday, August 21, 13

26

States

Minions

Master

Wednesday, August 21, 13

•Nodes: Minions

•Environments: Groups of nodes (Dev/QA/Prod)

•States: Describes the desired state of a node

•Grains: information about the current state of a node

27

Wednesday, August 21, 13

28

Wednesday, August 21, 13

29

SSH

Playbooks

Hosts

Wednesday, August 21, 13

•Hosts: Servers

•Groups: Groups of Hosts (Dev/QA/Prod)

•Play: Describes the desired state of a Host.

•Playbook: Group of Plays

•Roles: Group of Hosts (Web)

•Facts: information about the current state of a Host.

30

Wednesday, August 21, 13

ANSIBLE vs. SALTSTACK

31

Wednesday, August 21, 13

32

Measure All the Things

Wednesday, August 21, 13

CollectD + GRAPHITE

33

Wednesday, August 21, 13

CollectD + GRAPHITE

34

Wednesday, August 21, 13

CollectD + GRAPHITE

35

Wednesday, August 21, 13

NAGIOS

36

NAGIOS

Linux

Windows

Networking

NSClient++

NRPE

SNMP

Wednesday, August 21, 13

NAGIOS PluGINS

37

Wednesday, August 21, 13

38

• Application Monitoring Service

• Agent-based

• Plugins

Wednesday, August 21, 13

39

Automate All the Things

Wednesday, August 21, 13

40

Wednesday, August 21, 13

41

Wednesday, August 21, 13

41

Wednesday, August 21, 13

41

Wednesday, August 21, 13

41

Wednesday, August 21, 13

41

Wednesday, August 21, 13

42

SOME OF THESE != SUCCESS

Wednesday, August 21, 13

43

NO CULTURE BUY-IN = NO DEVOPS

Wednesday, August 21, 13

44

SOFTWARE DEVELOPMENT LIFECYCLE

Wednesday, August 21, 13

45

Wednesday, August 21, 13

45

DEV OPS+

Wednesday, August 21, 13

45

DEV OPS+ QA+

Wednesday, August 21, 13

45

DEV OPS+ QA+

=

DEVOPS

Wednesday, August 21, 13

How to Embrace DevOps

46

SCRUM KANBAN AGILE

Wednesday, August 21, 13

SCRUM

47

Scrum Master

Product Owner Developers

Wednesday, August 21, 13

Product Backlog

Sprint Backlog Sprint Working increment

of the software

48

1. Design

5. QA 2. Build

4. Release 3. Configure

Wednesday, August 21, 13

49

1. Design

5. QA 2. Build

4. Release 3. Configure

Wednesday, August 21, 13

SCRUM: KEY MEETINGS

50

Backlog Grooming

Sprint Planning

Daily Scrum

Sprint Review

Sprint Retrospective

Wednesday, August 21, 13

Features In Progress Blocked Tabled Testing Complete

Feature A

Feature B

Feature C

51

KANBAN

Wednesday, August 21, 13

Features In Progress Blocked Tabled Testing Complete

Feature A

Feature B

Feature C

52

KANBAN

Wednesday, August 21, 13

Features In Progress Blocked Tabled Testing Complete

Feature A

Feature B

Feature C

Feature E

Feature D

52

KANBAN

Wednesday, August 21, 13

Features In Progress Blocked Tabled Testing Complete

Feature AFeature BFeature C

Feature E

Feature G

53

KANBAN

Wednesday, August 21, 13

Features In Progress Blocked Tabled Testing Complete

Feature AFeature BFeature C

Feature E

Feature D

Feature F

Feature G

53

KANBAN

Wednesday, August 21, 13

Features In Progress Blocked Tabled Testing Complete

Feature A

Feature B

Feature C

Feature E

Feature D

Feature F

Feature G

54

KANBAN

Wednesday, August 21, 13

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

54

KANBAN

Wednesday, August 21, 13

Features In Progress Blocked Tabled Testing Complete

Feature A

Feature B

Feature C

Feature EFeature D

Feature F

Feature G

Feature H

Feature I

55

KANBAN

Wednesday, August 21, 13

AGILE DEVELOPMENT

• Individuals and interactions over process and tools

• Working software over comprehensive documentation

• Customer collaboration over contract negotiation• Responding to change over following a plan

56

Wednesday, August 21, 13

AGILE TEAMS

57

Traditional Teams AGILE Teams

Project Manager /Team Lead

Servant Leader /Facilitator

Self-Organized

Wednesday, August 21, 13

CONTINUOUS DELIVERY

58

Wednesday, August 21, 13

59

Same Problems

Wednesday, August 21, 13

60

What Version is in Production?

Wednesday, August 21, 13

61

Issues are Found, Fixed & Redeployed Quickly

Wednesday, August 21, 13

62

Test as You Develop

Wednesday, August 21, 13

63

Same Best Practices

Wednesday, August 21, 13

64

Tag, Branch & Release Code that Defines Infra

Wednesday, August 21, 13

65

Coverage Lifecycle Over Various Stages

Wednesday, August 21, 13

66

Continuously Test

Wednesday, August 21, 13

67

Wednesday, August 21, 13

68

Wednesday, August 21, 13

69

Wednesday, August 21, 13

69

Wednesday, August 21, 13

70

Wednesday, August 21, 13

70

INDUSTRY STANDARD!

Wednesday, August 21, 13

70

INDUSTRY STANDARD!

OPEN SOURCE!

Wednesday, August 21, 13

70

THEMES!

INDUSTRY STANDARD!

OPEN SOURCE!

Wednesday, August 21, 13

70

THEMES!

PLUGINS!

INDUSTRY STANDARD!

OPEN SOURCE!

Wednesday, August 21, 13

70

THEMES!

PLUGINS!

INDUSTRY STANDARD!

OPEN SOURCE!

WE KNOW IT!

Wednesday, August 21, 13

71

Wednesday, August 21, 13

72

Wednesday, August 21, 13

So What Happened?

Why Change?

Wednesday, August 21, 13

74

Scaling WordPress is complicated

Wednesday, August 21, 13

74

Scaling WordPress is complicated

Wednesday, August 21, 13

75

Our process was terrible

Wednesday, August 21, 13

75

•Someone emails one of us a post

Our process was terrible

Wednesday, August 21, 13

75

•Someone emails one of us a post

•We read it and send it back to them for revisions.

Our process was terrible

Wednesday, August 21, 13

75

•Someone emails one of us a post

•We read it and send it back to them for revisions.

•They rewrite it and send us a new file... via email.

Our process was terrible

Wednesday, August 21, 13

75

•Someone emails one of us a post

•We read it and send it back to them for revisions.

•They rewrite it and send us a new file... via email.

•Round and round we go.

Our process was terrible

Wednesday, August 21, 13

75

•Someone emails one of us a post

•We read it and send it back to them for revisions.

•They rewrite it and send us a new file... via email.

•Round and round we go.

•We email the finished article to our editor, Andrew.

Our process was terrible

Wednesday, August 21, 13

75

•Someone emails one of us a post

•We read it and send it back to them for revisions.

•They rewrite it and send us a new file... via email.

•Round and round we go.

•We email the finished article to our editor, Andrew.

•Andrew emails us a different copy with his edits.

Our process was terrible

Wednesday, August 21, 13

75

•Someone emails one of us a post

•We read it and send it back to them for revisions.

•They rewrite it and send us a new file... via email.

•Round and round we go.

•We email the finished article to our editor, Andrew.

•Andrew emails us a different copy with his edits.

•We copy/paste into WordPress and post.

Our process was terrible

Wednesday, August 21, 13

76

Wednesday, August 21, 13

77

OCTOPRESS

Wednesday, August 21, 13

78

OCTOPRESS

+

Wednesday, August 21, 13

79

Rackspace Cloud Files is GLOBAL

Wednesday, August 21, 13

80

Rackspace Cloud Files is CHEAP

Wednesday, August 21, 13

81

Wednesday, August 21, 13

82

Wednesday, August 21, 13

82

Wednesday, August 21, 13

82

http://github.com/rackerlabs/devsite

Wednesday, August 21, 13

83

Our new process is awesome

Wednesday, August 21, 13

83

•Someone forks our GitHub repo

Our new process is awesome

Wednesday, August 21, 13

83

•Someone forks our GitHub repo

•They write a post: rake new_post[‘Some post’]

Our new process is awesome

Wednesday, August 21, 13

83

•Someone forks our GitHub repo

•They write a post: rake new_post[‘Some post’]

•They submit a pull request to us.

Our new process is awesome

Wednesday, August 21, 13

83

•Someone forks our GitHub repo

•They write a post: rake new_post[‘Some post’]

•They submit a pull request to us.

•We revise it via a GitHub discussion

Our new process is awesome

Wednesday, August 21, 13

83

•Someone forks our GitHub repo

•They write a post: rake new_post[‘Some post’]

•They submit a pull request to us.

•We revise it via a GitHub discussion

•We merge the commit.

Our new process is awesome

Wednesday, August 21, 13

83

•Someone forks our GitHub repo

•They write a post: rake new_post[‘Some post’]

•They submit a pull request to us.

•We revise it via a GitHub discussion

•We merge the commit.

•DEPLOY!

Our new process is awesome

Wednesday, August 21, 13

84

Wednesday, August 21, 13

85

Wednesday, August 21, 13

86

DEMO TIME

Wednesday, August 21, 13

86

DEMO TIME

MAYBE

?

Wednesday, August 21, 13

87

Wednesday, August 21, 13

88

Wednesday, August 21, 13

Conclusions...

Wednesday, August 21, 13

90

Wednesday, August 21, 13

91

+

Wednesday, August 21, 13

92

OCTOPRESS

+

Wednesday, August 21, 13

93

Wednesday, August 21, 13

ENJOY YOURLUNCH!

Wednesday, August 21, 13

top related