Slide 1

Slide 1 text

ARCHITECTURE WITHOUT AN END STATE Michael T. Nygard Relevance, Inc. michael.nygard@thinkrelevance.com @mtnygard © 2011-2012 Michael T. Nygard, All Rights Reserved.

Slide 2

Slide 2 text

The Typical Enterprise Architecture Proposal

Slide 3

Slide 3 text

1. Start with a caricature

Slide 4

Slide 4 text

2. Show the promise

Slide 5

Slide 5 text

3. Pitch the plan Call Now 011 45 72 84 26

Slide 6

Slide 6 text

1. Start with a caricature Current State

Slide 7

Slide 7 text

2. Show the promise End State

Slide 8

Slide 8 text

3. Pitch the plan Year 1 Year 2 Year 3 Vendor Selection & Pilot Legacy Conversion Converged Applications

Slide 9

Slide 9 text

4. Start a new cycle Year 1 Year 2 Year 3 Year 1 Year 2 Year 3 Year 1 Year 2 Year 3 Year 1 Year 2 Year 3 Year 1 Year 2 Year 3 Current CIO’s vision Previous CIO’s boondoggle Legacy crap Legacy crap Legacy crap

Slide 10

Slide 10 text

The “steady state” is a superposition of ongoing wavefronts of change.

Slide 11

Slide 11 text

Complex Systems • No “grand narrative”, no privileged vantage point. • Only locally contextualized views • Many local optimizations • Global optimization not possible

Slide 12

Slide 12 text

Complex Systems One person cannot know the complete ramifications of a decision.

Slide 13

Slide 13 text

8 Rules 1. Embrace Plurality

Slide 14

Slide 14 text

Single System Of Record TRUTH

Slide 15

Slide 15 text

Like world peace, it exists only briefly and is so very fragile. Like world peace, it exists only briefly and is so very fragile.

Slide 16

Slide 16 text

• Mergers & acquisitions • Partnerships • Divestitures • Entering new markets Obvious Challenges To SSoR

Slide 17

Slide 17 text

• “We can only know what we can record.” • SSoR must choose one representation • “What is a customer?” • Any model enables some thoughts, disallows others. Epistemological Challenges

Slide 18

Slide 18 text

Example: Getting SKUd • What is a Stock Keeping Unit (SKU)? • Can be sold • Must be shipped • Takes up shelf space • Has a price & cost • One SKU exists per “kind of thing” that can be sold • Does not track the individual inventory item

Slide 19

Slide 19 text

Getting SKUd: Changes In One Year New Market Rendered Irrelevant Added Digital Downloads Shelf space, shipping, fixed cost Tracking individual purchases Partner sales Controlled ID space Multiple prices & shippers per item Home Installation & Renovation 16,000,000 add’l SKUs

Slide 20

Slide 20 text

COGS Distribution Stocking Presentation Pricing Delivery Inventory COGS Distribution Stocking Presentation Pricing Delivery Inventory Entitlements COGS Distribution Stocking Pricing Delivery Inventory Presentation Competing Deconstructions

Slide 21

Slide 21 text

COGS Distribution Stocking Presentation Pricing Delivery Inventory All SKUs Competing Extents

Slide 22

Slide 22 text

All SKUs Competing Extents Dark Matter

Slide 23

Slide 23 text

Hardgoods Software Subscriptions Partners Services Packages Federated Extents

Slide 24

Slide 24 text

Hardgoods Software Subscriptions Partners Services Packages Multiple Systems Of Record

Slide 25

Slide 25 text

Focus on • Local authorities and spans • System of identifiers: URNs & URIs • Representations for interchange • Enable copies instead of eliminating them • Representations identify their contributors Multiple Systems Of Record

Slide 26

Slide 26 text

Enablers • DNS • HTTP • XML Multiple Systems Of Record

Slide 27

Slide 27 text

Consumers must assume open world • Cannot embed rules from all sources • Use service URLs to identify mechanics • E.g., “price me by posting to this URL” Multiple Systems Of Record

Slide 28

Slide 28 text

8 Rules 1. Embrace Plurality 2. Contextualize Downstream

Slide 29

Slide 29 text

Business Rules Are Contextual How much information is required? What is the lifecycle of the entity? What can it be used for in the current state? Answers will vary across business units.

Slide 30

Slide 30 text

