A Young Lady's Illustrated Primer to Architecture and Technical Decision-Making - Charity Majors,...
-
Upload
devopsdays-tel-aviv -
Category
Technology
-
view
24 -
download
0
Transcript of A Young Lady's Illustrated Primer to Architecture and Technical Decision-Making - Charity Majors,...
![Page 1: A Young Lady's Illustrated Primer to Architecture and Technical Decision-Making - Charity Majors, Honeycomb - DevOpsDays Tel Aviv 2016](https://reader031.fdocuments.us/reader031/viewer/2022013013/587e27091a28abb93e8b51ab/html5/thumbnails/1.jpg)
A Young Lady’s Illustrated Primer to Architecture and Technical Decision-Making
Charity Majors, honeycomb.io @mipsytipsy
![Page 2: A Young Lady's Illustrated Primer to Architecture and Technical Decision-Making - Charity Majors, Honeycomb - DevOpsDays Tel Aviv 2016](https://reader031.fdocuments.us/reader031/viewer/2022013013/587e27091a28abb93e8b51ab/html5/thumbnails/2.jpg)
A Young Lady’s Illustrated Primer to Architecture and Technical Decision-Making
Charity Majors, honeycomb.io @mipsytipsy
![Page 3: A Young Lady's Illustrated Primer to Architecture and Technical Decision-Making - Charity Majors, Honeycomb - DevOpsDays Tel Aviv 2016](https://reader031.fdocuments.us/reader031/viewer/2022013013/587e27091a28abb93e8b51ab/html5/thumbnails/3.jpg)
Prelude: Story Time
![Page 4: A Young Lady's Illustrated Primer to Architecture and Technical Decision-Making - Charity Majors, Honeycomb - DevOpsDays Tel Aviv 2016](https://reader031.fdocuments.us/reader031/viewer/2022013013/587e27091a28abb93e8b51ab/html5/thumbnails/4.jpg)
The curious tale of how
The Dog Ate My Homeworkand I missed
my talk
![Page 5: A Young Lady's Illustrated Primer to Architecture and Technical Decision-Making - Charity Majors, Honeycomb - DevOpsDays Tel Aviv 2016](https://reader031.fdocuments.us/reader031/viewer/2022013013/587e27091a28abb93e8b51ab/html5/thumbnails/5.jpg)
… thank you!
Tel Aviv is awesome. <3
![Page 6: A Young Lady's Illustrated Primer to Architecture and Technical Decision-Making - Charity Majors, Honeycomb - DevOpsDays Tel Aviv 2016](https://reader031.fdocuments.us/reader031/viewer/2022013013/587e27091a28abb93e8b51ab/html5/thumbnails/6.jpg)
![Page 7: A Young Lady's Illustrated Primer to Architecture and Technical Decision-Making - Charity Majors, Honeycomb - DevOpsDays Tel Aviv 2016](https://reader031.fdocuments.us/reader031/viewer/2022013013/587e27091a28abb93e8b51ab/html5/thumbnails/7.jpg)
“Software is eating the world”~pmarca
“and your brain, probably”
~me
![Page 8: A Young Lady's Illustrated Primer to Architecture and Technical Decision-Making - Charity Majors, Honeycomb - DevOpsDays Tel Aviv 2016](https://reader031.fdocuments.us/reader031/viewer/2022013013/587e27091a28abb93e8b51ab/html5/thumbnails/8.jpg)
Making better choices with software.
![Page 9: A Young Lady's Illustrated Primer to Architecture and Technical Decision-Making - Charity Majors, Honeycomb - DevOpsDays Tel Aviv 2016](https://reader031.fdocuments.us/reader031/viewer/2022013013/587e27091a28abb93e8b51ab/html5/thumbnails/9.jpg)
![Page 10: A Young Lady's Illustrated Primer to Architecture and Technical Decision-Making - Charity Majors, Honeycomb - DevOpsDays Tel Aviv 2016](https://reader031.fdocuments.us/reader031/viewer/2022013013/587e27091a28abb93e8b51ab/html5/thumbnails/10.jpg)
2000
“u can haz LAMP stack”
![Page 11: A Young Lady's Illustrated Primer to Architecture and Technical Decision-Making - Charity Majors, Honeycomb - DevOpsDays Tel Aviv 2016](https://reader031.fdocuments.us/reader031/viewer/2022013013/587e27091a28abb93e8b51ab/html5/thumbnails/11.jpg)
2005
“Would you care to come over and discuss service oriented architectures and REST APIs? Over tea, perhaps.”
“Splendid! And have you heard of this ‘NoSQL’ oddity?”
“I am sure tis but a passing fad.”
![Page 12: A Young Lady's Illustrated Primer to Architecture and Technical Decision-Making - Charity Majors, Honeycomb - DevOpsDays Tel Aviv 2016](https://reader031.fdocuments.us/reader031/viewer/2022013013/587e27091a28abb93e8b51ab/html5/thumbnails/12.jpg)
2010-2013ish
Infrastructure
VirtualizationConfig managementRDBMSServices with REST APIsContinuous integration/deliveryAgile“DevOps”
![Page 13: A Young Lady's Illustrated Primer to Architecture and Technical Decision-Making - Charity Majors, Honeycomb - DevOpsDays Tel Aviv 2016](https://reader031.fdocuments.us/reader031/viewer/2022013013/587e27091a28abb93e8b51ab/html5/thumbnails/13.jpg)
2016: welcome to the jungle
even more logos
![Page 14: A Young Lady's Illustrated Primer to Architecture and Technical Decision-Making - Charity Majors, Honeycomb - DevOpsDays Tel Aviv 2016](https://reader031.fdocuments.us/reader031/viewer/2022013013/587e27091a28abb93e8b51ab/html5/thumbnails/14.jpg)
Accelerating trends in 2016
Polyglot storage Composable infrastructure
Containerization, microservices Coupling platforms (*aaS)
Storing more and more data forever
![Page 15: A Young Lady's Illustrated Primer to Architecture and Technical Decision-Making - Charity Majors, Honeycomb - DevOpsDays Tel Aviv 2016](https://reader031.fdocuments.us/reader031/viewer/2022013013/587e27091a28abb93e8b51ab/html5/thumbnails/15.jpg)
Cambrian Explosion of
technical complexity
![Page 16: A Young Lady's Illustrated Primer to Architecture and Technical Decision-Making - Charity Majors, Honeycomb - DevOpsDays Tel Aviv 2016](https://reader031.fdocuments.us/reader031/viewer/2022013013/587e27091a28abb93e8b51ab/html5/thumbnails/16.jpg)
the paradox of choicethis is actually really hard on humans.
![Page 17: A Young Lady's Illustrated Primer to Architecture and Technical Decision-Making - Charity Majors, Honeycomb - DevOpsDays Tel Aviv 2016](https://reader031.fdocuments.us/reader031/viewer/2022013013/587e27091a28abb93e8b51ab/html5/thumbnails/17.jpg)
![Page 18: A Young Lady's Illustrated Primer to Architecture and Technical Decision-Making - Charity Majors, Honeycomb - DevOpsDays Tel Aviv 2016](https://reader031.fdocuments.us/reader031/viewer/2022013013/587e27091a28abb93e8b51ab/html5/thumbnails/18.jpg)
tips for making better technical decisions
![Page 19: A Young Lady's Illustrated Primer to Architecture and Technical Decision-Making - Charity Majors, Honeycomb - DevOpsDays Tel Aviv 2016](https://reader031.fdocuments.us/reader031/viewer/2022013013/587e27091a28abb93e8b51ab/html5/thumbnails/19.jpg)
Technology serves the mission
![Page 20: A Young Lady's Illustrated Primer to Architecture and Technical Decision-Making - Charity Majors, Honeycomb - DevOpsDays Tel Aviv 2016](https://reader031.fdocuments.us/reader031/viewer/2022013013/587e27091a28abb93e8b51ab/html5/thumbnails/20.jpg)
Software is the enemy
• Every piece of software adds fragility and points of failure
• Everything you write will need to be debugged and maintained
• It is easy to add software, and hard to remove it
![Page 21: A Young Lady's Illustrated Primer to Architecture and Technical Decision-Making - Charity Majors, Honeycomb - DevOpsDays Tel Aviv 2016](https://reader031.fdocuments.us/reader031/viewer/2022013013/587e27091a28abb93e8b51ab/html5/thumbnails/21.jpg)
Resist software sprawl.
Can you solve the problem with your existing tools?
h/t @jessitron: http://blog.codeship.com/growing-tech-stack-say-no/
![Page 22: A Young Lady's Illustrated Primer to Architecture and Technical Decision-Making - Charity Majors, Honeycomb - DevOpsDays Tel Aviv 2016](https://reader031.fdocuments.us/reader031/viewer/2022013013/587e27091a28abb93e8b51ab/html5/thumbnails/22.jpg)
Optimize globally, not locally
If you pick the perfect language/storage solution for every local problem, you will have an unmanageable mess.
![Page 23: A Young Lady's Illustrated Primer to Architecture and Technical Decision-Making - Charity Majors, Honeycomb - DevOpsDays Tel Aviv 2016](https://reader031.fdocuments.us/reader031/viewer/2022013013/587e27091a28abb93e8b51ab/html5/thumbnails/23.jpg)
Have a gating process for major new components
• What is the relative gain?
• Manufacture friction if necessary
• Don’t micromanage outside the critical path
![Page 24: A Young Lady's Illustrated Primer to Architecture and Technical Decision-Making - Charity Majors, Honeycomb - DevOpsDays Tel Aviv 2016](https://reader031.fdocuments.us/reader031/viewer/2022013013/587e27091a28abb93e8b51ab/html5/thumbnails/24.jpg)
Choose boring technology!
• Failure modes are well understood
• Rich library support for languages
• For databases, extensive production hardening
• Tooling and support for observability, debugging
h/t @mcfunley, http://mcfunley.com/choose-boring-technology
![Page 25: A Young Lady's Illustrated Primer to Architecture and Technical Decision-Making - Charity Majors, Honeycomb - DevOpsDays Tel Aviv 2016](https://reader031.fdocuments.us/reader031/viewer/2022013013/587e27091a28abb93e8b51ab/html5/thumbnails/25.jpg)
Understand your appetite for risk
• Early startups have massively greater tolerance for risk.
• Use that risk! But spend it on your core differentiators.
![Page 26: A Young Lady's Illustrated Primer to Architecture and Technical Decision-Making - Charity Majors, Honeycomb - DevOpsDays Tel Aviv 2016](https://reader031.fdocuments.us/reader031/viewer/2022013013/587e27091a28abb93e8b51ab/html5/thumbnails/26.jpg)
more considerations:
• Can you pay someone to do it better, for cheaper? Value your own team’s time.
• Replacing a thing? Great: define a timeline and get rid of the old thing.
• You *should* give preference to things your team has expertise with.
• Fuck hacker news.
![Page 27: A Young Lady's Illustrated Primer to Architecture and Technical Decision-Making - Charity Majors, Honeycomb - DevOpsDays Tel Aviv 2016](https://reader031.fdocuments.us/reader031/viewer/2022013013/587e27091a28abb93e8b51ab/html5/thumbnails/27.jpg)
Are they friendly and welcoming? Do they have a code of conduct, do they deal with assholes effectively? Do they value
new contributors or are they tribal and snobby?
It is totally legitimate to make software choices that are influenced by the quality
of the community.
![Page 28: A Young Lady's Illustrated Primer to Architecture and Technical Decision-Making - Charity Majors, Honeycomb - DevOpsDays Tel Aviv 2016](https://reader031.fdocuments.us/reader031/viewer/2022013013/587e27091a28abb93e8b51ab/html5/thumbnails/28.jpg)
Operational Impact
The more mature your company becomes, the more your technical choices must be driven by operational impact.
Corollary: make as many ops problems as possible not your problem.
![Page 29: A Young Lady's Illustrated Primer to Architecture and Technical Decision-Making - Charity Majors, Honeycomb - DevOpsDays Tel Aviv 2016](https://reader031.fdocuments.us/reader031/viewer/2022013013/587e27091a28abb93e8b51ab/html5/thumbnails/29.jpg)
Celebrate the engineers who remove code, deprecate, and refactor, as much as those who add features.
![Page 30: A Young Lady's Illustrated Primer to Architecture and Technical Decision-Making - Charity Majors, Honeycomb - DevOpsDays Tel Aviv 2016](https://reader031.fdocuments.us/reader031/viewer/2022013013/587e27091a28abb93e8b51ab/html5/thumbnails/30.jpg)
Manifesto:
1. Technology serves the mission.
2. Reuse solutions.
3. Create friction for adding new components.
4. Choose boring technology, when you can.
5. Spend your risk tokens on key differentiators.
6. The longer you survive, the more operational impact trumps all.
![Page 31: A Young Lady's Illustrated Primer to Architecture and Technical Decision-Making - Charity Majors, Honeycomb - DevOpsDays Tel Aviv 2016](https://reader031.fdocuments.us/reader031/viewer/2022013013/587e27091a28abb93e8b51ab/html5/thumbnails/31.jpg)
![Page 32: A Young Lady's Illustrated Primer to Architecture and Technical Decision-Making - Charity Majors, Honeycomb - DevOpsDays Tel Aviv 2016](https://reader031.fdocuments.us/reader031/viewer/2022013013/587e27091a28abb93e8b51ab/html5/thumbnails/32.jpg)
remember, it’s gonna be worse in 2017. <3
![Page 33: A Young Lady's Illustrated Primer to Architecture and Technical Decision-Making - Charity Majors, Honeycomb - DevOpsDays Tel Aviv 2016](https://reader031.fdocuments.us/reader031/viewer/2022013013/587e27091a28abb93e8b51ab/html5/thumbnails/33.jpg)
thanks kids! enjoy #devopsdaysTLV!
thanks to@jessitron, @mcfunley and @ferlatte ~ @mipsytipsy