SlideShare a Scribd company logo
1 of 53
Download to read offline
/ 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

elasticsearch basics workshop
elasticsearch basics workshopelasticsearch basics workshop
elasticsearch basics workshopMathieu Elie
 
Presentationnosqlmah
PresentationnosqlmahPresentationnosqlmah
Presentationnosqlmahp3rnilla
 
Recommender Systems with Ruby (adding machine learning, statistics, etc)
Recommender Systems with Ruby (adding machine learning, statistics, etc)Recommender Systems with Ruby (adding machine learning, statistics, etc)
Recommender Systems with Ruby (adding machine learning, statistics, etc)Marcel Caraciolo
 
Building scalable applications while scaling your infrastructure by rhommel l...
Building scalable applications while scaling your infrastructure by rhommel l...Building scalable applications while scaling your infrastructure by rhommel l...
Building scalable applications while scaling your infrastructure by rhommel l...NETWAYS
 
Building scalable applications while scaling your infrastructure by rhommel l...
Building scalable applications while scaling your infrastructure by rhommel l...Building scalable applications while scaling your infrastructure by rhommel l...
Building scalable applications while scaling your infrastructure by rhommel l...Puppet
 
Monitoring Behavioral Driven Infrastructures mit Cucumber-Nagios by Mike Adolphs
Monitoring Behavioral Driven Infrastructures mit Cucumber-Nagios by Mike AdolphsMonitoring Behavioral Driven Infrastructures mit Cucumber-Nagios by Mike Adolphs
Monitoring Behavioral Driven Infrastructures mit Cucumber-Nagios by Mike AdolphsNETWAYS
 
Keeping it small - Getting to know the Slim PHP micro framework
Keeping it small - Getting to know the Slim PHP micro frameworkKeeping it small - Getting to know the Slim PHP micro framework
Keeping it small - Getting to know the Slim PHP micro frameworkJeremy Kendall
 
Juraj vysvader - Python developer's CV
Juraj vysvader - Python developer's CVJuraj vysvader - Python developer's CV
Juraj vysvader - Python developer's CVJuraj Vysvader
 
Phpday - Automated acceptance testing with Behat and Mink
Phpday - Automated acceptance testing with Behat and MinkPhpday - Automated acceptance testing with Behat and Mink
Phpday - Automated acceptance testing with Behat and MinkRichard Tuin
 
Continuous Delivery at Netflix
Continuous Delivery at NetflixContinuous Delivery at Netflix
Continuous Delivery at NetflixRob Spieldenner
 
Austin agile conf 2012 infrastructure automation-gmiranda
Austin agile conf 2012 infrastructure automation-gmirandaAustin agile conf 2012 infrastructure automation-gmiranda
Austin agile conf 2012 infrastructure automation-gmirandaGeorge Miranda
 
Cassandra Meetup: Real-time Analytics using Cassandra, Spark and Shark at Ooyala
Cassandra Meetup: Real-time Analytics using Cassandra, Spark and Shark at OoyalaCassandra Meetup: Real-time Analytics using Cassandra, Spark and Shark at Ooyala
Cassandra Meetup: Real-time Analytics using Cassandra, Spark and Shark at OoyalaDataStax Academy
 
University of arizona mobile matters - technology, a means to an end
University of arizona   mobile matters - technology, a means to an endUniversity of arizona   mobile matters - technology, a means to an end
University of arizona mobile matters - technology, a means to an endThibault Imbert
 
Arnaud Porterie - The Truth About C++
Arnaud Porterie - The Truth About C++Arnaud Porterie - The Truth About C++
Arnaud Porterie - The Truth About C++Arnaud Porterie
 
Teaching Programming Online
Teaching Programming OnlineTeaching Programming Online
Teaching Programming OnlinePamela Fox
 
