SlideShare a Scribd company logo
1 of 93
ARCHITECTURE WITHOUT
                AN END STATE


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

Thursday, January 26, 12
The Typical Enterprise Architecture Proposal




Thursday, January 26, 12
1. Start with a caricature




Thursday, January 26, 12
2. Show the promise




Thursday, January 26, 12
3. Pitch the plan




                           Call Now
                           011 45 72 84 26



Thursday, January 26, 12
1. Start with a caricature




                                 Current State

Thursday, January 26, 12
2. Show the promise




                                End State
Thursday, January 26, 12
3. Pitch the plan

                               Legacy Conversion



                           Year 1          Year 2        Year 3




                             Vendor Selection              Converged
                                 & Pilot                   Applications



Thursday, January 26, 12
4. Start a new cycle


  Legacy crap              Year 1     Year 2     Year 3




  Legacy crap                       Year 1     Year 2     Year 3




  Legacy crap                                    Year 1     Year 2    Year 3




  Previous CIO’s boondoggle                                          Year 1    Year 2            Year 3




  Current CIO’s vision                                                                  Year 1            Year 2   Year 3




Thursday, January 26, 12
The “steady state”
         is a superposition
             of ongoing
            wavefronts of
               change.
Thursday, January 26, 12
Complex Systems


    • No “grand                 narrative”, no privileged vantage point.

    • Only            locally contextualized views

    • Many                 local optimizations

    • Global                optimization not possible



Thursday, January 26, 12
Complex Systems


             One person cannot know the
           complete ramifications of a decision.




Thursday, January 26, 12
8 Rules

    1. Embrace Plurality




Thursday, January 26, 12
Single System Of Record



                                   TRUTH




Thursday, January 26, 12
Like world peace,
                            it exists only briefly
                           and is so very fragile.




Thursday, January 26, 12
Obvious Challenges To SSoR


    • Mergers              & acquisitions

    • Partnerships

    • Divestitures

    • Entering             new markets



Thursday, January 26, 12
Epistemological Challenges


    • “We             can only know what we can record.”

    • SSoR             must choose one representation

         • “What           is a customer?”

    • Any           model enables some thoughts, disallows others.



Thursday, January 26, 12
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


Thursday, January 26, 12
Getting SKUd: Changes In One Year


                New Market      Rendered Irrelevant           Added

                                Shelf space, shipping,   Tracking individual
         Digital Downloads
                                      fixed cost              purchases

                                                         Multiple prices &
                Partner sales   Controlled ID space
                                                         shippers per item

       Home Installation &                               16,000,000 add’l
          Renovation                                          SKUs

Thursday, January 26, 12
Competing Deconstructions
            COGS
         Distribution           COGS          COGS
           Stocking         Distribution   Distribution
                              Stocking       Stocking
        Presentation        Presentation
                               Pricing     Presentation
             Pricing          Delivery       Pricing
             Delivery        Inventory       Delivery
            Inventory                       Inventory
                                           Entitlements




Thursday, January 26, 12
Competing Extents

                                    COGS
                                Distribution
                                  Stocking
                                Presentation
                                  All SKUs
                                   Pricing
                                  Delivery
                                 Inventory




Thursday, January 26, 12
Competing Extents

         All SKUs


                               Dark Matter




Thursday, January 26, 12
Federated Extents

                            Hardgoods
                                                       Services
                             Software       Partners

                           Subscriptions               Packages




Thursday, January 26, 12
Multiple Systems Of Record

                            Hardgoods
                                                      Services
                             Software      Partners

                           Subscriptions              Packages




Thursday, January 26, 12
Multiple Systems Of Record

    Focus on

    • Local            authorities and spans

    • System               of identifiers: URNs & URIs

    • Representations               for interchange

    • Enable               copies instead of eliminating them

    • Representations               identify their contributors

Thursday, January 26, 12
Multiple Systems Of Record

    Enablers

    • DNS

    • HTTP

    • XML




Thursday, January 26, 12
Multiple Systems Of Record

    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”




Thursday, January 26, 12
8 Rules

    1. Embrace Plurality

    2. Contextualize
       Downstream




Thursday, January 26, 12
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.


Thursday, January 26, 12
Example: Comparing Desk Sizes

                             Equity     Fixed-income      HFT

                                                           per
            Frequency      per minute     per day
                                                       microsecond

                    Size   105 – 106     106 – 107      104 – 106


     Execution Ratio         ~ 1:1          1:1           1:105


Thursday, January 26, 12
Example: Auto Financing

             How many rules are the same
          between personal auto financing and
                 fleet vehicle leasing?




Thursday, January 26, 12
Upstream & Downstream




Thursday, January 26, 12
Upstream & Downstream




Thursday, January 26, 12
Upstream & Downstream




Thursday, January 26, 12
Upstream & Downstream
                           Augment       Contextualize




