SlideShare a Scribd company logo
/ Robert Treat 
What 
Ops 
Can Learn From 
Design 
Velocity Barcelona 
Tuesday, November 18, 14
Hello 
ground rules 
slides will be online 
@robtreat2 
robert@omniti.com 
ask questions 
Tuesday, November 18, 14
Who Am I? 
web dev 
oscon 
author 
dba 
nodejs 
php 
perl 
postgres 
distributed systems 
pointy hair 
surgecon 
speaker 
sysadmin 
shawarma 
crocs 
root beer monitoring 
mysql 
devops 
velocityconf 
pgcon 
open source 
ruby 
chef 
illumos 
zfs 
dtrace 
philosopher 
omnios 
golang 
zones 
scalability 
linux 
sql 
nosql 
git 
engineer 
Tuesday, November 18, 14
Who Am I? 
web dev 
oscon 
author 
dba 
nodejs 
php 
perl 
postgres 
distributed systems 
pointy hair 
surgecon 
speaker 
sysadmin 
shawarma 
crocs 
root beer monitoring 
mysql 
devops 
velocityconf 
pgcon 
open source 
ruby 
chef 
illumos 
zfs 
dtrace 
philosopher 
omnios 
golang 
zones 
scalability 
linux 
sql 
nosql 
git 
engineer 
Tuesday, November 18, 14
Who Am I? 
designer? 
Tuesday, November 18, 14
Who Am I? 
web usability analyst 
ux / ui 
Tuesday, November 18, 14
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
What is Design? 
Tuesday, November 18, 14
What is Design? 
focus on utility, 
not aesthetics 
Tuesday, November 18, 14
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
What is Design? 
cars 
tv 
phones 
coffee machines 
doors 
light switches 
showers 
toilet 
Tuesday, November 18, 14
What is Design? 
doors 
allow entrance / exit 
1. push 
2. pull 
3. both 
Tuesday, November 18, 14
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
What is Design? 
Tuesday, November 18, 14
What is Design? 
Tuesday, November 18, 14
What is Design? 
Tuesday, November 18, 14
What is Design? 
http://www.1ablelocksmith.com/BLOG/wp-content/uploads/2012/03/fire-door.jpg 
Tuesday, November 18, 14
What is Design? 
http://psychsciencenotes.blogspot.com.es/2011/10/affordances-of-everyday-things.html 
Tuesday, November 18, 14
Design Idea 
perceived affordances: 
the quality of an object that suggests how it might be used 
Tuesday, November 18, 14
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
Perceived Affordances 
Tuesday, November 18, 14
Design Idea 
feedback mechanism: 
sending information back to the user about what action has 
actually been done 
Tuesday, November 18, 14
Feedback Mechanism 
oncall process 
Tuesday, November 18, 14
Feedback Mechanism 
oncall process 
alert is sent 
Tuesday, November 18, 14
Feedback Mechanism 
oncall process 
alert is sent 
acknowledge alert? 
Tuesday, November 18, 14
Feedback Mechanism 
anti: 
- notification of expected action 
- problem is not resolved 
pro: 
- confirms alert was received 
- allows time to fix 
Tuesday, November 18, 14
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
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
Feedback Mechanism 
when designing a process, program, or system, 
you must ensure that success is distinguishable 
from failure modes 
Tuesday, November 18, 14
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
Feedback Mechanism 
oncall process 
alert is sent 
acknowledge alert 
Tuesday, November 18, 14
What do we Design? 
Tuesday, November 18, 14
Design Idea 
natural mapping: 
taking advantage of analogies or cultural standards to help ensure 
understanding 
Tuesday, November 18, 14
Natural Mapping 
-d 
Tuesday, November 18, 14
Natural Mapping 
-d 
[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 
Tuesday, November 18, 14
Natural Mapping 
-d 
[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 
pg_dump ? 
Tuesday, November 18, 14
Natural Mapping 
-d 
[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 
pg_dump ? 
v7.1 - 8.3 
-d, --inserts 
Dump data as proper INSERT commands (not COPY). This will make restoration very slow. 
Tuesday, November 18, 14
Natural Mapping 
-d 
[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 
pg_dump ? 
v7.1 - 8.3 
-d, --inserts 
Dump data as proper INSERT commands (not COPY). This will make restoration very slow. 
v8.4 - 9.2 
-d was removed 
Tuesday, November 18, 14
Natural Mapping 
-d 
[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 
v7.1 - 8.3 
-d, --inserts 
Dump 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
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
What is Design? 
Tuesday, November 18, 14
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
Forcing Function 
Most microwaves do not 
allow operation with the 
door open 
“Force” the door to be 
closed for safety 
Tuesday, November 18, 14
Forcing Function 
Few examples in software: 
kill vs kill -9 
force an extra step for a more destructive action 
Tuesday, November 18, 14
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
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
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
Tuesday, November 18, 14
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
Fin 
thanks! 
Tuesday, November 18, 14
Fin 
Tuesday, November 18, 14
Fin? 
more: 
OmniTI 
@robtreat2 
http://xzilla.net 
@omniti 
http://omniti.com 
operationally focused development and consulting services for 
building and managing large scale web architectures 
Tuesday, November 18, 14
Tuesday, November 18, 14

More Related Content

Similar to What Ops Can Learn From Design (20)

PDF
elasticsearch basics workshop
Mathieu Elie
 
PDF
Presentationnosqlmah
p3rnilla
 
PDF
Recommender Systems with Ruby (adding machine learning, statistics, etc)
Marcel Caraciolo
 
PDF
Building scalable applications while scaling your infrastructure by rhommel l...
NETWAYS
 
PDF
Building scalable applications while scaling your infrastructure by rhommel l...
Puppet
 
PDF
Monitoring Behavioral Driven Infrastructures mit Cucumber-Nagios by Mike Adolphs
NETWAYS
 
PDF
A false digital alibi on mac os x
Vrije Universiteit Brussel
 
PDF
Keeping it small - Getting to know the Slim PHP micro framework
Jeremy Kendall
 
PDF
Smartgears
Fabio Simeoni
 
PDF
Juraj vysvader - Python developer's CV
Juraj Vysvader
 
PDF
Automate Yo' Self
John Anderson
 
PDF
Infrastructure as Code with Chef / Puppet
Edmund Siegfried Haselwanter
 
PDF
Phpday - Automated acceptance testing with Behat and Mink
Richard Tuin
 
PDF
Continuous Delivery at Netflix
Rob Spieldenner
 
PDF
Austin agile conf 2012 infrastructure automation-gmiranda
George Miranda
 
PDF
Cassandra Meetup: Real-time Analytics using Cassandra, Spark and Shark at Ooyala
DataStax Academy
 
PDF
University of arizona mobile matters - technology, a means to an end
Thibault Imbert
 
PDF
Arnaud Porterie - The Truth About C++
Arnaud Porterie
 
PDF
Teaching Programming Online
Pamela Fox
 
PDF
Helping Data Teams with Puppet / Puppet Camp London - Apr 13, 2015
Sergii Khomenko
 
elasticsearch basics workshop
Mathieu Elie
 
Presentationnosqlmah
p3rnilla
 
Recommender Systems with Ruby (adding machine learning, statistics, etc)
Marcel Caraciolo
 
Building scalable applications while scaling your infrastructure by rhommel l...
NETWAYS
 
Building scalable applications while scaling your infrastructure by rhommel l...
Puppet
 
Monitoring Behavioral Driven Infrastructures mit Cucumber-Nagios by Mike Adolphs
NETWAYS
 
A false digital alibi on mac os x
Vrije Universiteit Brussel
 
Keeping it small - Getting to know the Slim PHP micro framework
Jeremy Kendall
 
Smartgears
Fabio Simeoni
 
Juraj vysvader - Python developer's CV
Juraj Vysvader
 
Automate Yo' Self
John Anderson
 
Infrastructure as Code with Chef / Puppet
Edmund Siegfried Haselwanter
 
Phpday - Automated acceptance testing with Behat and Mink
Richard Tuin
 
Continuous Delivery at Netflix
Rob Spieldenner
 
Austin agile conf 2012 infrastructure automation-gmiranda
George Miranda
 
Cassandra Meetup: Real-time Analytics using Cassandra, Spark and Shark at Ooyala
DataStax Academy
 
University of arizona mobile matters - technology, a means to an end
Thibault Imbert
 
Arnaud Porterie - The Truth About C++
Arnaud Porterie
 
Teaching Programming Online
Pamela Fox
 
Helping Data Teams with Puppet / Puppet Camp London - Apr 13, 2015
Sergii Khomenko
 

More from Robert Treat (20)

PDF
Advanced Int->Bigint Conversions
Robert Treat
 
PDF
Explaining Explain
Robert Treat
 
PDF
the-lost-art-of-plpgsql
Robert Treat
 
PDF
Managing Chaos In Production: Testing vs Monitoring
Robert Treat
 
PDF
Postgres 9.4 First Look
Robert Treat
 
PDF
Less Alarming Alerts!
Robert Treat
 
PDF
Past, Present, and Pachyderm - All Things Open - 2013
Robert Treat
 
PDF
Big Bad "Upgraded" Postgres
Robert Treat
 
PDF
Managing Databases In A DevOps Environment
Robert Treat
 
PDF
The Essential PostgreSQL.conf
Robert Treat
 
PDF
Pro Postgres 9
Robert Treat
 
PDF
Scaling with Postgres (Highload++ 2010)
Robert Treat
 
PDF
Intro to Postgres 9 Tutorial
Robert Treat
 
PDF
Check Please!
Robert Treat
 
PDF
Intro to Postgres 8.4 Tutorial
Robert Treat
 
PDF
The Essential postgresql.conf
Robert Treat
 
PDF
PostgreSQL Partitioning, PGCon 2007
Robert Treat
 
ODP
Pro PostgreSQL, OSCon 2008
Robert Treat
 
PDF
Database Anti Patterns
Robert Treat
 
ODP
Pro PostgreSQL
Robert Treat
 
Advanced Int->Bigint Conversions
Robert Treat
 
Explaining Explain
Robert Treat
 
the-lost-art-of-plpgsql
Robert Treat
 
Managing Chaos In Production: Testing vs Monitoring
Robert Treat
 
Postgres 9.4 First Look
Robert Treat
 
Less Alarming Alerts!
Robert Treat
 
Past, Present, and Pachyderm - All Things Open - 2013
Robert Treat
 
Big Bad "Upgraded" Postgres
Robert Treat
 
Managing Databases In A DevOps Environment
Robert Treat
 
The Essential PostgreSQL.conf
Robert Treat
 
Pro Postgres 9
Robert Treat
 
Scaling with Postgres (Highload++ 2010)
Robert Treat
 
Intro to Postgres 9 Tutorial
Robert Treat
 
Check Please!
Robert Treat
 
Intro to Postgres 8.4 Tutorial
Robert Treat
 
The Essential postgresql.conf
Robert Treat
 
PostgreSQL Partitioning, PGCon 2007
Robert Treat
 
Pro PostgreSQL, OSCon 2008
Robert Treat
 
Database Anti Patterns
Robert Treat
 
Pro PostgreSQL
Robert Treat
 
Ad

Recently uploaded (20)

PPTX
Talbott's brief History of Computers for CollabDays Hamburg 2025
Talbott Crowell
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PDF
“ONNX and Python to C++: State-of-the-art Graph Compilation,” a Presentation ...
Edge AI and Vision Alliance
 
PDF
99 Bottles of Trust on the Wall — Operational Principles for Trust in Cyber C...
treyka
 
PPTX
Agentforce World Tour Toronto '25 - MCP with MuleSoft
Alexandra N. Martinez
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PDF
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
PPTX
Securing Model Context Protocol with Keycloak: AuthN/AuthZ for MCP Servers
Hitachi, Ltd. OSS Solution Center.
 
PDF
UiPath DevConnect 2025: Agentic Automation Community User Group Meeting
DianaGray10
 
PDF
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
PDF
NASA A Researcher’s Guide to International Space Station : Earth Observations
Dr. PANKAJ DHUSSA
 
PPTX
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
PDF
Survival Models: Proper Scoring Rule and Stochastic Optimization with Competi...
Paris Women in Machine Learning and Data Science
 
PDF
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
PDF
Evolution: How True AI is Redefining Safety in Industry 4.0
vikaassingh4433
 
PPTX
CapCut Pro PC Crack Latest Version Free Free
josanj305
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
PPTX
Manual Testing for Accessibility Enhancement
Julia Undeutsch
 
PPTX
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
Talbott's brief History of Computers for CollabDays Hamburg 2025
Talbott Crowell
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
“ONNX and Python to C++: State-of-the-art Graph Compilation,” a Presentation ...
Edge AI and Vision Alliance
 
99 Bottles of Trust on the Wall — Operational Principles for Trust in Cyber C...
treyka
 
Agentforce World Tour Toronto '25 - MCP with MuleSoft
Alexandra N. Martinez
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
Securing Model Context Protocol with Keycloak: AuthN/AuthZ for MCP Servers
Hitachi, Ltd. OSS Solution Center.
 
UiPath DevConnect 2025: Agentic Automation Community User Group Meeting
DianaGray10
 
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
NASA A Researcher’s Guide to International Space Station : Earth Observations
Dr. PANKAJ DHUSSA
 
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
Survival Models: Proper Scoring Rule and Stochastic Optimization with Competi...
Paris Women in Machine Learning and Data Science
 
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
Evolution: How True AI is Redefining Safety in Industry 4.0
vikaassingh4433
 
CapCut Pro PC Crack Latest Version Free Free
josanj305
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
Manual Testing for Accessibility Enhancement
Julia Undeutsch
 
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
Ad

What Ops Can Learn From Design

  • 1. / Robert Treat What Ops Can Learn From Design Velocity Barcelona Tuesday, November 18, 14
  • 2. Hello ground rules slides will be online @robtreat2 [email protected] ask questions Tuesday, November 18, 14
  • 3. Who Am I? web dev oscon author dba nodejs php perl postgres distributed systems pointy hair surgecon speaker sysadmin shawarma crocs root beer monitoring mysql devops velocityconf pgcon open source ruby chef illumos zfs dtrace philosopher omnios golang zones scalability linux sql nosql git engineer Tuesday, November 18, 14
  • 4. Who Am I? web dev oscon author dba nodejs php perl postgres distributed systems pointy hair surgecon speaker sysadmin shawarma crocs root beer monitoring mysql devops velocityconf pgcon open source ruby chef illumos zfs dtrace philosopher omnios golang zones scalability linux sql nosql git engineer Tuesday, November 18, 14
  • 5. Who Am I? designer? Tuesday, November 18, 14
  • 6. Who Am I? web usability analyst ux / ui Tuesday, November 18, 14
  • 7. 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
  • 8. What is Design? Tuesday, November 18, 14
  • 9. What is Design? focus on utility, not aesthetics Tuesday, November 18, 14
  • 10. 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
  • 11. What is Design? cars tv phones coffee machines doors light switches showers toilet Tuesday, November 18, 14
  • 12. What is Design? doors allow entrance / exit 1. push 2. pull 3. both Tuesday, November 18, 14
  • 13. 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
  • 14. What is Design? Tuesday, November 18, 14
  • 15. What is Design? Tuesday, November 18, 14
  • 16. What is Design? Tuesday, November 18, 14
  • 17. What is Design? http://www.1ablelocksmith.com/BLOG/wp-content/uploads/2012/03/fire-door.jpg Tuesday, November 18, 14
  • 18. What is Design? http://psychsciencenotes.blogspot.com.es/2011/10/affordances-of-everyday-things.html Tuesday, November 18, 14
  • 19. Design Idea perceived affordances: the quality of an object that suggests how it might be used Tuesday, November 18, 14
  • 20. 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
  • 22. Design Idea feedback mechanism: sending information back to the user about what action has actually been done Tuesday, November 18, 14
  • 23. Feedback Mechanism oncall process Tuesday, November 18, 14
  • 24. Feedback Mechanism oncall process alert is sent Tuesday, November 18, 14
  • 25. Feedback Mechanism oncall process alert is sent acknowledge alert? Tuesday, November 18, 14
  • 26. Feedback Mechanism anti: - notification of expected action - problem is not resolved pro: - confirms alert was received - allows time to fix Tuesday, November 18, 14
  • 27. 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
  • 28. 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
  • 29. Feedback Mechanism when designing a process, program, or system, you must ensure that success is distinguishable from failure modes Tuesday, November 18, 14
  • 30. 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
  • 31. Feedback Mechanism oncall process alert is sent acknowledge alert Tuesday, November 18, 14
  • 32. What do we Design? Tuesday, November 18, 14
  • 33. Design Idea natural mapping: taking advantage of analogies or cultural standards to help ensure understanding Tuesday, November 18, 14
  • 34. Natural Mapping -d Tuesday, November 18, 14
  • 35. Natural Mapping -d [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 Tuesday, November 18, 14
  • 36. Natural Mapping -d [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 pg_dump ? Tuesday, November 18, 14
  • 37. Natural Mapping -d [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 pg_dump ? v7.1 - 8.3 -d, --inserts Dump data as proper INSERT commands (not COPY). This will make restoration very slow. Tuesday, November 18, 14
  • 38. Natural Mapping -d [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 pg_dump ? v7.1 - 8.3 -d, --inserts Dump data as proper INSERT commands (not COPY). This will make restoration very slow. v8.4 - 9.2 -d was removed Tuesday, November 18, 14
  • 39. Natural Mapping -d [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 v7.1 - 8.3 -d, --inserts Dump 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
  • 40. 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
  • 41. What is Design? Tuesday, November 18, 14
  • 42. 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
  • 43. Forcing Function Most microwaves do not allow operation with the door open “Force” the door to be closed for safety Tuesday, November 18, 14
  • 44. Forcing Function Few examples in software: kill vs kill -9 force an extra step for a more destructive action Tuesday, November 18, 14
  • 45. 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
  • 46. 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
  • 47. 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
  • 49. 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
  • 50. Fin thanks! Tuesday, November 18, 14
  • 52. Fin? more: OmniTI @robtreat2 http://xzilla.net @omniti http://omniti.com operationally focused development and consulting services for building and managing large scale web architectures Tuesday, November 18, 14