Example: Comparing Desk Sizes Equity Fixed-income HFT Frequency Size Execution Ratio per minute per day per microsecond 105 – 106 106 – 107 104 – 106 ~ 1:1 1:1 1:105

Slide 31

Slide 31 text

Example: Auto Financing How many rules are the same between personal auto financing and fleet vehicle leasing?

Slide 32

Slide 32 text

Upstream & Downstream

Slide 33

Slide 33 text

Upstream & Downstream

Slide 34

Slide 34 text

Upstream & Downstream

Slide 35

Slide 35 text

Upstream & Downstream Augment Contextualize

Slide 36

Slide 36 text

Apply policies in systems nearest the users. Those will change most often.

Slide 37

Slide 37 text

Corollary: Minimize the entities that all systems need to know about.

Slide 38

Slide 38 text

8 Rules 1. Embrace Plurality 2. Contextualize Downstream 3. Beware Grandiosity

Slide 39

Slide 39 text

! Enterprise Data Dictionary

Slide 40

Slide 40 text

! Enterprise Data Architecture

Slide 41

Slide 41 text

! Global Object Model

Slide 42

Slide 42 text

! “One World”

Slide 43

Slide 43 text

Prerequisites For An Enterprise Modeling Project • Global perspective • Agreement across all business units • Talent for abstraction • Concrete experience in all contexts • Small enough team to make decisions

Slide 44

Slide 44 text

Prerequisites For An Enterprise Modeling Project • Global perspective • Agreement across all business units • Talent for abstraction • Concrete experience in all contexts • Small enough team to make decisions ∅

Slide 45

Slide 45 text

How are industry standards different?

Slide 46

Slide 46 text

Compromise

Slide 47

Slide 47 text

The Modeling Fallacy All models are wrong. Some are useful.

Slide 48

Slide 48 text

1. Seek compromises 2. Assume an open world 3. Begin small, incrementalize 4. Allow lengthy comment periods

Slide 49

Slide 49 text

8 Rules 1. Embrace Plurality 2. Contextualize Downstream 3. Beware Grandiosity 4. Decentralize

Slide 50

Slide 50 text

Decentralization Explore market space Explore market space Explore solution space

Slide 51

Slide 51 text

Chaos? What about standards? What about duplication?

Slide 52

Slide 52 text

Prerequisites • Transparency Methods, work, and results must be visible • Isolation One group’s failure cannot cause widespread damage • Economics Distributed economic decision-making

Slide 53

Slide 53 text

Example: Boeing 777 Source: “Principles of Product Development Flow”, D. Reinertsen Aircraft Weight Cost 1 pound gross weight = $ 300 per plane

Slide 54

Slide 54 text

Set Tradeoff Policies Centrally Define balancing forces globally. Allow local optimization.

Slide 55

Slide 55 text

Misconception: Centralization == Leverage

Slide 56

Slide 56 text

Leverage? Centralize IT ➞ Constant budget fight, features vs. architecture. Playing “catch up” to business units.

Slide 57

Slide 57 text

Leverage. Decentralize ➞ Slivers of other budgets, working toward shared benefits.

Slide 58

Slide 58 text

8 Rules 1. Embrace Plurality 2. Contextualize Downstream 3. Beware Grandiosity 4. Decentralize 5. Isolate Failure Domains

Slide 59

Slide 59 text

Operational Failures

Slide 60

Slide 60 text

Operational Failures

Slide 61

Slide 61 text

Operational Failures

Slide 62

Slide 62 text

Solution Space Failures Giant bet on a strategy? “Bet the company” means one shot.

Slide 63

Slide 63 text

Value Of Modularity Splitting Substitution Augmenting Excluding Inversion Porting Source: “Design Rules: The Power of Modularity.”, Baldwin & Clark, 2000.

Slide 64

Slide 64 text

Value Of Modularity Source: “Design Rules: The Power of Modularity.”, Baldwin & Clark, 2000. Options

Slide 65

Slide 65 text

Value at exercise Profit Negative Payoff (do not exercise) Positive Payoff Value Of An Option “long call”

Slide 66

Slide 66 text

Value at exercise Profit Negative Payoff (do not exercise) Positive Payoff Value Of An Option “long call”

Slide 67

Slide 67 text

Negative Option Value Failed system or failed business unit == negative value option. Isolate the failure, use modularity options.

Slide 68

Slide 68 text

Example: Trading Company Many small applications, integrated by messaging. Cheaper to rewrite than maintain individual apps.