Thursday, January 26, 12
Apply policies in systems nearest the
           users. Those will change most often.




Thursday, January 26, 12
Corollary: Minimize the entities that all
           systems need to know about.




Thursday, January 26, 12
8 Rules

    1. Embrace Plurality

    2. Contextualize
       Downstream

    3. Beware Grandiosity




Thursday, January 26, 12
!
                     Enterprise Data Dictionary

Thursday, January 26, 12
!
                 Enterprise Data Architecture

Thursday, January 26, 12
!
                           Global Object Model

Thursday, January 26, 12
!
                           “One World”

Thursday, January 26, 12
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


Thursday, January 26, 12
Prerequisites For An Enterprise
                 Modeling Project

    • Global               perspective

    • Agreement

    • Talent

    • Concrete

    • Small
                           for abstraction
                                               ∅
                                across all business units



                              experience in all contexts

                       enough team to make decisions


Thursday, January 26, 12
How are industry standards different?




Thursday, January 26, 12
Compromise




Thursday, January 26, 12
The Modeling Fallacy


                           All models are wrong.
                              Some are useful.



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


Thursday, January 26, 12
8 Rules

    1. Embrace Plurality

    2. Contextualize
       Downstream

    3. Beware Grandiosity

    4. Decentralize




Thursday, January 26, 12
Decentralization

                            Explore market space
                           Explore solution space




Thursday, January 26, 12
Chaos?


                           What about standards?
                           What about duplication?




Thursday, January 26, 12
Prerequisites

    • Transparency
        Methods, work, and results must be visible

    • Isolation
        One group’s failure cannot cause widespread damage

    • Economics
        Distributed economic decision-making


Thursday, January 26, 12
Example: Boeing 777

                            Aircraft Weight                                 Cost



                           1 pound gross weight = $ 300 per plane




                             Source: “Principles of Product Development Flow”, D. Reinertsen
Thursday, January 26, 12
Set Tradeoff Policies Centrally


                           Define balancing forces globally.


                              Allow local optimization.



Thursday, January 26, 12
Misconception:

                           Centralization == Leverage



Thursday, January 26, 12
Leverage?


    Centralize IT ➞ Constant budget fight,
                    features vs. architecture.


                           Playing “catch up” to business
                           units.

Thursday, January 26, 12
Leverage.


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




Thursday, January 26, 12
8 Rules

    1. Embrace Plurality        5. Isolate Failure Domains

    2. Contextualize
       Downstream

    3. Beware Grandiosity

    4. Decentralize




Thursday, January 26, 12
Operational Failures




Thursday, January 26, 12
Operational Failures




Thursday, January 26, 12
Operational Failures




Thursday, January 26, 12
Solution Space Failures


                                Giant bet on a strategy?


                           “Bet the company” means one shot.



Thursday, January 26, 12
Value Of Modularity
                             Splitting                                           Excluding
                           Substitution                                           Inversion
                           Augmenting                                              Porting




                            Source: “Design Rules: The Power of Modularity.”, Baldwin & Clark, 2000.
Thursday, January 26, 12
Value Of Modularity


                                                  Options



                           Source: “Design Rules: The Power of Modularity.”, Baldwin & Clark, 2000.
Thursday, January 26, 12
Value Of An Option
           Profit




                                                                   Positive Payoff




                           Negative Payoff
                           (do not exercise)




                                               Value at exercise
                                                                                     “long call”
Thursday, January 26, 12
Value Of An Option
           Profit




                                                                   Positive Payoff




                           Negative Payoff
                           (do not exercise)




                                               Value at exercise
                                                                                     “long call”
Thursday, January 26, 12
Negative Option Value


       Failed system or failed business unit == negative value option.



                           Isolate the failure, use modularity options.




Thursday, January 26, 12
Example: Trading Company



                           Many small applications, integrated by messaging.


                       Cheaper to rewrite than maintain individual apps.




Thursday, January 26, 12
Example: Advertising Optimization


     Hundreds of auction/placement algos.


                           “Developer anarchy.”

Thursday, January 26, 12
Example: The Ultimate In
                             Resilient Architecture

                               CICS Transactions


         You can always fit another screen in
                    somewhere.

Thursday, January 26, 12
Resilient architecture admits
                   componentwise change.



Thursday, January 26, 12
8 Rules

    1. Embrace Plurality        5. Isolate Failure Domains

    2. Contextualize            6. Data Outlives Applications
       Downstream
                                7. Applications Outlive
    3. Beware Grandiosity          Integrations

    4. Decentralize




Thursday, January 26, 12
Example: Mailing-list Vendor

                           First list assembled: 1972


                            Still in operation: 2011


                           Data set is as old as I am.

Thursday, January 26, 12
Database Technology
                                   ISAM
                                  VSAM
                                 Network
                                 Hierarchic
                                 Relational
                                  Graph
                                    KVS
                                 Document
