Slide 1

Slide 1 text

Effectively Culturing a Healthy Culture And Workflow DevOps Days Tel Aviv 2016

Slide 2

Slide 2 text

Jeff Pierce Operations Eng @ Remind https://remind.com [email protected] https://github.com/jeffpierce @Th3Technomancer https://speakerdeck.com/ technomancer

Slide 3

Slide 3 text

About Jeff • Stints at Apple, Rackspace, and change.org • Project Lead and Developer on Cassabon (https:// github.com/jeffpierce/ cassabon) • Blogs infrequently at almostinteresting.net

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

Culture and Workflow

Slide 6

Slide 6 text

Culture and Workflow • Personal Responsibility

Slide 7

Slide 7 text

Culture and Workflow • Personal Responsibility • Choose an application architecture philosophy and stick to it!

Slide 8

Slide 8 text

Culture and Workflow • Personal Responsibility • Choose an application architecture philosophy and stick to it! • Make important decisions before you’re under fire

Slide 9

Slide 9 text

Culture and Workflow • Personal Responsibility • Choose an application architecture philosophy and stick to it! • Make important decisions before you’re under fire • Use existing tools whenever possible

Slide 10

Slide 10 text

Personal Responsibility

Slide 11

Slide 11 text

Personal Responsibility

Slide 12

Slide 12 text

Personal Responsibility • Developers deploy their own code

Slide 13

Slide 13 text

Personal Responsibility • Developers deploy their own code • Requires a strong CI/CD toolchain to get code checked and deployed fast

Slide 14

Slide 14 text

Personal Responsibility • Developers deploy their own code • Requires a strong CI/CD toolchain to get code checked and deployed fast • Requires a robust infrastructure plan that makes rolling back bad deploys easy — like immutable servers!

Slide 15

Slide 15 text

Personal Responsibility • All Hands Pager!

Slide 16

Slide 16 text

Personal Responsibility • All Hands Pager! • Requires a strong set of runbooks for troubleshooting

Slide 17

Slide 17 text

Personal Responsibility • All Hands Pager! • Requires a strong set of runbooks for troubleshooting • Spreads around the pain of on-call duty

Slide 18

Slide 18 text

Personal Responsibility • All Hands Pager! • Requires a strong set of runbooks for troubleshooting • Spreads around the pain of on-call duty • It helps to have a common architecture philosophy to make troubleshooting individual applications easier…

Slide 19

Slide 19 text

Pick an application architecture philosophy…and stick with it!

Slide 20

Slide 20 text

Pick an application architecture philosophy…and stick with it! • 12 Factor App (https://12factor.net) • Use declarative formats for setup automation, to minimize time and cost for new developers joining the project; • Have a clean contract with the underlying operating system, offering maximum portability between execution environments; • Are suitable for deployment on modern cloud platforms, obviating the need for servers and systems administration; • Minimize divergence between development and production, enabling continuous deployment for maximum agility; • And can scale up without significant changes to tooling, architecture, or development practices

Slide 21

Slide 21 text

Pick an application architecture philosophy…and stick with it! • Makes on-boarding new engineers faster!

Slide 22

Slide 22 text

Pick an application architecture philosophy…and stick with it! • Makes on-boarding new engineers faster! • Makes tooling more portable/reusable

Slide 23

Slide 23 text

Pick an application architecture philosophy…and stick with it! • Makes on-boarding new engineers faster! • Makes tooling more portable/reusable • Makes planning for new applications and microservices a breeze!

Slide 24

Slide 24 text

Make decisions when you aren’t under fire!

Slide 25

Slide 25 text

Make decisions when you aren’t under fire! • Mistakes are made when planning is rushed

Slide 26

Slide 26 text

Make decisions when you aren’t under fire! • Mistakes are made when planning is rushed • Plan your objectives on a yearly, quarterly, and per- sprint basis

Slide 27

Slide 27 text

Make decisions when you aren’t under fire! • Mistakes are made when planning is rushed • Plan your objectives on a yearly, quarterly, and per- sprint basis • Write runbooks to remove the amount of thought required at 03:25 and it all goes to hell

Slide 28

Slide 28 text

Make decisions when you aren’t under fire! • Mistakes are made when planning is rushed • Plan your objectives on a yearly, quarterly, and per- sprint basis • Write runbooks to remove the amount of thought required at 03:25 and it all goes to hell • DevOps/Infrastructure teams: Sit in on feature planning!

Slide 29

Slide 29 text

Make decisions when you aren’t under fire! • Mistakes are made when planning is rushed • Plan your objectives on a yearly, quarterly, and per- sprint basis • Write runbooks to remove the amount of thought required at 03:25 and it all goes to hell • DevOps/Infrastructure teams: Sit in on feature planning! • Be proactive, not reactive.

Slide 30

Slide 30 text

Use existing tools when possible

Slide 31

Slide 31 text

Use existing tools when possible • Using tools your company already uses…

Slide 32

Slide 32 text

Use existing tools when possible • Using tools your company already uses… • Reduces training

Slide 33

Slide 33 text

Use existing tools when possible • Using tools your company already uses… • Reduces training • Requires less engineering

Slide 34

Slide 34 text

Use existing tools when possible • Using tools your company already uses… • Reduces training • Requires less engineering • Saves time and money

Slide 35

Slide 35 text

Be the change you want to see! Or, how do I actually get all this in place?!

Slide 36

Slide 36 text

Be the change you want to see • Find a compelling story

Slide 37

Slide 37 text

Be the change you want to see • Find a compelling story • Identify key stakeholders

Slide 38

Slide 38 text

Be the change you want to see • Find a compelling story • Identify key stakeholders • Engage those key stakeholders

Slide 39

Slide 39 text

Be the change you want to see • Find a compelling story • Identify key stakeholders • Engage those key stakeholders • Make a business case

Slide 40

Slide 40 text

Be the change you want to see • Find a compelling story • Identify key stakeholders • Engage those key stakeholders • Make a business case • Prototype your plan

Slide 41

Slide 41 text

Winners ask questions!