Helping Data Teams with Puppet / Puppet Camp London - Apr 13, 2015
Helping Data Teams with Puppet / Puppet Camp London - Apr 13, 2015Helping Data Teams with Puppet / Puppet Camp London - Apr 13, 2015
Helping Data Teams with Puppet / Puppet Camp London - Apr 13, 2015Sergii Khomenko
 

Similar to What Ops Can Learn From Design (20)

elasticsearch basics workshop
elasticsearch basics workshopelasticsearch basics workshop
elasticsearch basics workshop
 
Presentationnosqlmah
PresentationnosqlmahPresentationnosqlmah
Presentationnosqlmah
 
Recommender Systems with Ruby (adding machine learning, statistics, etc)
Recommender Systems with Ruby (adding machine learning, statistics, etc)Recommender Systems with Ruby (adding machine learning, statistics, etc)
Recommender Systems with Ruby (adding machine learning, statistics, etc)
 
Building scalable applications while scaling your infrastructure by rhommel l...
Building scalable applications while scaling your infrastructure by rhommel l...Building scalable applications while scaling your infrastructure by rhommel l...
Building scalable applications while scaling your infrastructure by rhommel l...
 
Building scalable applications while scaling your infrastructure by rhommel l...
Building scalable applications while scaling your infrastructure by rhommel l...Building scalable applications while scaling your infrastructure by rhommel l...
Building scalable applications while scaling your infrastructure by rhommel l...
 
Monitoring Behavioral Driven Infrastructures mit Cucumber-Nagios by Mike Adolphs
Monitoring Behavioral Driven Infrastructures mit Cucumber-Nagios by Mike AdolphsMonitoring Behavioral Driven Infrastructures mit Cucumber-Nagios by Mike Adolphs
Monitoring Behavioral Driven Infrastructures mit Cucumber-Nagios by Mike Adolphs
 
A false digital alibi on mac os x
A false digital alibi on mac os xA false digital alibi on mac os x
A false digital alibi on mac os x
 
Keeping it small - Getting to know the Slim PHP micro framework
Keeping it small - Getting to know the Slim PHP micro frameworkKeeping it small - Getting to know the Slim PHP micro framework
Keeping it small - Getting to know the Slim PHP micro framework
 
Smartgears
SmartgearsSmartgears
Smartgears
 
Juraj vysvader - Python developer's CV
Juraj vysvader - Python developer's CVJuraj vysvader - Python developer's CV
Juraj vysvader - Python developer's CV
 
Automate Yo' Self
Automate Yo' SelfAutomate Yo' Self
Automate Yo' Self
 
Infrastructure as Code with Chef / Puppet
Infrastructure as Code with Chef / PuppetInfrastructure as Code with Chef / Puppet
Infrastructure as Code with Chef / Puppet
 
Phpday - Automated acceptance testing with Behat and Mink
Phpday - Automated acceptance testing with Behat and MinkPhpday - Automated acceptance testing with Behat and Mink
Phpday - Automated acceptance testing with Behat and Mink
 
Continuous Delivery at Netflix
Continuous Delivery at NetflixContinuous Delivery at Netflix
Continuous Delivery at Netflix
 
Austin agile conf 2012 infrastructure automation-gmiranda
Austin agile conf 2012 infrastructure automation-gmirandaAustin agile conf 2012 infrastructure automation-gmiranda
Austin agile conf 2012 infrastructure automation-gmiranda
 
Cassandra Meetup: Real-time Analytics using Cassandra, Spark and Shark at Ooyala
Cassandra Meetup: Real-time Analytics using Cassandra, Spark and Shark at OoyalaCassandra Meetup: Real-time Analytics using Cassandra, Spark and Shark at Ooyala
Cassandra Meetup: Real-time Analytics using Cassandra, Spark and Shark at Ooyala
 
University of arizona mobile matters - technology, a means to an end
University of arizona   mobile matters - technology, a means to an endUniversity of arizona   mobile matters - technology, a means to an end
University of arizona mobile matters - technology, a means to an end
 