Thursday, January 26, 12
Integration Technology
                                     CICS
                                     FTP
                                     RPC
                                    Sockets
                                     RPC
                                   CD-ROM
                                  XML-HTTP
                                     RPC
                                      ESB

Thursday, January 26, 12
Typical Layered Architecture

                               UI

                           Application

                             Domain

                           Persistence


Thursday, January 26, 12
“Hexagonal Architecture” Or
                     Ports & Adapters
                                                   System Boundary
                                                                                                               Feeds out
                           Feeds in

                                                         ad
                                                              ap
                                                                    ter                   pte
                                                                                                r                                 Databases
                                                                                      a
                                                                                   ad

                                                                                                          r
                                                                                              a     pte
                                                                                           ad
                                         ad
                             Users            ap
                                                   ter




                                                                          Domain
                                                                                              ad
                                                                                                    ap
                                                                                                         ter    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


                                                                r
                                                                                                                netfront: Initialising virtual ethernet driver.



                                                          pte
                                                                                                                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?)

                                                      a                                                         Failed to obtain physical IRQ 6


                                                   ad
                                                                                                                floppy0: no floppy controllers found
                                                                                                                work still pending
                                                                                                                lp: driver loaded but no devices found

                                                                                   ad                           md: Autodetecting RAID arrays.
                                                                                                                md: autorun ...

                                                                                        ap
                                                                                             ter
                                                                                                                      Monitoring
                              Admins




                                                                                                               Metrics
                                       http://alistair.cockburn.us/Hexagonal+architecture
Thursday, January 26, 12
Hexagonal Enterprise
                              Architecture




Thursday, January 26, 12
8 Rules

    1. Embrace Plurality        5. Isolate Failure Domains

    2. Contextualize            6. Data Outlives Applications
       Downstream
                                7. Applications Outlive
    3. Beware Grandiosity          Integrations

    4. Decentralize             8. Increase Discoverability




Thursday, January 26, 12
Omniscience is impossible.

                           Facilitate coincidence instead.




Thursday, January 26, 12
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.




Thursday, January 26, 12
Prerequisites

    • Visible              work:

         • Internal          blogs

         • Open             code repositories

    • Modern                search engine (homegrown is fine)




Thursday, January 26, 12
Beware: Budget Culture

    • Contributions              are disruptions

    • Inquiries             are alarming.

         • They            presage a budget annexation attack.




Thursday, January 26, 12
Engineering Culture

    • Default               to open sharing

    • Every                app should have links to:
         • Team             blog
         • Bug             submission
         • CI        server




Thursday, January 26, 12
Foster engineering culture
                               at the grass roots.




Thursday, January 26, 12
Thursday, January 26, 12
8 Rules

    1. Embrace Plurality        5. Isolate Failure Domains

    2. Contextualize            6. Data Outlives Applications
       Downstream
                                7. Applications Outlive
    3. Beware Grandiosity          Integrations

    4. Decentralize             8. Increase Discoverability




Thursday, January 26, 12
You Probably Aren’t Either
                           Of These Guys




                           Vint Cerf   The Architect
Thursday, January 26, 12
Stop chasing the end state




Thursday, January 26, 12
Abandon the 3 Year Plan

                               Legacy Conversion



                           Year 1            Year 2           Year 3




                             Vendor Selection                   Converged
                                 & Pilot                        Applications



Thursday, January 26, 12
Thursday, January 26, 12
ARCHITECTURE WITHOUT
                AN END STATE


                                      Michael T. Nygard
                                       Relevance, Inc.
                           michael.nygard@thinkrelevance.com @mtnygard
                                         © 2011 Michael T. Nygard, All Rights Reserved.

Thursday, January 26, 12
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




Thursday, January 26, 12

More Related Content

What's hot

KafkaConsumer - Decoupling Consumption and Processing for Better Resource Uti...
KafkaConsumer - Decoupling Consumption and Processing for Better Resource Uti...KafkaConsumer - Decoupling Consumption and Processing for Better Resource Uti...
KafkaConsumer - Decoupling Consumption and Processing for Better Resource Uti...confluent
 
Introduction to Drools
Introduction to DroolsIntroduction to Drools
Introduction to Droolsgiurca
 
Grokking Techtalk #39: How to build an event driven architecture with Kafka ...
 Grokking Techtalk #39: How to build an event driven architecture with Kafka ... Grokking Techtalk #39: How to build an event driven architecture with Kafka ...
Grokking Techtalk #39: How to build an event driven architecture with Kafka ...Grokking VN
 
Exactly-Once Financial Data Processing at Scale with Flink and Pinot
Exactly-Once Financial Data Processing at Scale with Flink and PinotExactly-Once Financial Data Processing at Scale with Flink and Pinot
Exactly-Once Financial Data Processing at Scale with Flink and PinotFlink Forward
 
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...Henning Jacobs
 
