Architecture, what does it even mean?

Preview:

Citation preview

Architecture I do not think it means

what you think it means

Andrew Clay Shafer @littleidea

Microservicesyou keep using that word

@littleidea

You are going to need itthe last responsible moment was 12 months ago

@littleidea

Sympathy for the Machinepleased to meet you, hope you guessed my name

@littleidea

We are missing languagewe have no timeless way of building

@littleidea

Story Time With Uncle Andrew

this is fine

@littleidea

@littleidea

tl;dr there is a new thing

better than the old thing

local rationality rules everything we have not yet developed the words

@littleidea

Agenda• Introduction • Influences • Assertions • Meandering • Bikeshedding • Conflate Things • More Meandering • Call to Action

Andrew Clay Shafer

Andrew Clay Shafer

@littleidea

@littleidea

My Formative Journey

@littleidea

Models, Mechanisms, Machines

@littleidea

Assertions

Principles > Practices >Tools

devops, continuous delivery, microservices…

words

These things are all one…

@littleidea

how, why, what

@littleidea

everyone wants to continuously devops microservices

buzzword compliance™

faster and safer

OODA LOOP SMALL BATCHES

Continuous Delivery?

A Quantum of Delivery

continuously delivered microservices

@littleidea

if the per service cost of deployment and management of each service is not negligible…

gl;hf

the best way to drive down the cost of deployment… architecture

@littleidea

improved architecture >> ad hoc automation

@littleidea

more problems are architectural than people seem to realize

most problems don’t manifest in slides

@littleidea

deployment problems operational problems

scaling problems resilience problems

@littleidea

non-functional requirements

requirements, which if not met, will make a system non-functional

@littleidea

failure modes matter

@littleidea

where were we?

@littleidea

Towns, Buildings, Construction

@littleidea

prelude: relate to coarse patterns declaration: a statement of value narrative: prose about the pattern continuity: relate to fine grain patterns

A Pattern Language

@littleidea

If I had an hour to solve a problem I'd spend 55 minutes thinking about the problem and

5 minutes thinking about solutions.

— Albert Einstein

@littleidea

What is the problem?

@littleidea

So Obvious? So What?

@littleidea

what even is architecture?

@littleidea

what even is an architect?

@littleidea

•Software Architecture? •System Architecture? •Service Architecture?

Differentiated Value Line

Databases

Monitoring

Userland

glibc

kernel

hardware

Software

Software

Software

Software

Software

Software

not Software

Differentiated Value Line

Someone Else’s Problem

Someone Else’s Problem

Someone Else’s Problem

Someone Else’s Problem

Someone Else’s Problem

Someone Else’s Problem

@littleidea

I’d rather be able to fix a bug in the kernel and not need to, than need to fix a bug in the kernel and not be able to

@littleidea

What do you need to deliver a service?

@littleidea

When you draw a hexagon connected to a database what did

you actually decide?

@littleidea

What can actually be implemented?

@littleidea

prelude: relate to big picture declaration: a statement of value narrative: prose about the pattern continuity: relate to details

A Pattern Language

@littleidea

Qualitative and Quantitative

@littleidea

What promises does the architecture help you make and keep?

@littleidea

How does it relate to the people?

@littleidea

Inside and Outside the ‘Software’? System? Service?

How do people gain confidence about their work?What do they enjoy?What do they dread?How do people perceive the difficulty of their work? What do they learn through conversation alone?How do engineers learn “on-the-job”?

Bonus Allspaw Slide

“Well”-adapted work occurs with a facility that belies the difficulty of the demands resolved and

the dilemmas balanced.

Joint Cognitive Systems, Patterns in Cognitive Systems Engineering.

Woods, Hollnagel, 2006

Law of Fluency

Bonus Allspaw Slide

@littleidea

we need shared metaphors

@littleidea

we need a sociolect

@littleidea

we need sociolects

@littleidea

minimally viable formalism

@littleidea

In Summary

• This cloud thing is really going to be changing everything

• We develop pop cultures as practitioners

• Architecture is generally poorly understood

• Qualitative and quantitative understanding would benefit everyone

@littleidea

Call To Action

• Continuously Expand Your Understanding

• Share Your Understanding With The Global Community of Practice

• Develop Shared Metaphors and Sociolects

• Please Someone Write This Book For Me (So I don’t have to)

Thank You

@littleidea

Differentiated Value Line

Someone Else’s Problem

Someone Else’s Problem

Someone Else’s Problem

Someone Else’s Problem

Someone Else’s Problem

Someone Else’s Problem

Recommended