homeops - reasoning about devops at home
TRANSCRIPT
HOMEOPSDevOps in Your Everyday Life
Boyd Hemphill - Technology Evangelist - @behemphi
@behemphi
GOALS
Provide a basis for understanding DevOps
@behemphi
GOALS
Provide a basis for understanding DevOps
Understand Continuous Delivery (CD) is one DevOps model
@behemphi
GOALS
Provide a basis for understanding DevOps
Understand Continuous Delivery (CD) is one DevOps model
Provide a way to reason about DevOps and CD practically
WHO AM I
Technologist
WHO AM I
Technologist
Community Builder
WHO AM I
Technologist
Community Builder
Extroverted Nerd
WHO AM I
Technologist
Community Builder
Extroverted Nerd
Evangelist
@behemphi
WHAT ENGINE AM I STACKING?
Docker Docker Docker
@behemphi
WHAT ENGINE AM I STACKING?
Docker Docker Docker
Orchestration, Service Discovery, Community
@behemphi
WHAT ENGINE AM I STACKING?
Docker Docker Docker
Orchestration, Service Discovery, Community
Like what you hear? Contact us: http://stackengine.com
WHO ARE YOU
Have heard of DevOps?
WHO ARE YOU
Have heard of Docker?
Using Continuous Integration?
WHO ARE YOU
Have heard of DevOps?
Practicing Continous Integration?
Continuous Deployment to UAT or Production?
WHAT IS DEVOPS
Read the Freakin’ Manual
WHAT IS DEVOPS
Read the Freakin’ Manual
Continuous Integration
WHAT IS DEVOPS
Read the Freakin’ Manual
Continuous Integration
Continuous Delivery
WHAT IS DEVOPS
Read the Freakin’ Manual
Continuous Integration
Continuous Delivery
Chef/Puppet/Ansible
WHAT IS DEVOPS
Read the Freakin’ Manual
Continuous Integration
Continuous Delivery
Chef/Puppet/Ansible
Infrastructure as Code
WHAT IS DEVOPS
Read the Freakin’ Manual
Continuous Integration
Continuous Delivery
Chef/Puppet/Ansible
Infrastructure as Code
Culture
WHAT IS DEVOPS
Read the Freakin’ Manual
Continuous Integration
Continuous Delivery
Chef/Puppet/Ansible
Infrastructure as Code
Culture
Wall of Confusion
“DevOps is the way in which a technology
organization embeds itself in a business to the
benefit of that business.”
FRAMEWORK FOR REASONING
Philosophy
FRAMEWORK FOR REASONING
Philosophy
Model
FRAMEWORK FOR REASONING
Philosophy
Model
Implementation
FRAMEWORK FOR REASONING
Philosophy
Model
Implementation
Tools
“Don’t be a Tool”
@behemphi
MOTIVATION
Maximize Family Time
@behemphi
MOTIVATION
Maximize Family Time
Minimize Stress
@behemphi
MOTIVATION
Maximize Family Time
Minimize Stress
Not: Save water/energy
@behemphi
MOTIVATION
Maximize Family Time
Minimize Stress
Not: Save water/energy
Not: Cost of materials
@behemphi
LAUNDRY-OPSPREMISE
A load of laundry per day will give us free Sundays
@behemphi
LAUNDRY-OPSPREMISE
A load of laundry per day will give us free Sundays
We will have more opportunity for family fun
@behemphi
LAUNDRY-OPSPREMISE
A load of laundry per day will give us free Sundays
We will have more opportunity for family fun
Stress around laundry will decrease
@behemphi
LAUNDRY-OPSLESSONS LEARNED
Needed to think differently about when to do a load. (batch size)
@behemphi
LAUNDRY-OPSLESSONS LEARNED
Needed to think differently about when to do a load. (batch size)
Needed to think differently about special situations (trips)
@behemphi
LAUNDRY-OPSLESSONS LEARNED
Needed to think differently about when to do a load. (batch size)
Needed to think differently about special situations (trips)
We have way too many clothes
@behemphi
LAUNDRY-OPSEVOLVED
Often more than one load per day
@behemphi
LAUNDRY-OPSEVOLVED
Often more than one load per day
Often a very small load on a day
@behemphi
LAUNDRY-OPSEVOLVED
Often more than one load per day
Often a very small load on a day
Easier to share work
@behemphi
LAUNDRY-OPSDEVOPS
Adoption of CD is first about how you view batch size
@behemphi
LAUNDRY-OPSDEVOPS
Adoption of CD is first about how you view batch size
Missing a Sunday of laundry was terrible, missing a day is a non-event
@behemphi
LAUNDRY-OPSDEVOPS
Adoption of CD is first about how you view batch size
Missing a Sunday of laundry was terrible, missing a day is a non-event
Tools only matter after you have an operational model
@behemphi
LAUNDRY-OPSDEVOPS
Adoption of CD is first about how you view batch size
Missing a Sunday of laundry was terrible, missing a day is a non-event
Tools only matter after you have an operational model (low water, low energy washer/dryer help control cost)
There was a stunning amount of spare capacity in our laundry system. You can see it in the SDLC
@behemphi
LAUNDRY-OPSREAL WORLD
Instituted weekly show-and-tell sessions with the PM
@behemphi
LAUNDRY-OPSREAL WORLD
Instituted weekly show-and-tell sessions with the PM
Automated developer environments
@behemphi
LAUNDRY-OPSREAL WORLD
Instituted weekly show-and-tell sessions with the PM
Automated developer environments
All commits go to prod from day one
@behemphi
CLOSET-OPSPREMISE
Clothes are cash tied up in our closet
@behemphi
CLOSET-OPSPREMISE
Clothes are cash tied up in our closet
Features are cash tied up in source control
@behemphi
CLOSET-OPSPREMISE
Clothes are cash tied up in our closet
Features are cash tied up in source control
Features are a competitive advantage
@behemphi
CLOSET-OPSLESSONS LEARNED
Our closets were overflowing (> $15k in clothing in our house!)
@behemphi
CLOSET-OPSLESSONS LEARNED
Our closets were overflowing (> $15k in clothing in our house!)
Fast growing kids shouldn’t have two weeks worth of clothes
@behemphi
CLOSET-OPSLESSONS LEARNED
Our closets were overflowing (> $15k in clothing in our house!)
Fast growing kids shouldn’t have two weeks worth of clothes
We have bought about 2/3 less clothing this year
@behemphi
CLOSET-OPSEVOLUTION
More room in our closets means ability to store stuff at home (not renting storage space)
@behemphi
CLOSET-OPSEVOLUTION
More room in our closets means ability to store stuff at home (not renting storage space)
Think about clothing purchases (when/why) differently. More likely to buy one thing on sale.
@behemphi
CLOSET-OPSDEVOPS
6 people~ $1m per year. Quarterly Release -> $250k in source control
@behemphi
CLOSET-OPSDEVOPS
6 people~ $1m per year. Quarterly Release -> $250k in source control
If features get to market faster, they can be exploited faster (new sales, up sales, better cash flow in/out)
@behemphi
CLOSET-OPSDEVOPS
6 people~ $1m per year. Quarterly Release -> $250k in source control
If features get to market faster, they can be exploited faster (new sales, up sales, better cash flow in/out)
You won’t take the risk with your laundry/closet.
@behemphi
CLOSET-OPSREAL WORLD
PM wanted AM involved, AM brought customer
@behemphi
CLOSET-OPSREAL WORLD
PM wanted AM involved, AM brought customer
Customers were thrilled
@behemphi
CLOSET-OPSREAL WORLD
PM wanted AM involved, AM brought customer
Customers were thrilled
Site launch was non-event
@behemphi
CLOSET-OPSREAL WORLD
PM wanted AM involved, AM brought customer
Customers were thrilled
Site launch was non-event
Updates became trivial
@behemphi
CLOSET-OPSREAL WORLD
PM wanted AM involved, AM brought customer
Customers were thrilled
Site launch was non-event
Updates became trivial
More business won by AMs
@behemphi
CLOSET-OPSREAL WORLD
PM wanted AM involved, AM brought customer
Customers were thrilled
Site launch was non-event
Updates became trivial
More business won by AMs
More repeat business on existing accounts
@behemphi
SUCK-OPSPREMISE
Automating vacuuming would put time back in each day
@behemphi
SUCK-OPSPREMISE
Automating vacuuming would put time back in each day
Daily vacuuming would decrease allergy issues in the house
@behemphi
SUCK-OPSEVOLUTION
Expected to want to further automate but have not
@behemphi
SUCK-OPSEVOLUTION
Expected to want to further automate but have not
Kids often take care of this.
@behemphi
SUCK-OPSLESSONS LEARNED
There is little enough pain in moving the towers and vacuum.
@behemphi
SUCK-OPSLESSONS LEARNED
There is little enough pain in moving the towers and vacuum.
Sometimes quality can be achieved by repetition rather than explicit effort. (Fight forward)
Still need our old vacuum for special situations
@behemphi
SUCK-OPSDEVOPS
Our house is single story, and all wood/tile. Perfect situation for this tool
@behemphi
SUCK-OPSDEVOPS
Our house is single story, and all wood/tile. Perfect situation for this tool
Our kids are good about picking up the floor (culture)
@behemphi
SUCK-OPSDEVOPS
Our house is single story, and all wood/tile. Perfect situation for this tool
Our kids are good about picking up the floor (culture)
The tool is usable by all of us. Removes need for low value skill.
@behemphi
SUCK-OPSDEVOPS
Our house is single story, and all wood/tile. Perfect situation for this tool
Our kids are good about picking up the floor (culture)
The tool is usable by all of us. Removes need for low value skill.
The tool is important, but it is the process that actually matters
@behemphi
SUCK-OPSREAL WORLD
Moving from a home grown system to a tool (Chef), allowed a 5 person company to service 70 customers, 200 machines
@behemphi
SUCK-OPSREAL WORLD
Moving from a home grown system to a tool (Chef), allowed a 5 person company to service 70 customers, 200 machines
The reason Chef was the right tool was not Chef, it was our single tenant architecture.
@behemphi
SUCK-OPSREAL WORLD
Automating the dev environment fostered collaboration
Site launch and update a non-event due to repetition
Saved 8 hours per dev per week.
@behemphi
PAINT-OPSPREMISE
Lessons from Laundry should apply to painting the interior of our house
@behemphi
PAINT-OPSPREMISE
Lessons from Laundry should apply to painting the interior of our house
Lower stress of home improvement
@behemphi
PAINT-OPSPREMISE
Lessons from Laundry should apply to painting the interior of our house
Lower stress of home improvement
Increase innovation (try various colors and techniques)
@behemphi
PAINT-OPSEVOLUTION
Started with outcome goals (e.g paint this wall)
@behemphi
PAINT-OPSEVOLUTION
Started with outcome goals (e.g paint this wall)
Ended with time based goals (e.g. I have 3 hours on Thursday)
@behemphi
PAINT-OPSLESSONS LEARNED
Set-up/Tear-down costs (time) were expected to be very high. Only about 25% of expected value. (Kids help!)
@behemphi
PAINT-OPSLESSONS LEARNED
Set-up/Tear-down costs (time) were expected to be very high. Only about 25% of expected value. (Kids help!)
Need to be okay living in “undone” house (culture)
@behemphi
PAINT-OPSLESSONS LEARNED
Set-up/Tear-down costs (time) were expected to be very high. Only about 25% of expected value. (Kids help!)
Need to be okay living in “undone” house (culture)
Time vs. feature based batching substantially lowered stress.
@behemphi
PAINT-OPSDEVOPS
Setup cost akin to inserting a feature flag in the code.
@behemphi
PAINT-OPSDEVOPS
Setup cost akin to inserting a feature flag in the code.
Friends curiosity about progress translates to transparency of change
@behemphi
PAINT-OPSDEVOPS
Setup cost akin to inserting a feature flag in the code.
Friends curiosity about progress translates to transparency of change
Overall increase in time offset by our willingness to paint again soon
@behemphi
PAINT-OPSDEVOPS
Setup cost akin to inserting a feature flag in the code.
Friends curiosity about progress translates to transparency of change
Overall increase in time offset by our willingness to paint again soon
Find wife painting while dinner was cooking akin to enabling others to do high value work.
@behemphi
PAINT-OPSREAL WORLD
The culture of an organization must support change
@behemphi
PAINT-OPSREAL WORLD
The culture of an organization must support change
Some times showing the customer the unfinished product is awesome
@behemphi
LEGO-OPSPREMISE
My sons and I could not build a 4ft, 20k piece Lego Pyramid in 5 hours.
By organizing the project so that anyone could contribute, we would get done.
@behemphi
LEGO-OPSEVOLUTION
Project has been attempted for 4 years.
Successful at 3ft last year and 4ft this year
We will go for 5ft next year.
@behemphi
LEGO-OPSLESSONS LEARNED
Regularity of methodology is critical
Something as simple as blue and white stripes can have a huge effect on quality.
Evolving work roles is critical
Engaging everyone is key to success
Allowing children to become managers is surprisingly effective. Its about personality, not age.
@behemphi
LEGO-OPSDEVOPS
Model for open source software.
Quality is critical at every stage of the project.
Level of buy-in on quality with each helper determines role (e.g. 3yr old collects the right bricks but does not build)
Identifying and elevating people who own the process and its evolution drives success
@behemphi
LEGO-OPSREAL WORLD
Ensure quality processes are in place before starting is critical to the success
Ensure processes for building and deploying software are in place is critical to success
Engineers who do not own the customer experience are not worth keeping.
Automating quality and build from day one allowed a team of three to accomplish what a team of 12 could not.
@behemphi
ECONOMICS
P = R - C
@behemphi
ECONOMICS
P = R - C
C = 0 => :-(
@behemphi
ECONOMICS
P = R - C
C = 0 => :-(
R has no limit!
@behemphi
ECONOMICS
P = R - C
C = 0 => :-(
R has no limit!
Does your proposed change impact R?
@behemphi
GOALS
What is the Goal of your Company?
@behemphi
GOALS
What is the Goal of your Company?
The goal of your company is to make money now and in the future.
@behemphi
GOALS
What is the Goal of your Company?
The goal of your company is to make money now and in the future.
If you cannot tie your action and its measures to that goal …
@behemphi
MEASURES
Measurement is hard
@behemphi
MEASURES
Measurement is hard
Do it anyway
@behemphi
BEEROPS
Austin DevOps - Monthly, Evening
goo.gl/UmLDu0
Agile Austin DevOps SIG - Monthly, Lunch
goo.gl/P8rFQ3
Cloud Austin - Monthly, Evening
goo.gl/61UwIr
DevOps Days Austin - Conference, Early August
goo.gl/r46T8A
Container Days Austin - Conference, Late March
goo.gl/aFrtwB
@behemphi
COLOPHON
The Phoenix Project* - Kim
goo.gl/Bu4N1H
The Goal* - Goldratt (Audible)
goo.gl/UtPYTU
Start with Why* - Sinek
goo.gl/5nusW6
Lean Enterprise - Humble
goo.gl/fA9oVp
Continuous Delivery - Humble & Farley
goo.gl/X83qoQ
Slides and Blog -
http://goo.gl/4F8fDO