End-to-end Streaming Between gRPC Services Via Kafka with John Fallows
End-to-end Streaming Between gRPC Services Via Kafka with John FallowsEnd-to-end Streaming Between gRPC Services Via Kafka with John Fallows
End-to-end Streaming Between gRPC Services Via Kafka with John FallowsHostedbyConfluent
 
Asynchronous API in Java8, how to use CompletableFuture
Asynchronous API in Java8, how to use CompletableFutureAsynchronous API in Java8, how to use CompletableFuture
Asynchronous API in Java8, how to use CompletableFutureJosé Paumard
 
Room 3 - 7 - Nguyễn Như Phúc Huy - Vitastor: a fast and simple Ceph-like bloc...
Room 3 - 7 - Nguyễn Như Phúc Huy - Vitastor: a fast and simple Ceph-like bloc...Room 3 - 7 - Nguyễn Như Phúc Huy - Vitastor: a fast and simple Ceph-like bloc...
Room 3 - 7 - Nguyễn Như Phúc Huy - Vitastor: a fast and simple Ceph-like bloc...Vietnam Open Infrastructure User Group
 
Stephan Ewen - Experiences running Flink at Very Large Scale
Stephan Ewen -  Experiences running Flink at Very Large ScaleStephan Ewen -  Experiences running Flink at Very Large Scale
Stephan Ewen - Experiences running Flink at Very Large ScaleVerverica
 
Introduction to gRPC: A general RPC framework that puts mobile and HTTP/2 fir...
Introduction to gRPC: A general RPC framework that puts mobile and HTTP/2 fir...Introduction to gRPC: A general RPC framework that puts mobile and HTTP/2 fir...
Introduction to gRPC: A general RPC framework that puts mobile and HTTP/2 fir...Codemotion
 
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...Flink Forward
 
Extending Flink SQL for stream processing use cases
Extending Flink SQL for stream processing use casesExtending Flink SQL for stream processing use cases
Extending Flink SQL for stream processing use casesFlink Forward
 
Redpanda and ClickHouse
Redpanda and ClickHouseRedpanda and ClickHouse
Redpanda and ClickHouseAltinity Ltd
 
실시간 이상탐지를 위한 머신러닝 모델에 Druid _ Imply 활용하기
실시간 이상탐지를 위한 머신러닝 모델에 Druid _ Imply 활용하기실시간 이상탐지를 위한 머신러닝 모델에 Druid _ Imply 활용하기
실시간 이상탐지를 위한 머신러닝 모델에 Druid _ Imply 활용하기Kee Hoon Lee
 
CDC Stream Processing With Apache Flink With Timo Walther | Current 2022
CDC Stream Processing With Apache Flink With Timo Walther | Current 2022CDC Stream Processing With Apache Flink With Timo Walther | Current 2022
CDC Stream Processing With Apache Flink With Timo Walther | Current 2022HostedbyConfluent
 
Apache Kafka at LinkedIn
Apache Kafka at LinkedInApache Kafka at LinkedIn
Apache Kafka at LinkedInGuozhang Wang
 
Hibernate tutorial for beginners
Hibernate tutorial for beginnersHibernate tutorial for beginners
Hibernate tutorial for beginnersRahul Jain
 

What's hot (20)

KafkaConsumer - Decoupling Consumption and Processing for Better Resource Uti...
KafkaConsumer - Decoupling Consumption and Processing for Better Resource Uti...KafkaConsumer - Decoupling Consumption and Processing for Better Resource Uti...
KafkaConsumer - Decoupling Consumption and Processing for Better Resource Uti...
 
Introduction to Drools
Introduction to DroolsIntroduction to Drools
Introduction to Drools
 
Grokking Techtalk #39: How to build an event driven architecture with Kafka ...
 Grokking Techtalk #39: How to build an event driven architecture with Kafka ... Grokking Techtalk #39: How to build an event driven architecture with Kafka ...
Grokking Techtalk #39: How to build an event driven architecture with Kafka ...
 
Drools
DroolsDrools
Drools
 
Resource Aware Scheduling in Apache Storm
Resource Aware Scheduling in Apache StormResource Aware Scheduling in Apache Storm
Resource Aware Scheduling in Apache Storm
 
Exactly-Once Financial Data Processing at Scale with Flink and Pinot
Exactly-Once Financial Data Processing at Scale with Flink and PinotExactly-Once Financial Data Processing at Scale with Flink and Pinot
Exactly-Once Financial Data Processing at Scale with Flink and Pinot
 
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...
 
End-to-end Streaming Between gRPC Services Via Kafka with John Fallows
End-to-end Streaming Between gRPC Services Via Kafka with John FallowsEnd-to-end Streaming Between gRPC Services Via Kafka with John Fallows
End-to-end Streaming Between gRPC Services Via Kafka with John Fallows
 
