velocity through consistency with zachary auerbach
TRANSCRIPT
![Page 1: Velocity through Consistency with Zachary Auerbach](https://reader034.vdocuments.site/reader034/viewer/2022052300/58ef340a1a28ab0f6c8b45e1/html5/thumbnails/1.jpg)
Velocity through Consistency
The Keynote Based On the Abstract Based On the Team Based On the Theory Based On That One Tweet By Martin Fowler
![Page 2: Velocity through Consistency with Zachary Auerbach](https://reader034.vdocuments.site/reader034/viewer/2022052300/58ef340a1a28ab0f6c8b45e1/html5/thumbnails/2.jpg)
Velocity through Consistency
The Talk
![Page 3: Velocity through Consistency with Zachary Auerbach](https://reader034.vdocuments.site/reader034/viewer/2022052300/58ef340a1a28ab0f6c8b45e1/html5/thumbnails/3.jpg)
MeThat’s a cat
![Page 4: Velocity through Consistency with Zachary Auerbach](https://reader034.vdocuments.site/reader034/viewer/2022052300/58ef340a1a28ab0f6c8b45e1/html5/thumbnails/4.jpg)
MeWork at Pivotal
Write Code Yell A Lot
Cats
![Page 5: Velocity through Consistency with Zachary Auerbach](https://reader034.vdocuments.site/reader034/viewer/2022052300/58ef340a1a28ab0f6c8b45e1/html5/thumbnails/5.jpg)
MeWork at Pivotal
Write Code Yell A Lot
Cats
![Page 6: Velocity through Consistency with Zachary Auerbach](https://reader034.vdocuments.site/reader034/viewer/2022052300/58ef340a1a28ab0f6c8b45e1/html5/thumbnails/6.jpg)
This talk
• What is consistency?
• How does Pivotal consistency?
• Can I consistency?
• Is it hard to consistency?
![Page 7: Velocity through Consistency with Zachary Auerbach](https://reader034.vdocuments.site/reader034/viewer/2022052300/58ef340a1a28ab0f6c8b45e1/html5/thumbnails/7.jpg)
You promised us velocity, Zak
![Page 8: Velocity through Consistency with Zachary Auerbach](https://reader034.vdocuments.site/reader034/viewer/2022052300/58ef340a1a28ab0f6c8b45e1/html5/thumbnails/8.jpg)
This talk
• What is velocity?
• How does Pivotal velocity?
• Can I velocity?
• Is it hard to velocity?
![Page 9: Velocity through Consistency with Zachary Auerbach](https://reader034.vdocuments.site/reader034/viewer/2022052300/58ef340a1a28ab0f6c8b45e1/html5/thumbnails/9.jpg)
What is velocity?
![Page 10: Velocity through Consistency with Zachary Auerbach](https://reader034.vdocuments.site/reader034/viewer/2022052300/58ef340a1a28ab0f6c8b45e1/html5/thumbnails/10.jpg)
What is velocity
• The ability to get a specific thing done
• Without having to do a bunch of boring stuff that’s really only related because somebody (maybe you) was lazy a while ago
• Maybe I should be calling it Momentum
• But the meetup invites already went out
![Page 11: Velocity through Consistency with Zachary Auerbach](https://reader034.vdocuments.site/reader034/viewer/2022052300/58ef340a1a28ab0f6c8b45e1/html5/thumbnails/11.jpg)
Can I velocity?
![Page 12: Velocity through Consistency with Zachary Auerbach](https://reader034.vdocuments.site/reader034/viewer/2022052300/58ef340a1a28ab0f6c8b45e1/html5/thumbnails/12.jpg)
Yes, through consistency
![Page 13: Velocity through Consistency with Zachary Auerbach](https://reader034.vdocuments.site/reader034/viewer/2022052300/58ef340a1a28ab0f6c8b45e1/html5/thumbnails/13.jpg)
A non-exhaustive list of…
![Page 14: Velocity through Consistency with Zachary Auerbach](https://reader034.vdocuments.site/reader034/viewer/2022052300/58ef340a1a28ab0f6c8b45e1/html5/thumbnails/14.jpg)
Things that ruin your velocity• Snowflakes
• Config files that you put SOMEWHERE like a month ago and only use like every 2 weeks so you never actually end up remembering where they are
• Config files that are 90% unrelated to the thing you want to configure and the 10% that is relevant is buried so deep you never know where to find it
• Deployments that get stale
• Scripts that get stale
![Page 15: Velocity through Consistency with Zachary Auerbach](https://reader034.vdocuments.site/reader034/viewer/2022052300/58ef340a1a28ab0f6c8b45e1/html5/thumbnails/15.jpg)
Snowflakes
![Page 16: Velocity through Consistency with Zachary Auerbach](https://reader034.vdocuments.site/reader034/viewer/2022052300/58ef340a1a28ab0f6c8b45e1/html5/thumbnails/16.jpg)
In other words
![Page 17: Velocity through Consistency with Zachary Auerbach](https://reader034.vdocuments.site/reader034/viewer/2022052300/58ef340a1a28ab0f6c8b45e1/html5/thumbnails/17.jpg)
Inconsistency!
![Page 18: Velocity through Consistency with Zachary Auerbach](https://reader034.vdocuments.site/reader034/viewer/2022052300/58ef340a1a28ab0f6c8b45e1/html5/thumbnails/18.jpg)
Examples of inconsistency• A jenkins vm
• set up by somebody who left the company
• 3 years ago
• we don’t actually know where the vm is
• maybe it’s on amazon
• but it also somehow has access to our VCenter
![Page 19: Velocity through Consistency with Zachary Auerbach](https://reader034.vdocuments.site/reader034/viewer/2022052300/58ef340a1a28ab0f6c8b45e1/html5/thumbnails/19.jpg)
Examples of inconsistency• we’re trying to bosh deploy a CF
• last deployed 3 months ago
• manifest was built by hand
• 3 months ago
• git blame shows the initial commit was me
• because we moved it from a different git repo
• so we lost all the history
![Page 20: Velocity through Consistency with Zachary Auerbach](https://reader034.vdocuments.site/reader034/viewer/2022052300/58ef340a1a28ab0f6c8b45e1/html5/thumbnails/20.jpg)
What inconsistency looks likeStare into the void and despair
![Page 21: Velocity through Consistency with Zachary Auerbach](https://reader034.vdocuments.site/reader034/viewer/2022052300/58ef340a1a28ab0f6c8b45e1/html5/thumbnails/21.jpg)
Is it hard to consistency?
![Page 22: Velocity through Consistency with Zachary Auerbach](https://reader034.vdocuments.site/reader034/viewer/2022052300/58ef340a1a28ab0f6c8b45e1/html5/thumbnails/22.jpg)
Apparently, yes
![Page 23: Velocity through Consistency with Zachary Auerbach](https://reader034.vdocuments.site/reader034/viewer/2022052300/58ef340a1a28ab0f6c8b45e1/html5/thumbnails/23.jpg)
The story of Mega• Start with tools that facilitate consistency
• Build consistent tooling around other tools that don’t
• Maintain your tooling (more on this later)
• Open-source it
• Test it in CI
![Page 24: Velocity through Consistency with Zachary Auerbach](https://reader034.vdocuments.site/reader034/viewer/2022052300/58ef340a1a28ab0f6c8b45e1/html5/thumbnails/24.jpg)
Let’s talk about bosh!
• What do you REALLY need in your manifest?
• Make it a stub
• spiff is terrible, but it works well enough (more on this later, too)
• Don’t think about manifests, think about properties specific to YOUR deployment
![Page 25: Velocity through Consistency with Zachary Auerbach](https://reader034.vdocuments.site/reader034/viewer/2022052300/58ef340a1a28ab0f6c8b45e1/html5/thumbnails/25.jpg)
Cloudformation
• Not idempotent (inconsistent)
• Wrap it in something that IS consistent
• Maintain your wrapper!
![Page 26: Velocity through Consistency with Zachary Auerbach](https://reader034.vdocuments.site/reader034/viewer/2022052300/58ef340a1a28ab0f6c8b45e1/html5/thumbnails/26.jpg)
concourse/CI
• Concourse ensures consistency
• All state is described in source-controlled files
• All builds are described by source controlled files
• Requires user discipline
![Page 27: Velocity through Consistency with Zachary Auerbach](https://reader034.vdocuments.site/reader034/viewer/2022052300/58ef340a1a28ab0f6c8b45e1/html5/thumbnails/27.jpg)
Let’s look at a git repo
![Page 28: Velocity through Consistency with Zachary Auerbach](https://reader034.vdocuments.site/reader034/viewer/2022052300/58ef340a1a28ab0f6c8b45e1/html5/thumbnails/28.jpg)
Maybe I’ll draw some stuff
![Page 29: Velocity through Consistency with Zachary Auerbach](https://reader034.vdocuments.site/reader034/viewer/2022052300/58ef340a1a28ab0f6c8b45e1/html5/thumbnails/29.jpg)