Lightning Talk: The Devil's DevOps
Lightning Talk
Chapters
Full transcript
The complete talk, organized by section.
Heidi Waterhouse
I'm here to talk to you about The Devil's DevOps. This is based on the dictionary by Ambrose Bierce, which is full of completely unimpeachable and totally true things. But I didn't see any DevOps terms in it, so I've updated it for the modern era.
Infrastructure is the teetering edifice that we labor to simultaneously uphold and reform, possibly while it's driving down the road and we're changing the tire. You've all seen that GIF.
Continuous integration is the state of never being sure that you didn't just break the build. Because maybe you did, maybe you didn't. It's probably fine. Probably fine, yeah.
The cloud: other people's servers, an abstraction layer for spending money that you couldn't get budget for, or the vaporous form of pixie dust. All of these are true, some of them more true than others.
Deployment: verb, when code escapes into public view. Noun, the thing that just took down production. Yeah.
Testing in production. It's a variant pronunciation of the word YOLO, which stands for you only live once. Testing in production. We have a meetup tomorrow night, Testing in Production. It's a way to find errors at scale.
Mean time to recovery is how much your client yells at you while you're trying to get the system back up and what kind of naughty words they use. That's like a modifier because some of them are not very nice.
Automation is the process of making things fail really consistently and predictably with no human oversight. Once you have it automated, it will fail exactly the right way every time. It's super useful.
A microservice is a small independent operation that multiplies the complexity of your testing exponentially. In case you were worried you didn't have enough testing, we'll add microservices. It'll be great.
Containers: a box to put inside another box to run on a box that might be running boxes that run other boxes. If you aren't confused yet, we named it all after some ancient Greek stuff. Ask Maersk.
Silo is a security device to prevent the accidental transmission of any knowledge from one part of a company to another. Because you don't want any kind of leakage between departments.
Nines are a unit of failure. The more nines you have, the harder they are to maintain. So if you have a lot of nines, you're just always scared because you can only get fewer nines. That's how it works, right?
Observability is the ability to tell when something has gone pear-shaped with extremely high cardinality. Because God knows it's not a good outage if you can't, to the 14th decimal, tell how bad it was. Observability.
A/B testing is great. It is a way to show a new bug to only half your customers at a time. Because variety.
Chaos engineering is the act of introducing a poo-flinging monkey into your production environment on purpose. There are now companies that you can pay to bring in monkeys to fling poo so you don't have to have your own monkey. It's great. Thank you, my friends at Gremlin.
Autonomy is the ability to get good and messed up without needing to have any meetings about it. How much can you screw up your own work life? That's what autonomy is. Also parenting.
Shift left. I put this one in for localization. Next to the Zed on a QWERTY keyboard. Did I get it right? Yeah.
Event-driven architecture: systems designed around messages being received, hopefully, because if we receive a message, then we're going to do a thing. Definitely, we're going to do a thing as soon as we get the message, which... did we mention observability? Where did my message go?
Serverless is code you run on someone else's servers. See also ledger domain, sleight of hand.
Ticketing: a way to assert positive control over work ownership while passing the buck. It is the highest form of management. I'm telling you right now, ticketing systems are the way to go if you want all the authority, none of the work. Thank you.