effectively culturing a healthy culture and workflow - jeff pierce - devopsdays tel aviv 2016

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

Upload: devopsdays-tel-aviv

Post on 06-Jan-2017

139 views

Category:

Technology


0 download

TRANSCRIPT

Effectively Culturing a Healthy Culture And

WorkflowDevOps Days Tel Aviv 2016

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

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

Culture and Workflow

Culture and Workflow• Personal Responsibility

Culture and Workflow• Personal Responsibility

• Choose an application architecture philosophy and stick to it!

Culture and Workflow• Personal Responsibility

• Choose an application architecture philosophy and stick to it!

• Make important decisions before you’re under fire

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

Personal Responsibility

Personal Responsibility

Personal Responsibility• Developers deploy their own code

Personal Responsibility• Developers deploy their own code

• Requires a strong CI/CD toolchain to get code checked and deployed fast

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!

Personal Responsibility• All Hands Pager!

Personal Responsibility• All Hands Pager!

• Requires a strong set of runbooks for troubleshooting

Personal Responsibility• All Hands Pager!

• Requires a strong set of runbooks for troubleshooting

• Spreads around the pain of on-call duty

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…

Pick an application architecture philosophy…and stick with it!

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

Pick an application architecture philosophy…and stick with it!

• Makes on-boarding new engineers faster!

Pick an application architecture philosophy…and stick with it!

• Makes on-boarding new engineers faster!

• Makes tooling more portable/reusable

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!

Make decisions when you aren’t under fire!

Make decisions when you aren’t under fire!

• Mistakes are made when planning is rushed

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

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

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!

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.

Use existing tools when possible

Use existing tools when possible

• Using tools your company already uses…

Use existing tools when possible

• Using tools your company already uses…

• Reduces training

Use existing tools when possible

• Using tools your company already uses…

• Reduces training

• Requires less engineering

Use existing tools when possible

• Using tools your company already uses…

• Reduces training

• Requires less engineering

• Saves time and money

Be the change you want to see!

Or, how do I actually get all this in place?!

Be the change you want to see

• Find a compelling story

Be the change you want to see

• Find a compelling story

• Identify key stakeholders

Be the change you want to see

• Find a compelling story

• Identify key stakeholders

• Engage those key stakeholders

Be the change you want to see

• Find a compelling story

• Identify key stakeholders

• Engage those key stakeholders

• Make a business case

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

Winners ask questions!