Arnaud Porterie - The Truth About C++
Arnaud Porterie - The Truth About C++Arnaud Porterie - The Truth About C++
Arnaud Porterie - The Truth About C++
 
Teaching Programming Online
Teaching Programming OnlineTeaching Programming Online
Teaching Programming Online
 
Helping Data Teams with Puppet / Puppet Camp London - Apr 13, 2015
Helping Data Teams with Puppet / Puppet Camp London - Apr 13, 2015Helping Data Teams with Puppet / Puppet Camp London - Apr 13, 2015
Helping Data Teams with Puppet / Puppet Camp London - Apr 13, 2015
 

More from Robert Treat

Advanced Int->Bigint Conversions
Advanced Int->Bigint ConversionsAdvanced Int->Bigint Conversions
Advanced Int->Bigint ConversionsRobert Treat
 
Explaining Explain
Explaining ExplainExplaining Explain
Explaining ExplainRobert Treat
 
the-lost-art-of-plpgsql
the-lost-art-of-plpgsqlthe-lost-art-of-plpgsql
the-lost-art-of-plpgsqlRobert Treat
 
Managing Chaos In Production: Testing vs Monitoring
Managing Chaos In Production: Testing vs MonitoringManaging Chaos In Production: Testing vs Monitoring
Managing Chaos In Production: Testing vs MonitoringRobert Treat
 
Postgres 9.4 First Look
Postgres 9.4 First LookPostgres 9.4 First Look
Postgres 9.4 First LookRobert Treat
 
Less Alarming Alerts!
Less Alarming Alerts!Less Alarming Alerts!
Less Alarming Alerts!Robert Treat
 
Past, Present, and Pachyderm - All Things Open - 2013
Past, Present, and Pachyderm - All Things Open - 2013Past, Present, and Pachyderm - All Things Open - 2013
Past, Present, and Pachyderm - All Things Open - 2013Robert Treat
 
Big Bad "Upgraded" Postgres
Big Bad "Upgraded" PostgresBig Bad "Upgraded" Postgres
Big Bad "Upgraded" PostgresRobert Treat
 
Managing Databases In A DevOps Environment
Managing Databases In A DevOps EnvironmentManaging Databases In A DevOps Environment
Managing Databases In A DevOps EnvironmentRobert Treat
 
The Essential PostgreSQL.conf
The Essential PostgreSQL.confThe Essential PostgreSQL.conf
The Essential PostgreSQL.confRobert Treat
 
Scaling with Postgres (Highload++ 2010)
Scaling with Postgres (Highload++ 2010)Scaling with Postgres (Highload++ 2010)
Scaling with Postgres (Highload++ 2010)Robert Treat
 
Intro to Postgres 9 Tutorial
Intro to Postgres 9 TutorialIntro to Postgres 9 Tutorial
Intro to Postgres 9 TutorialRobert Treat
 
Intro to Postgres 8.4 Tutorial
Intro to Postgres 8.4 TutorialIntro to Postgres 8.4 Tutorial
Intro to Postgres 8.4 TutorialRobert Treat
 
The Essential postgresql.conf
The Essential postgresql.confThe Essential postgresql.conf
The Essential postgresql.confRobert Treat
 
PostgreSQL Partitioning, PGCon 2007
PostgreSQL Partitioning, PGCon 2007PostgreSQL Partitioning, PGCon 2007
PostgreSQL Partitioning, PGCon 2007Robert Treat
 
Pro PostgreSQL, OSCon 2008
Pro PostgreSQL, OSCon 2008Pro PostgreSQL, OSCon 2008
Pro PostgreSQL, OSCon 2008Robert Treat
 
Database Anti Patterns
Database Anti PatternsDatabase Anti Patterns
Database Anti PatternsRobert Treat
 

More from Robert Treat (20)

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

Recently uploaded

Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 

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 robert@omniti.com 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