miniature guide to operational features - edindevops - skeltonthatcher
TRANSCRIPT
![Page 1: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/1.jpg)
The Miniature Guide to Operational Features
Edinburgh DevOps Meetup – 15th September 2015
Rob Thatcher & Matthew Skelton
![Page 2: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/2.jpg)
“Operational Features”
how to develop and test
prioritisation techniques
![Page 3: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/3.jpg)
availability is the best feature
![Page 4: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/4.jpg)
Operational Features
![Page 5: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/5.jpg)
“the properties of a system which make it work well in
Production”
![Page 6: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/6.jpg)
Not PIMP MY RIDE
MORE
Greasy Mechanic
![Page 7: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/7.jpg)
Not PIMP MY RIDE
MORE
Greasy Mechanic
![Page 8: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/8.jpg)
Terminology
![Page 9: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/9.jpg)
what happened to NFRs?(non-functional requirements)
![Page 10: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/10.jpg)
Non-Functional Functional
![Page 11: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/11.jpg)
language impact
![Page 12: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/12.jpg)
non-starternon compos mentis
non-compete
![Page 13: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/13.jpg)
nonsense !
![Page 14: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/14.jpg)
![Page 15: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/15.jpg)
holistic product view
![Page 16: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/16.jpg)
How did we get to this?
![Page 17: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/17.jpg)
admission: IT folk have been guilty of making operational
features quite scary & mysterious
![Page 18: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/18.jpg)
![Page 19: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/19.jpg)
long lists of requirementscrazy test plans
![Page 20: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/20.jpg)
poor explanation of needsfailure to engage stakeholders
gold-plating
![Page 21: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/21.jpg)
![Page 22: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/22.jpg)
de-mystify operational features
![Page 23: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/23.jpg)
better approach
pragmatic and effective
rapid, safe, valuable
![Page 24: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/24.jpg)
“the properties of a system which make it work well in
Production”
![Page 25: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/25.jpg)
Why value Operational Features?
![Page 26: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/26.jpg)
![Page 27: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/27.jpg)
downtime:
$$$reputation
($$)
![Page 28: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/28.jpg)
![Page 29: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/29.jpg)
non-linear increase in complexity and problems
![Page 30: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/30.jpg)
Internet of Things
![Page 31: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/31.jpg)
we can no longer deal manually with the scale/volume
of potential problems
![Page 32: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/32.jpg)
![Page 33: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/33.jpg)
agility and response to incidents
![Page 34: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/34.jpg)
![Page 35: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/35.jpg)
remote car hacking:
security as an operational feature
![Page 36: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/36.jpg)
HA + DR + Backup + Metrics + Diagnostics + …
![Page 37: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/37.jpg)
![Page 38: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/38.jpg)
think:"when it fails, how will we recover?“
it will fail
![Page 39: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/39.jpg)
How do we develop and test Operational Features?
![Page 40: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/40.jpg)
defined features
testable and measurable
![Page 41: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/41.jpg)
![Page 42: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/42.jpg)
ahead lie the ‘ilities’...
![Page 43: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/43.jpg)
1. What2. How to test
![Page 44: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/44.jpg)
Operational Hooks
![Page 45: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/45.jpg)
![Page 46: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/46.jpg)
Deployment Pipeline
![Page 47: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/47.jpg)
![Page 48: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/48.jpg)
Configurability
![Page 49: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/49.jpg)
![Page 50: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/50.jpg)
re-read config (SIGHUP)
text files in version control
inject settings – no ‘black boxes’
![Page 51: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/51.jpg)
![Page 52: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/52.jpg)
toggle features via config
“Postcode lookup unavailable”
better UX
![Page 53: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/53.jpg)
Deployability
![Page 54: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/54.jpg)
![Page 55: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/55.jpg)
immutable artefacts
concurrent releases (SxS)
symlinks
![Page 56: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/56.jpg)
rapid
scriptable
simple failure modes
![Page 57: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/57.jpg)
Maintainability
![Page 58: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/58.jpg)
![Page 59: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/59.jpg)
holding page as MVP!
![Page 60: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/60.jpg)
live system component diagrams
![Page 61: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/61.jpg)
modularity
ability to upgrade
version numbering (SemVer?)
![Page 62: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/62.jpg)
Testability
![Page 63: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/63.jpg)
![Page 64: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/64.jpg)
every component has a /health endpoint
![Page 65: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/65.jpg)
stubbed/mocked/faked endpoints
test things individually
![Page 66: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/66.jpg)
Recoverability
![Page 67: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/67.jpg)
asynchronous service start
expect services to be erroring
logs are not wiped (rotated: okay)
avoid flooding logs
![Page 68: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/68.jpg)
![Page 69: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/69.jpg)
no nasty zombies after failures
MTTR more important than MTBF** for most kinds of F
![Page 70: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/70.jpg)
Performance
![Page 71: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/71.jpg)
![Page 72: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/72.jpg)
run key 'hotspot' areas early
use a deployment pipeline
‘critical path’
![Page 73: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/73.jpg)
![Page 74: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/74.jpg)
early pipeline tests act as a barometer for later
performance problems
![Page 75: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/75.jpg)
![Page 76: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/76.jpg)
derive transit time metrics
![Page 77: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/77.jpg)
Monitorability
![Page 78: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/78.jpg)
![Page 79: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/79.jpg)
stream of metrics
transaction tracing
![Page 80: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/80.jpg)
BasketItemAdded
grep BasketItem
![Page 81: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/81.jpg)
logging for insights
![Page 82: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/82.jpg)
![Page 83: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/83.jpg)
Resilience
![Page 84: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/84.jpg)
![Page 85: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/85.jpg)
Saboteur for network failure testing
deployment pipeline
![Page 86: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/86.jpg)
assume missing or failing
Chaos Monkey
don’t crash on HTTP 503
![Page 87: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/87.jpg)
Scalability
![Page 88: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/88.jpg)
![Page 89: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/89.jpg)
concurrent workers
queues and bottlenecks
throttling is your friend
![Page 90: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/90.jpg)
![Page 91: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/91.jpg)
Security and ‘securability’
![Page 92: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/92.jpg)
![Page 93: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/93.jpg)
securability by practice
SSL certs & HEARTBLEED
![Page 94: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/94.jpg)
Gauntlt
deployment pipeline
![Page 95: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/95.jpg)
# nmap-simple.attack
Feature: simple nmap attack to check for open ports
Background:
Given "nmap" is installed
And the following profile:
| name | value |
| hostname | example.com |
Scenario: Check standard web ports
When I launch an "nmap" attack with:
"""
nmap -F <hostname>
"""
Then the output should match /80.tcp\s+open/
Then the output should not match:
"""
25\/tcp\s+open
"""
![Page 96: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/96.jpg)
Availability
![Page 97: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/97.jpg)
![Page 98: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/98.jpg)
“available but unusable"
synthetic transactions
![Page 99: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/99.jpg)
special HTTP header: trigger additional metrics/reporting
![Page 100: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/100.jpg)
How the organisation affects Operational Features
![Page 101: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/101.jpg)
Budgets
![Page 102: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/102.jpg)
bonuses:
story points delivered
tickets closed
![Page 103: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/103.jpg)
Capex vs Opextax breaks
![Page 104: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/104.jpg)
avoiding the Capex/Opex evil
![Page 105: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/105.jpg)
Developers seen as more valuable than Ops people
3x hiring bonus for Devs (!)
![Page 106: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/106.jpg)
improved awareness in product teams
![Page 107: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/107.jpg)
![Page 108: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/108.jpg)
share ownership and decision making
![Page 109: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/109.jpg)
features
end-user
operationalend-user
![Page 110: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/110.jpg)
single product backlog
![Page 111: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/111.jpg)
![Page 112: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/112.jpg)
Product Owner on call for incidents
![Page 113: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/113.jpg)
tricky!
high degree of maturity
honesty about the product
![Page 114: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/114.jpg)
Product Owner and Tech Lead are both on the hook for
outages
![Page 115: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/115.jpg)
AVOID
Product Owner for ‘user features’ and Tech Lead for
‘operational features’
![Page 116: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/116.jpg)
How to evaluate Operational Features vs User Features
![Page 117: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/117.jpg)
treat Ops team folk as another user persona
![Page 118: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/118.jpg)
![Page 119: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/119.jpg)
alternatives to User Stories?
![Page 120: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/120.jpg)
NOT:
"as a logging subsystem, I want..."
![Page 121: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/121.jpg)
Metrics
![Page 122: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/122.jpg)
Live: downtime, A/B for operational aspects (speed)
Pre-live: time spent re-deploying
![Page 123: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/123.jpg)
Metrics for better conversations
![Page 124: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/124.jpg)
metric-ify your delivery and test infrastructure
99.99% uptime, but 20 redeployments every time
![Page 125: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/125.jpg)
![Page 126: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/126.jpg)
Heuristics for operational features
30% of total product budget
30% of dev team time
![Page 127: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/127.jpg)
holistic product view
![Page 128: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/128.jpg)
MVP: ‘service unavailable’ page
![Page 129: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/129.jpg)
test early for operational features
using a deployment pipeline
![Page 130: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/130.jpg)
single product backlog:
(user) features +
(operational) features
![Page 131: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/131.jpg)
availability is the best feature
![Page 132: Miniature Guide to Operational Features - EdinDevOps - SkeltonThatcher](https://reader031.vdocuments.net/reader031/viewer/2022030303/587b98ef1a28ab4e4f8b6fa5/html5/thumbnails/132.jpg)
Books!
operabilitybook.comoperationalfeatures.com