Asynchronous API in Java8, how to use CompletableFuture
Asynchronous API in Java8, how to use CompletableFutureAsynchronous API in Java8, how to use CompletableFuture
Asynchronous API in Java8, how to use CompletableFuture
 
Room 3 - 7 - Nguyễn Như Phúc Huy - Vitastor: a fast and simple Ceph-like bloc...
Room 3 - 7 - Nguyễn Như Phúc Huy - Vitastor: a fast and simple Ceph-like bloc...Room 3 - 7 - Nguyễn Như Phúc Huy - Vitastor: a fast and simple Ceph-like bloc...
Room 3 - 7 - Nguyễn Như Phúc Huy - Vitastor: a fast and simple Ceph-like bloc...
 
Stephan Ewen - Experiences running Flink at Very Large Scale
Stephan Ewen -  Experiences running Flink at Very Large ScaleStephan Ewen -  Experiences running Flink at Very Large Scale
Stephan Ewen - Experiences running Flink at Very Large Scale
 
Introduction to gRPC: A general RPC framework that puts mobile and HTTP/2 fir...
Introduction to gRPC: A general RPC framework that puts mobile and HTTP/2 fir...Introduction to gRPC: A general RPC framework that puts mobile and HTTP/2 fir...
Introduction to gRPC: A general RPC framework that puts mobile and HTTP/2 fir...
 
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
 
Extending Flink SQL for stream processing use cases
Extending Flink SQL for stream processing use casesExtending Flink SQL for stream processing use cases
Extending Flink SQL for stream processing use cases
 
Redpanda and ClickHouse
Redpanda and ClickHouseRedpanda and ClickHouse
Redpanda and ClickHouse
 
실시간 이상탐지를 위한 머신러닝 모델에 Druid _ Imply 활용하기
실시간 이상탐지를 위한 머신러닝 모델에 Druid _ Imply 활용하기실시간 이상탐지를 위한 머신러닝 모델에 Druid _ Imply 활용하기
실시간 이상탐지를 위한 머신러닝 모델에 Druid _ Imply 활용하기
 
CDC Stream Processing With Apache Flink With Timo Walther | Current 2022
CDC Stream Processing With Apache Flink With Timo Walther | Current 2022CDC Stream Processing With Apache Flink With Timo Walther | Current 2022
CDC Stream Processing With Apache Flink With Timo Walther | Current 2022
 
Apache Kafka at LinkedIn
Apache Kafka at LinkedInApache Kafka at LinkedIn
Apache Kafka at LinkedIn
 
Building Netty Servers
Building Netty ServersBuilding Netty Servers
Building Netty Servers
 
Hibernate tutorial for beginners
Hibernate tutorial for beginnersHibernate tutorial for beginners
Hibernate tutorial for beginners
 

Viewers also liked

Tempo, Maneuverability, and Initiative
Tempo, Maneuverability, and InitiativeTempo, Maneuverability, and Initiative
Tempo, Maneuverability, and InitiativeMichael Nygard
 
Manueverable architecture
Manueverable architectureManueverable architecture
Manueverable architectureMichael Nygard
 
Exploiting Loopholes in CAP
Exploiting Loopholes in CAPExploiting Loopholes in CAP
Exploiting Loopholes in CAPC4Media
 
Chef in the cloud and on the ground code freeze 2012
Chef in the cloud and on the ground   code freeze 2012Chef in the cloud and on the ground   code freeze 2012
Chef in the cloud and on the ground code freeze 2012Michael Nygard
 
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"Randy Bias
 
Resiliency jenna-2013
Resiliency jenna-2013Resiliency jenna-2013
Resiliency jenna-2013Jenna Martin
 
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 ...AppDynamics
 
Designing apps for resiliency
Designing apps for resiliencyDesigning apps for resiliency
Designing apps for resiliencyMasashi Narumoto
 
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 Bluemixgjuljo
 
Plan B: Service to Service Authentication with OAuth
Plan B: Service to Service Authentication with OAuthPlan B: Service to Service Authentication with OAuth
Plan B: Service to Service Authentication with OAuthHenning Jacobs
 
O'Reilly/Nginx 2016: "Continuous Delivery with Containers: The Trials and Tri...
O'Reilly/Nginx 2016: "Continuous Delivery with Containers: The Trials and Tri...O'Reilly/Nginx 2016: "Continuous Delivery with Containers: The Trials and Tri...
O'Reilly/Nginx 2016: "Continuous Delivery with Containers: The Trials and Tri...Daniel Bryant
 
Info Card - Techical Debt Management
Info Card  - Techical Debt ManagementInfo Card  - Techical Debt Management
Info Card - Techical Debt ManagementFabricio Epaminondas
 
Parecer jurídico normativo 36 2011 CFESS
Parecer jurídico normativo 36 2011 CFESSParecer jurídico normativo 36 2011 CFESS
Parecer jurídico normativo 36 2011 CFESSFILIPE NERI
 