Slide 69

Slide 69 text

Example: Advertising Optimization Hundreds of auction/placement algos. “Developer anarchy.”

Slide 70

Slide 70 text

Example: The Ultimate In Resilient Architecture CICS Transactions You can always fit another screen in somewhere.

Slide 71

Slide 71 text

Resilient architecture admits componentwise change.

Slide 72

Slide 72 text

8 Rules 1. Embrace Plurality 2. Contextualize Downstream 3. Beware Grandiosity 4. Decentralize 5. Isolate Failure Domains 6. Data Outlives Applications 7. Applications Outlive Integrations

Slide 73

Slide 73 text

Example: Mailing-list Vendor First list assembled: 1972 Still in operation: 2011 Data set is as old as I am.

Slide 74

Slide 74 text

Database Technology ISAM VSAM Network Hierarchic Relational Graph KVS Document

Slide 75

Slide 75 text

Integration Technology CICS FTP RPC Sockets RPC CD-ROM XML-HTTP RPC ESB

Slide 76

Slide 76 text

Typical Layered Architecture UI Application Domain Persistence

Slide 77

Slide 77 text

“Hexagonal Architecture” Or Ports & Adapters http://alistair.cockburn.us/Hexagonal+architecture System Boundary Admins Users Databases Feeds in ELinux: Disabled at runtime. SELinux: Unregistering netfilter hooks type=1404 audit(1316273329.901:2): selinux=0 auid=4294967295 ses=4294967295 input: PC Speaker as /class/input/input0 netfront: Initialising virtual ethernet driver. netfront: device eth0 has copying receive path. netfront: device eth1 has copying receive path. Floppy drive(s): fd0 is unknown type 15 (usb?), fd1 is unknown type 15 (usb?) Failed to obtain physical IRQ 6 floppy0: no floppy controllers found work still pending lp: driver loaded but no devices found md: Autodetecting RAID arrays. md: autorun ... Monitoring Metrics Feeds out Domain adapter adapter adapter adapter adapter adapter adapter

Slide 78

Slide 78 text

Hexagonal Enterprise Architecture

Slide 79

Slide 79 text

8 Rules 1. Embrace Plurality 2. Contextualize Downstream 3. Beware Grandiosity 4. Decentralize 5. Isolate Failure Domains 6. Data Outlives Applications 7. Applications Outlive Integrations 8. Increase Discoverability

Slide 80

Slide 80 text

Omniscience is impossible. Facilitate coincidence instead.

Slide 81

Slide 81 text

Improve by building on the work of others. It’s not eliminating duplication or reducing cost. But costs will come down as a result of being better.

Slide 82

Slide 82 text

• Visible work: • Internal blogs • Open code repositories • Modern search engine (homegrown is fine) Prerequisites

Slide 83

Slide 83 text

• Contributions are disruptions • Inquiries are alarming. • They presage a budget annexation attack. Beware: Budget Culture

Slide 84

Slide 84 text

• Default to open sharing • Every app should have links to: • Team blog • Bug submission • CI server Engineering Culture

Slide 85

Slide 85 text

Foster engineering culture at the grass roots.

Slide 86

Slide 86 text

No content

Slide 87

Slide 87 text

8 Rules 1. Embrace Plurality 2. Contextualize Downstream 3. Beware Grandiosity 4. Decentralize 5. Isolate Failure Domains 6. Data Outlives Applications 7. Applications Outlive Integrations 8. Increase Discoverability

Slide 88

Slide 88 text

You Probably Aren’t Either Of These Guys The Architect Vint Cerf

Slide 89

Slide 89 text

Stop chasing the end state

Slide 90

Slide 90 text

Abandon the 3 Year Plan Year 1 Year 2 Year 3 Vendor Selection & Pilot Legacy Conversion Converged Applications

Slide 91

Slide 91 text

No content

Slide 92

Slide 92 text

ARCHITECTURE WITHOUT AN END STATE Michael T. Nygard Relevance, Inc. michael.nygard@thinkrelevance.com @mtnygard © 2011 Michael T. Nygard, All Rights Reserved.

Slide 93

Slide 93 text

PHOTO CREDITS http://www.flickr.com/photos/geishaboy500 http://www.youtube.com/watch?v=08xQLGWTSag http://www.flickr.com/photos/vin60 http://www.flickr.com/photos/sergiu_bacioiu