SlideShare a Scribd company logo
1 of 46
Download to read offline
Maneuverable Architecture
Michael T. Nygard - Cognitect
Thesis
✤ Agile dev works at micro scale
✤ Won’t create macro scale agility
Maneuverability
John Boyd
✤ Fighter pilot
✤ Air combat
instructor
✤ Military theorist
Kinetic to potentialPotential to kinetic
Energy-Maneuverability (EM)
Kinetic ⟷ Potential
Gain and Shed Momentum
Rapidly Change Maneuvers
Control tempo
Take initiative
Send ambiguous signals
ManeuverWarfare
Note how orientation shapes observation, shapes decision, shapes action, and in turn is shaped by the feedback and
other phenomena coming into our sensing or observing window.
Also note how the entire loop (not just orientation) is an ongoing many-sided implicit cross-referencing process
of projection, empathy, correlation, and rejection.
From The Essence of Winning and Losing, John R. Boyd, January 1996.
Feed
Forward
Observations Decision
(Hypothesis)
Action
(Test)
Cultural
Traditions
Genetic
Heritage
New
Information Previous
Experience
Analyses &
Synthesis
Feed
Forward
Feed
Forward
Implicit
Guidance
& Control
Implicit
Guidance
& Control
Unfolding
Interaction
With
Environment
Unfolding
Interaction
With
Environment Feedback
Feedback
Outside
Information
Unfolding
Circumstances
Observe Orient Decide Act
Defense and the National Interest, http://www.d-n-i.net, 2006
Maneuverable Architecture
Control tempo
Take initiative
Send ambiguous signals
“From now on, I control 

the tempo.”
Tempo is emergent.
Gain
Shed
Redirect
Typical IT architecture is a
disaster for maneuverability.
Techniques, not patterns… yet
Disposability
✤ Infrastructure
✤ Code
✤ Dependencies
✤ Teams?
Architecture for Disposability
✤ Focus on representations
✤ Messages
✤ Async
Avoid sunk cost lock-in.
Sufficiently Abstract UI
Counterexample:
100+ countries.
6 services per country.
UI knows which services to call
UI has forms specific to each one.
Sufficiently Abstract UI 2
Better:
Generic UI + 

Semantic HTML + 

Unobtrusive JavaScript
Best:
Above, plus either SSR or CSR, with CMS
& toolkit for adaptable components.
Services & scripting
URL
μService μService
script
✤ Dynamic
deployment of
script
✤ Script addressable
by URL
Immutable values,
monotonic succession
Ref Value at TN
Ref Value at TN
Value at TN+1
Immutable values,
monotonic succession
Value Semantics Ref Semantics
Values do not change
Change is atomic
No observable intermediate
states
Equality is identity Equality based on referent
Example: Perpetual string
✤ Perpetual string: store strings forever.
✤ URL is SHA-256 hash of string.
✤ Use for scripts, legal text.
✤ Edit the script, get a new URL
Example: Shopping Cart asValue
Add: function from Cart, Item, Qty to Cart
Remove: function from Cart, Item to Cart
Cart is a number
Example: Shopping Cart asValue
Cart0
User
Cart
«ref»
Add
Cart0
User
Cart
«ref»
Cart1
Generalized minimalism
Feature: Send email to customer ahead
of credit card expiration.
Complexity: Number of reminders and
advance notice vary by tenant.
Required: Record email sent, bounced.
Complected solution
Daily job wakes up, scans cards, creates
warnings, sends email, checks bounces.
User ID Sent onWarning ID Bounced?
Token ExpirationCard ID User ID
User Email
Minimal, generalized solution
At: at datetime, call this URL.
Template: accept body + params to
format text
Before: generate series of datetimes
Mailer: send email to addr, track bounces
Minimal, generalized solution
Registration
At
3. Several calls to "At".
Provide URLs for script
Script Engine
2. create new script,
get URL
Before
1. create reminder dates
Reminder
script
Much later: invoke reminder script
creates
Perpetual
string
A. Get template
Template Mailer
B. Format message
C. Send message
Issue identifiers
✤ Every service
issues identifiers
✤ No restrictions on
use
Catalog
Create
Add
Query
catalog ID
Policy Proxy
Client
Query
catalog ID
client ID
Catalog
Policy
Proxy
F: client →
catalog
Faceted identities
User
Ledger
Cart
Dept.
Address
Book
Wish
List
Concierge
Company
Faceted identities
✤ IDs all issued by
services
✤ Relationships
externalized
Catalog
Company
Item
SKU
Microsite
Prize Pool
Explicit context
Implicit Explicit
Bare identifiers URLs
State names State machines
Assumed channel Reply-to queue
Self-defense
✤ Required for use without
permission
✤ Protect from overload
✤ Allow cut off of maluser
✤ Important for operational