生日快乐
生日快乐生日快乐
生日快乐Paul Ni
 
SuprTEK Continuous Monitoring
SuprTEK Continuous MonitoringSuprTEK Continuous Monitoring
SuprTEK Continuous MonitoringTieu Luu
 

Viewers also liked (20)

Tempo, Maneuverability, and Initiative
Tempo, Maneuverability, and InitiativeTempo, Maneuverability, and Initiative
Tempo, Maneuverability, and Initiative
 
The Big Red Button
The Big Red ButtonThe Big Red Button
The Big Red Button
 
Manueverable architecture
Manueverable architectureManueverable architecture
Manueverable architecture
 
Where to put_my_data
Where to put_my_dataWhere to put_my_data
Where to put_my_data
 
Exploiting Loopholes in CAP
Exploiting Loopholes in CAPExploiting Loopholes in CAP
Exploiting Loopholes in CAP
 
Chef in the cloud and on the ground code freeze 2012
Chef in the cloud and on the ground   code freeze 2012Chef in the cloud and on the ground   code freeze 2012
Chef in the cloud and on the ground code freeze 2012
 
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"
 
Resiliency jenna-2013
Resiliency jenna-2013Resiliency jenna-2013
Resiliency jenna-2013
 
L02 What is Software Architecture?
L02 What is Software Architecture?L02 What is Software Architecture?
L02 What is Software Architecture?
 
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
 
Plan B: Service to Service Authentication with OAuth
Plan B: Service to Service Authentication with OAuthPlan B: Service to Service Authentication with OAuth
Plan B: Service to Service Authentication with OAuth
 
O'Reilly/Nginx 2016: "Continuous Delivery with Containers: The Trials and Tri...
O'Reilly/Nginx 2016: "Continuous Delivery with Containers: The Trials and Tri...O'Reilly/Nginx 2016: "Continuous Delivery with Containers: The Trials and Tri...
O'Reilly/Nginx 2016: "Continuous Delivery with Containers: The Trials and Tri...
 
Info Card - Techical Debt Management
Info Card  - Techical Debt ManagementInfo Card  - Techical Debt Management
Info Card - Techical Debt Management
 
Parecer jurídico normativo 36 2011 CFESS
Parecer jurídico normativo 36 2011 CFESSParecer jurídico normativo 36 2011 CFESS
Parecer jurídico normativo 36 2011 CFESS
 
生日快乐
生日快乐生日快乐
生日快乐
 
SuprTEK Continuous Monitoring
SuprTEK Continuous MonitoringSuprTEK Continuous Monitoring
SuprTEK Continuous Monitoring
 

Recently uploaded

Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbuapidays
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 

Recently uploaded (20)

Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 

