Post on 09-Apr-2017
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