safety and authorization
Client
Query
Catalog
Policy
Proxy
F: client →
catalog
client ID
catalog ID
gateway
trusted
untrusted
Self-defense 2
✤ Also applies to outcalls
Payment
Processor
gateway
The
Collector
trusted
untrusted
Half-duplex testing
Wrong
1. Set up mock
2. Set up call
3. Make call
4. Assertions about result
5. Verify mock was called
Half-duplex testing
Right - call side
1. Set up mock
2. Set up call
3. Make call
4. Verify mock was called
correctly.
Half-duplex testing
Right - call side
1. Set up mock
2. Set up call
3. Make call
4. Verify mock was called
correctly.
Right - response side
1. Skip mock & call
2. Inject fake results
3. Verify results handled correctly.
Other techniques I’m not 100%
sure about
✤ Continuation URL
✤ Separate query from action
✤ Never deploy together
✤ Tell, don’t ask
Tempo and Maneuverability
Thanks!
Michael T. Nygard
Cognitect
mtnygard@cognitect.com
@mtnygard

More Related Content

Viewers also liked

Fault tolerance made easy
Fault tolerance made easyFault tolerance made easy
Fault tolerance made easy
Uwe Friedrichsen
 
[ML15]Class Cat佐々木さん「いち早く人工知能テクノロジーを取り入れた製品・サービスを市場に展開するには?」
[ML15]Class Cat佐々木さん「いち早く人工知能テクノロジーを取り入れた製品・サービスを市場に展開するには?」[ML15]Class Cat佐々木さん「いち早く人工知能テクノロジーを取り入れた製品・サービスを市場に展開するには?」
[ML15]Class Cat佐々木さん「いち早く人工知能テクノロジーを取り入れた製品・サービスを市場に展開するには?」
AINOW
 

Viewers also liked (13)

OpenStack Summit :: Redundancy Doesn't Always Mean "HA" or "Cluster"
OpenStack Summit :: Redundancy Doesn't Always Mean "HA" or "Cluster"OpenStack Summit :: Redundancy Doesn't Always Mean "HA" or "Cluster"
OpenStack Summit :: Redundancy Doesn't Always Mean "HA" or "Cluster"
 
L02 What is Software Architecture?
L02 What is Software Architecture?L02 What is Software Architecture?
L02 What is Software Architecture?
 
Resiliency jenna-2013
Resiliency jenna-2013Resiliency jenna-2013
Resiliency jenna-2013
 
AppSphere 15 - Preparing for System Failure: How Pearson used AppDynamics to ...
AppSphere 15 - Preparing for System Failure: How Pearson used AppDynamics to ...AppSphere 15 - Preparing for System Failure: How Pearson used AppDynamics to ...
AppSphere 15 - Preparing for System Failure: How Pearson used AppDynamics to ...
 
Designing apps for resiliency
Designing apps for resiliencyDesigning apps for resiliency
Designing apps for resiliency
 
Resilience engineering
Resilience engineeringResilience engineering
Resilience engineering
 
FORUM PA 2015 - Microservices with IBM Bluemix
FORUM PA 2015 - Microservices with IBM BluemixFORUM PA 2015 - Microservices with IBM Bluemix
FORUM PA 2015 - Microservices with IBM Bluemix
 
Fault tolerance made easy
Fault tolerance made easyFault tolerance made easy
Fault tolerance made easy
 
Patterns of resilience
Patterns of resiliencePatterns of resilience
Patterns of resilience
 
Resiliency through failure @ QConNY 2013
Resiliency through failure @ QConNY 2013Resiliency through failure @ QConNY 2013
Resiliency through failure @ QConNY 2013
 
[ML15]Class Cat佐々木さん「いち早く人工知能テクノロジーを取り入れた製品・サービスを市場に展開するには?」
[ML15]Class Cat佐々木さん「いち早く人工知能テクノロジーを取り入れた製品・サービスを市場に展開するには?」[ML15]Class Cat佐々木さん「いち早く人工知能テクノロジーを取り入れた製品・サービスを市場に展開するには?」
[ML15]Class Cat佐々木さん「いち早く人工知能テクノロジーを取り入れた製品・サービスを市場に展開するには?」
 
Resilient Architecture
Resilient ArchitectureResilient Architecture
Resilient Architecture
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your Niche
 

Similar to Manueverable architecture

20141116_Roots of Trust IIC_Nist Version
20141116_Roots of Trust IIC_Nist Version20141116_Roots of Trust IIC_Nist Version
20141116_Roots of Trust IIC_Nist Version
Michael Mossbarger
 