Architecture without an end state

  • 1. ARCHITECTURE WITHOUT AN END STATE Michael T. Nygard Relevance, Inc. michael.nygard@thinkrelevance.com @mtnygard © 2011-2012 Michael T. Nygard, All Rights Reserved. Thursday, January 26, 12
  • 2. The Typical Enterprise Architecture Proposal Thursday, January 26, 12
  • 3. 1. Start with a caricature Thursday, January 26, 12
  • 4. 2. Show the promise Thursday, January 26, 12
  • 5. 3. Pitch the plan Call Now 011 45 72 84 26 Thursday, January 26, 12
  • 6. 1. Start with a caricature Current State Thursday, January 26, 12
  • 7. 2. Show the promise End State Thursday, January 26, 12
  • 8. 3. Pitch the plan Legacy Conversion Year 1 Year 2 Year 3 Vendor Selection Converged & Pilot Applications Thursday, January 26, 12
  • 9. 4. Start a new cycle Legacy crap Year 1 Year 2 Year 3 Legacy crap Year 1 Year 2 Year 3 Legacy crap Year 1 Year 2 Year 3 Previous CIO’s boondoggle Year 1 Year 2 Year 3 Current CIO’s vision Year 1 Year 2 Year 3 Thursday, January 26, 12
  • 10. The “steady state” is a superposition of ongoing wavefronts of change. Thursday, January 26, 12
  • 11. Complex Systems • No “grand narrative”, no privileged vantage point. • Only locally contextualized views • Many local optimizations • Global optimization not possible Thursday, January 26, 12
  • 12. Complex Systems One person cannot know the complete ramifications of a decision. Thursday, January 26, 12
  • 13. 8 Rules 1. Embrace Plurality Thursday, January 26, 12
  • 14. Single System Of Record TRUTH Thursday, January 26, 12
  • 15. Like world peace, it exists only briefly and is so very fragile. Thursday, January 26, 12
  • 16. Obvious Challenges To SSoR • Mergers & acquisitions • Partnerships • Divestitures • Entering new markets Thursday, January 26, 12
  • 17. Epistemological Challenges • “We can only know what we can record.” • SSoR must choose one representation • “What is a customer?” • Any model enables some thoughts, disallows others. Thursday, January 26, 12
  • 18. 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 Thursday, January 26, 12
  • 19. Getting SKUd: Changes In One Year New Market Rendered Irrelevant Added Shelf space, shipping, Tracking individual Digital Downloads fixed cost purchases Multiple prices & Partner sales Controlled ID space shippers per item Home Installation & 16,000,000 add’l Renovation SKUs Thursday, January 26, 12
  • 20. Competing Deconstructions COGS Distribution COGS COGS Stocking Distribution Distribution Stocking Stocking Presentation Presentation Pricing Presentation Pricing Delivery Pricing Delivery Inventory Delivery Inventory Inventory Entitlements Thursday, January 26, 12
  • 21. Competing Extents COGS Distribution Stocking Presentation All SKUs Pricing Delivery Inventory Thursday, January 26, 12
  • 22. Competing Extents All SKUs Dark Matter Thursday, January 26, 12
  • 23. Federated Extents Hardgoods Services Software Partners Subscriptions Packages Thursday, January 26, 12
  • 24. Multiple Systems Of Record Hardgoods Services Software Partners Subscriptions Packages Thursday, January 26, 12
  • 25. Multiple Systems Of Record Focus on • Local authorities and spans • System of identifiers: URNs & URIs • Representations for interchange • Enable copies instead of eliminating them • Representations identify their contributors Thursday, January 26, 12
  • 26. Multiple Systems Of Record Enablers • DNS • HTTP • XML Thursday, January 26, 12
  • 27. Multiple Systems Of Record 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” Thursday, January 26, 12
  • 28. 8 Rules 1. Embrace Plurality 2. Contextualize Downstream Thursday, January 26, 12
  • 29. 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. Thursday, January 26, 12
  • 30. Example: Comparing Desk Sizes Equity Fixed-income HFT per Frequency per minute per day microsecond Size 105 – 106 106 – 107 104 – 106 Execution Ratio ~ 1:1 1:1 1:105 Thursday, January 26, 12
  • 31. Example: Auto Financing How many rules are the same between personal auto financing and fleet vehicle leasing? Thursday, January 26, 12
  • 35. Upstream & Downstream Augment Contextualize Thursday, January 26, 12
  • 36. Apply policies in systems nearest the users. Those will change most often. Thursday, January 26, 12
  • 37. Corollary: Minimize the entities that all systems need to know about. Thursday, January 26, 12
  • 38. 8 Rules 1. Embrace Plurality 2. Contextualize Downstream 3. Beware Grandiosity Thursday, January 26, 12
  • 39. ! Enterprise Data Dictionary Thursday, January 26, 12
  • 40. ! Enterprise Data Architecture Thursday, January 26, 12
  • 41. ! Global Object Model Thursday, January 26, 12
  • 42. ! “One World” Thursday, January 26, 12
  • 43. 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 Thursday, January 26, 12
  • 44. Prerequisites For An Enterprise Modeling Project • Global perspective • Agreement • Talent • Concrete • Small for abstraction ∅ across all business units experience in all contexts enough team to make decisions Thursday, January 26, 12
  • 45. How are industry standards different? Thursday, January 26, 12
  • 47. The Modeling Fallacy All models are wrong. Some are useful. Thursday, January 26, 12
  • 48. 1. Seek compromises 2. Assume an open world 3. Begin small, incrementalize 4. Allow lengthy comment periods Thursday, January 26, 12
  • 49. 8 Rules 1. Embrace Plurality 2. Contextualize Downstream 3. Beware Grandiosity 4. Decentralize Thursday, January 26, 12
  • 50. Decentralization Explore market space Explore solution space Thursday, January 26, 12
  • 51. Chaos? What about standards? What about duplication? Thursday, January 26, 12
  • 52. Prerequisites • Transparency Methods, work, and results must be visible • Isolation One group’s failure cannot cause widespread damage • Economics Distributed economic decision-making Thursday, January 26, 12
  • 53. Example: Boeing 777 Aircraft Weight Cost 1 pound gross weight = $ 300 per plane Source: “Principles of Product Development Flow”, D. Reinertsen Thursday, January 26, 12
  • 54. Set Tradeoff Policies Centrally Define balancing forces globally. Allow local optimization. Thursday, January 26, 12
  • 55. Misconception: Centralization == Leverage Thursday, January 26, 12
  • 56. Leverage? Centralize IT ➞ Constant budget fight, features vs. architecture. Playing “catch up” to business units. Thursday, January 26, 12
  • 57. Leverage. Decentralize ➞ Slivers of other budgets, working toward shared benefits. Thursday, January 26, 12
  • 58. 8 Rules 1. Embrace Plurality 5. Isolate Failure Domains 2. Contextualize Downstream 3. Beware Grandiosity 4. Decentralize Thursday, January 26, 12
  • 62. Solution Space Failures Giant bet on a strategy? “Bet the company” means one shot. Thursday, January 26, 12
  • 63. Value Of Modularity Splitting Excluding Substitution Inversion Augmenting Porting Source: “Design Rules: The Power of Modularity.”, Baldwin & Clark, 2000. Thursday, January 26, 12
  • 64. Value Of Modularity Options Source: “Design Rules: The Power of Modularity.”, Baldwin & Clark, 2000. Thursday, January 26, 12
  • 65. Value Of An Option Profit Positive Payoff Negative Payoff (do not exercise) Value at exercise “long call” Thursday, January 26, 12
  • 66. Value Of An Option Profit Positive Payoff Negative Payoff (do not exercise) Value at exercise “long call” Thursday, January 26, 12
  • 67. Negative Option Value Failed system or failed business unit == negative value option. Isolate the failure, use modularity options. Thursday, January 26, 12
  • 68. Example: Trading Company Many small applications, integrated by messaging. Cheaper to rewrite than maintain individual apps. Thursday, January 26, 12
  • 69. Example: Advertising Optimization Hundreds of auction/placement algos. “Developer anarchy.” Thursday, January 26, 12
  • 70. Example: The Ultimate In Resilient Architecture CICS Transactions You can always fit another screen in somewhere. Thursday, January 26, 12
  • 71. Resilient architecture admits componentwise change. Thursday, January 26, 12
  • 72. 8 Rules 1. Embrace Plurality 5. Isolate Failure Domains 2. Contextualize 6. Data Outlives Applications Downstream 7. Applications Outlive 3. Beware Grandiosity Integrations 4. Decentralize Thursday, January 26, 12
  • 73. Example: Mailing-list Vendor First list assembled: 1972 Still in operation: 2011 Data set is as old as I am. Thursday, January 26, 12
  • 74. Database Technology ISAM VSAM Network Hierarchic Relational Graph KVS Document Thursday, January 26, 12
  • 75. Integration Technology CICS FTP RPC Sockets RPC CD-ROM XML-HTTP RPC ESB Thursday, January 26, 12
  • 76. Typical Layered Architecture UI Application Domain Persistence Thursday, January 26, 12
  • 77. “Hexagonal Architecture” Or Ports & Adapters System Boundary Feeds out Feeds in ad ap ter pte r Databases a ad r a pte ad ad Users ap ter Domain ad ap ter 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 r netfront: Initialising virtual ethernet driver. pte 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?) a Failed to obtain physical IRQ 6 ad floppy0: no floppy controllers found work still pending lp: driver loaded but no devices found ad md: Autodetecting RAID arrays. md: autorun ... ap ter Monitoring Admins Metrics http://alistair.cockburn.us/Hexagonal+architecture Thursday, January 26, 12
  • 78. Hexagonal Enterprise Architecture Thursday, January 26, 12
  • 79. 8 Rules 1. Embrace Plurality 5. Isolate Failure Domains 2. Contextualize 6. Data Outlives Applications Downstream 7. Applications Outlive 3. Beware Grandiosity Integrations 4. Decentralize 8. Increase Discoverability Thursday, January 26, 12
  • 80. Omniscience is impossible. Facilitate coincidence instead. Thursday, January 26, 12
  • 81. 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. Thursday, January 26, 12
  • 82. Prerequisites • Visible work: • Internal blogs • Open code repositories • Modern search engine (homegrown is fine) Thursday, January 26, 12
  • 83. Beware: Budget Culture • Contributions are disruptions • Inquiries are alarming. • They presage a budget annexation attack. Thursday, January 26, 12
  • 84. Engineering Culture • Default to open sharing • Every app should have links to: • Team blog • Bug submission • CI server Thursday, January 26, 12
  • 85. Foster engineering culture at the grass roots. Thursday, January 26, 12
  • 87. 8 Rules 1. Embrace Plurality 5. Isolate Failure Domains 2. Contextualize 6. Data Outlives Applications Downstream 7. Applications Outlive 3. Beware Grandiosity Integrations 4. Decentralize 8. Increase Discoverability Thursday, January 26, 12
  • 88. You Probably Aren’t Either Of These Guys Vint Cerf The Architect Thursday, January 26, 12
  • 89. Stop chasing the end state Thursday, January 26, 12
  • 90. Abandon the 3 Year Plan Legacy Conversion Year 1 Year 2 Year 3 Vendor Selection Converged & Pilot Applications Thursday, January 26, 12
  • 92. ARCHITECTURE WITHOUT AN END STATE Michael T. Nygard Relevance, Inc. michael.nygard@thinkrelevance.com @mtnygard © 2011 Michael T. Nygard, All Rights Reserved. Thursday, January 26, 12
  • 93. 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 Thursday, January 26, 12