Top Banner
/ Robert Treat What Ops Can Learn From Design Velocity Barcelona Tuesday, November 18, 14
53
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: What Ops Can Learn From Design

/ Robert Treat

What

Ops

Can Learn From

Design

Velocity Barcelona

Tuesday, November 18, 14

Page 2: What Ops Can Learn From Design

Hello

ground rules

slides will be online

@robtreat2

[email protected]

ask questions

Tuesday, November 18, 14

Page 3: What Ops Can Learn From Design

Who Am I?

web dev

dba

nodejs

phpperl

postgres

distributed systems

pointy hair

author

speaker

sysadmin

shawarma

crocs

root beer monitoring

oscon

mysql

devops

surgecon

velocityconf

pgcon

open source

ruby

chef

illumos

zfs

dtrace

philosopher

omnios

golang

zones

scalability

linux

sql

nosql

git

engineer

Tuesday, November 18, 14

Page 4: What Ops Can Learn From Design

Who Am I?

web dev

dba

nodejs

phpperl

postgres

distributed systems

pointy hair

author

speaker

sysadmin

shawarma

crocs

root beer monitoring

oscon

mysql

devops

surgecon

velocityconf

pgcon

open source

ruby

chef

illumos

zfs

dtrace

philosopher

omnios

golang

zones

scalability

linux

sql

nosql

git

engineer

Tuesday, November 18, 14

Page 5: What Ops Can Learn From Design

Who Am I?

designer?

Tuesday, November 18, 14

Page 6: What Ops Can Learn From Design

Who Am I?

web usability analyst

ux / ui

Tuesday, November 18, 14

Page 7: What Ops Can Learn From Design

Who Am I?

A designer is a person who designs.

More formally, a designer is an agent that "specifies the structural properties of a design object".

In practice, anyone who creates tangible or intangible objects, such as consumer products, processes, laws, games and graphics, is referred to as a designer

-- https://en.wikipedia.org/wiki/Designer

Tuesday, November 18, 14

Page 8: What Ops Can Learn From Design

What is Design?

Tuesday, November 18, 14

Page 9: What Ops Can Learn From Design

What is Design?

focus on utility, not aesthetics

Tuesday, November 18, 14

Page 10: What Ops Can Learn From Design

What is Design?

everything is created with a purpose

think of design as the means by which we make that purpose self evident

Tuesday, November 18, 14

Page 11: What Ops Can Learn From Design

What is Design?

cars tv

phonescoffee machines

doorslight switches

showerstoilet

Tuesday, November 18, 14

Page 12: What Ops Can Learn From Design

What is Design?

doors

allow entrance / exit

1. push

2. pull

3. both

Tuesday, November 18, 14

Page 13: What Ops Can Learn From Design

What is Design?

have you ever tried to push/pull a door open,

only to find that you needed to work the door in the opposite fashion

Tuesday, November 18, 14

Page 14: What Ops Can Learn From Design

What is Design?

Tuesday, November 18, 14

Page 15: What Ops Can Learn From Design

What is Design?

Tuesday, November 18, 14

Page 16: What Ops Can Learn From Design

What is Design?

Tuesday, November 18, 14

Page 17: What Ops Can Learn From Design

What is Design?

http://www.1ablelocksmith.com/BLOG/wp-content/uploads/2012/03/fire-door.jpg

Tuesday, November 18, 14

Page 18: What Ops Can Learn From Design

What is Design?

http://psychsciencenotes.blogspot.com.es/2011/10/affordances-of-everyday-things.html

Tuesday, November 18, 14

Page 19: What Ops Can Learn From Design

Design Idea

perceived affordances:

the quality of an object that suggests how it might be used

Tuesday, November 18, 14

Page 20: What Ops Can Learn From Design

Perceived Affordances

http://www.iamaudi.com/2009-a4-a5-fuel-door-release/

1. unlock doors

2. push cover on rear side

Tuesday, November 18, 14

Page 21: What Ops Can Learn From Design

Perceived Affordances

Tuesday, November 18, 14

Page 22: What Ops Can Learn From Design

Design Idea

feedback mechanism:

sending information back to the user about what action has actually been done

Tuesday, November 18, 14

Page 23: What Ops Can Learn From Design

Feedback Mechanism

oncall process

Tuesday, November 18, 14

Page 24: What Ops Can Learn From Design

Feedback Mechanism

oncall process

alert is sent

Tuesday, November 18, 14

Page 25: What Ops Can Learn From Design

Feedback Mechanism

oncall process

alert is sent

acknowledge alert?

Tuesday, November 18, 14

Page 26: What Ops Can Learn From Design

Feedback Mechanism

anti:- notification of expected action

- problem is not resolved

pro:- confirms alert was received

- allows time to fix

Tuesday, November 18, 14

Page 27: What Ops Can Learn From Design

Feedback Mechanism

Unix, the Rule of Silence

when a program has nothing interesting or surprising to say, it should shut up.

Tuesday, November 18, 14

Page 28: What Ops Can Learn From Design

Feedback Mechanism

Unix, the Rule of Silence

when a program has nothing interesting or surprising to say, it should shut up.

scripts that execute successfully should remain silent on exit

Tuesday, November 18, 14

Page 29: What Ops Can Learn From Design

Feedback Mechanism

when designing a process, program, or system,

you must ensure that success is distinguishable

from failure modes

Tuesday, November 18, 14

Page 30: What Ops Can Learn From Design

Feedback Mechanism

can you tell the difference between a cron job that runs successfully

and a cron job that doesn’t run at all...

Tuesday, November 18, 14