Risky business: Guide to Risk Management
Risky business: Guide to Risk ManagementRisky business: Guide to Risk Management
Risky business: Guide to Risk Management
Michael Le
 

Similar to Manueverable architecture (20)

20141116_Roots of Trust IIC_Nist Version
20141116_Roots of Trust IIC_Nist Version20141116_Roots of Trust IIC_Nist Version
20141116_Roots of Trust IIC_Nist Version
 
Startupmetrics 4 Pirates (Haas April, 2010)
Startupmetrics 4 Pirates (Haas April, 2010)Startupmetrics 4 Pirates (Haas April, 2010)
Startupmetrics 4 Pirates (Haas April, 2010)
 
Stories From The Web 3 Battlefield
Stories From The Web 3 BattlefieldStories From The Web 3 Battlefield
Stories From The Web 3 Battlefield
 
Metrics that every startup should know
Metrics that every startup should knowMetrics that every startup should know
Metrics that every startup should know
 
Risky business: Guide to Risk Management
Risky business: Guide to Risk ManagementRisky business: Guide to Risk Management
Risky business: Guide to Risk Management
 
Startup Metrics for Pirates (Startonomics Beijing, June 2009)
Startup Metrics for Pirates (Startonomics Beijing, June 2009)Startup Metrics for Pirates (Startonomics Beijing, June 2009)
Startup Metrics for Pirates (Startonomics Beijing, June 2009)
 
Lecture13
Lecture13Lecture13
Lecture13
 
Startup Metrics 4 Pirates (May 2010)
Startup Metrics 4 Pirates (May 2010)Startup Metrics 4 Pirates (May 2010)
Startup Metrics 4 Pirates (May 2010)
 
Startup Metrics for Pirates / KILL a Feature (FOWA London, Oct 2009)
Startup Metrics for Pirates / KILL a Feature (FOWA London, Oct 2009)Startup Metrics for Pirates / KILL a Feature (FOWA London, Oct 2009)
Startup Metrics for Pirates / KILL a Feature (FOWA London, Oct 2009)
 
How Do You Measure Up
How Do You Measure UpHow Do You Measure Up
How Do You Measure Up
 
2018-05-16 Geeknight Dallas - Distributed Systems Talk
2018-05-16 Geeknight Dallas - Distributed Systems Talk2018-05-16 Geeknight Dallas - Distributed Systems Talk
2018-05-16 Geeknight Dallas - Distributed Systems Talk
 
How To Write An Narrative Essay. Online assignment writing service.
How To Write An Narrative Essay. Online assignment writing service.How To Write An Narrative Essay. Online assignment writing service.
How To Write An Narrative Essay. Online assignment writing service.
 
Pin the tail on the metric v00 75 min version
Pin the tail on the metric v00 75 min versionPin the tail on the metric v00 75 min version
Pin the tail on the metric v00 75 min version
 
Silicon Valley 2.0: The Lean VC
Silicon Valley 2.0: The Lean VCSilicon Valley 2.0: The Lean VC
Silicon Valley 2.0: The Lean VC
 
Credit Risk Evaluation Model
Credit Risk Evaluation ModelCredit Risk Evaluation Model
Credit Risk Evaluation Model
 
Silicon Valley 2.0: The Lean VC (Waterloo)
Silicon Valley 2.0: The Lean VC (Waterloo)Silicon Valley 2.0: The Lean VC (Waterloo)
Silicon Valley 2.0: The Lean VC (Waterloo)
 
LeanVC : Dave McClure opens TEC SF Chapter
LeanVC : Dave McClure opens TEC SF ChapterLeanVC : Dave McClure opens TEC SF Chapter
LeanVC : Dave McClure opens TEC SF Chapter
 
Startup Metrics for Pirates (FOWA/Miami, Feb 2009)
Startup Metrics for Pirates (FOWA/Miami, Feb 2009)Startup Metrics for Pirates (FOWA/Miami, Feb 2009)
Startup Metrics for Pirates (FOWA/Miami, Feb 2009)
 
Silicon Valley 2.0: The Lean VC
Silicon Valley 2.0: The Lean VCSilicon Valley 2.0: The Lean VC
Silicon Valley 2.0: The Lean VC
 
Enterprise Grade Data Labeling - Design Your Ground Truth to Scale in Produ...
Enterprise Grade Data Labeling - Design Your Ground Truth to Scale in Produ...Enterprise Grade Data Labeling - Design Your Ground Truth to Scale in Produ...
Enterprise Grade Data Labeling - Design Your Ground Truth to Scale in Produ...
 

Recently uploaded

%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 

Recently uploaded (20)

WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 

Manueverable architecture