a young lady's illustrated primer to architecture and technical decision-making - charity...

33
A Young Ladys Iusad Primer Archicture and Technical Decision-Making Charity Majors, honeycomb.io @mipsytipsy

Upload: devopsdays-tel-aviv

Post on 17-Jan-2017

25 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: A Young Lady's Illustrated Primer to Architecture and Technical Decision-Making - Charity Majors, Honeycomb - DevOpsDays Tel Aviv 2016

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

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

Prelude: Story Time

Page 4: A Young Lady's Illustrated Primer to Architecture and Technical Decision-Making - Charity Majors, Honeycomb - DevOpsDays Tel Aviv 2016

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

… 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
Page 7: A Young Lady's Illustrated Primer to Architecture and Technical Decision-Making - Charity Majors, Honeycomb - DevOpsDays Tel Aviv 2016

“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

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
Page 10: A Young Lady's Illustrated Primer to Architecture and Technical Decision-Making - Charity Majors, Honeycomb - DevOpsDays Tel Aviv 2016

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

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

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

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

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

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

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
Page 18: A Young Lady's Illustrated Primer to Architecture and Technical Decision-Making - Charity Majors, Honeycomb - DevOpsDays Tel Aviv 2016

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

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

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

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

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

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

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

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

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

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

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

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

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
Page 32: A Young Lady's Illustrated Primer to Architecture and Technical Decision-Making - Charity Majors, Honeycomb - DevOpsDays Tel Aviv 2016

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

thanks kids! enjoy #devopsdaysTLV!

thanks to@jessitron, @mcfunley and @ferlatte ~ @mipsytipsy