Page 31: What Ops Can Learn From Design

Feedback Mechanism

oncall process

alert is sent

acknowledge alert

Tuesday, November 18, 14

Page 32: What Ops Can Learn From Design

What do we Design?

Tuesday, November 18, 14

Page 33: What Ops Can Learn From Design

Design Idea

natural mapping:

taking advantage of analogies or cultural standards to help ensure understanding

Tuesday, November 18, 14

Page 34: What Ops Can Learn From Design

Natural Mapping

-d

Tuesday, November 18, 14

Page 35: What Ops Can Learn From Design

Natural Mapping

[robert@67bfd38c-6dca-11e4-8d31-283737190742] psql --help | grep "\-d," -d, --dbname=DBNAME database name to connect to (default: "robert")

[robert@67bfd38c-6dca-11e4-8d31-283737190742] pg_restore --help | grep "\-d," -d, --dbname=NAME connect to database name

-d

Tuesday, November 18, 14

Page 36: What Ops Can Learn From Design

Natural Mapping

[robert@67bfd38c-6dca-11e4-8d31-283737190742] psql --help | grep "\-d," -d, --dbname=DBNAME database name to connect to (default: "robert")

[robert@67bfd38c-6dca-11e4-8d31-283737190742] pg_restore --help | grep "\-d," -d, --dbname=NAME connect to database name

-d

pg_dump ?

Tuesday, November 18, 14

Page 37: What Ops Can Learn From Design

Natural Mapping

[robert@67bfd38c-6dca-11e4-8d31-283737190742] psql --help | grep "\-d," -d, --dbname=DBNAME database name to connect to (default: "robert")

[robert@67bfd38c-6dca-11e4-8d31-283737190742] pg_restore --help | grep "\-d," -d, --dbname=NAME connect to database name

-d

v7.1 - 8.3-d, --insertsDump data as proper INSERT commands (not COPY). This will make restoration very slow.

pg_dump ?

Tuesday, November 18, 14

Page 38: What Ops Can Learn From Design

Natural Mapping

[robert@67bfd38c-6dca-11e4-8d31-283737190742] psql --help | grep "\-d," -d, --dbname=DBNAME database name to connect to (default: "robert")

[robert@67bfd38c-6dca-11e4-8d31-283737190742] pg_restore --help | grep "\-d," -d, --dbname=NAME connect to database name

-d

v7.1 - 8.3-d, --insertsDump data as proper INSERT commands (not COPY). This will make restoration very slow.

v8.4 - 9.2-d was removed

pg_dump ?

Tuesday, November 18, 14

Page 39: What Ops Can Learn From Design

Natural Mapping

[robert@67bfd38c-6dca-11e4-8d31-283737190742] psql --help | grep "\-d," -d, --dbname=DBNAME database name to connect to (default: "robert")

[robert@67bfd38c-6dca-11e4-8d31-283737190742] pg_restore --help | grep "\-d," -d, --dbname=NAME connect to database name

-d

v7.1 - 8.3-d, --insertsDump data as proper INSERT commands (not COPY). This will make restoration very slow.

v8.4 - 9.2-d was removed

v9.3+-d dbname

pg_dump ?

Tuesday, November 18, 14

Page 40: What Ops Can Learn From Design

Natural Mapping

when we write postgres related scripts and utilities, we try to use -d for database name

write your utilities to align with software you use

Tuesday, November 18, 14

Page 41: What Ops Can Learn From Design

What is Design?

Tuesday, November 18, 14

Page 42: What Ops Can Learn From Design

Design Ideas

forcing functions:

a constraint where the user "is forced" to complete a task based on a limited, paired down set of features or controls.

Tuesday, November 18, 14

Page 43: What Ops Can Learn From Design

Forcing Function

Most microwaves do not allow operation with the

door open

“Force” the door to be closed for safety

Tuesday, November 18, 14

Page 44: What Ops Can Learn From Design

Forcing Function

Few examples in software:

kill vs kill -9 force an extra step for a more destructive action

Tuesday, November 18, 14

Page 45: What Ops Can Learn From Design

Forcing Function

Few examples in software:

kill vs kill -9 force an extra step for a more destructive action

sudo run an extra command to execute an action

“sudo su -s”

Tuesday, November 18, 14

Page 46: What Ops Can Learn From Design

Forcing Function

if you use the same tools to deploy changes to dev / stage / prod, perhaps you should require extra steps?

Tuesday, November 18, 14

Page 47: What Ops Can Learn From Design

Forcing Function

if you use the same tools to deploy changes to dev / stage / prod, perhaps you should require extra steps?

- verify code running in “prior” environments

- verify no active alerts in prod

- run sanity tests against deploys;rollback if alerts are generated

Tuesday, November 18, 14

Page 48: What Ops Can Learn From Design

Tuesday, November 18, 14

Page 49: What Ops Can Learn From Design

Parting Thoughts

We often claim incidents are caused by human error, but in many cases the human error is a result

of poor design

Approaching our problems from a design centered approach gives us the best chance for improving our world

Tuesday, November 18, 14

Page 50: What Ops Can Learn From Design

Fin

thanks!

Tuesday, November 18, 14

Page 51: What Ops Can Learn From Design

Fin

Tuesday, November 18, 14

Page 52: What Ops Can Learn From Design

Fin?

OmniTIoperationally focused development and consulting services for

building and managing large scale web architectures

more:

@robtreat2http://xzilla.net

@omnitihttp://omniti.com

Tuesday, November 18, 14

Page 53: What Ops Can Learn From Design

Tuesday, November 18, 14