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

What's hot (20)

Microservices for Application Modernisation
Microservices for Application ModernisationMicroservices for Application Modernisation
Microservices for Application Modernisation
 
IBM Cloud Pak for Integration 2020.2.1 installation
IBM Cloud Pak for Integration 2020.2.1 installation IBM Cloud Pak for Integration 2020.2.1 installation
IBM Cloud Pak for Integration 2020.2.1 installation
 
InfoVision Corporate Profile
InfoVision Corporate ProfileInfoVision Corporate Profile
InfoVision Corporate Profile
 
The Digital Decoupling Journey | John Kriter, Accenture
The Digital Decoupling Journey | John Kriter, AccentureThe Digital Decoupling Journey | John Kriter, Accenture
The Digital Decoupling Journey | John Kriter, Accenture
 
Kubernetes or OpenShift - choosing your container platform for Dev and Ops
Kubernetes or OpenShift - choosing your container platform for Dev and OpsKubernetes or OpenShift - choosing your container platform for Dev and Ops
Kubernetes or OpenShift - choosing your container platform for Dev and Ops
 
How to Move from Monitoring to Observability, On-Premises and in a Multi-Clou...
How to Move from Monitoring to Observability, On-Premises and in a Multi-Clou...How to Move from Monitoring to Observability, On-Premises and in a Multi-Clou...
How to Move from Monitoring to Observability, On-Premises and in a Multi-Clou...
 
Migration Planning
Migration PlanningMigration Planning
Migration Planning
 
Enterprise container platform verrazzano
Enterprise container platform verrazzanoEnterprise container platform verrazzano
Enterprise container platform verrazzano
 
OpenShift 4 installation
OpenShift 4 installationOpenShift 4 installation
OpenShift 4 installation
 
App Modernization
App ModernizationApp Modernization
App Modernization
 
Azure Application Modernization
Azure Application ModernizationAzure Application Modernization
Azure Application Modernization
 
CTO Summit 2022
CTO Summit 2022 CTO Summit 2022
CTO Summit 2022
 
AWS Marketplace
AWS MarketplaceAWS Marketplace
AWS Marketplace
 
The Ideal Approach to Application Modernization; Which Way to the Cloud?
The Ideal Approach to Application Modernization; Which Way to the Cloud?The Ideal Approach to Application Modernization; Which Way to the Cloud?
The Ideal Approach to Application Modernization; Which Way to the Cloud?
 
Leveraging Generative AI to Accelerate Graph Innovation for National Security...
Leveraging Generative AI to Accelerate Graph Innovation for National Security...Leveraging Generative AI to Accelerate Graph Innovation for National Security...
Leveraging Generative AI to Accelerate Graph Innovation for National Security...
 
Migrating Your Databases to AWS - Tools and Services.pdf
Migrating Your Databases to AWS -  Tools and Services.pdfMigrating Your Databases to AWS -  Tools and Services.pdf
Migrating Your Databases to AWS - Tools and Services.pdf
 
Azure Migration Program Overview
Azure Migration Program OverviewAzure Migration Program Overview
Azure Migration Program Overview
 
Migrating to the Cloud
Migrating to the CloudMigrating to the Cloud
Migrating to the Cloud
 
Azure Arc by K.Narisorn // Azure Multi-Cloud
Azure Arc by K.Narisorn // Azure Multi-CloudAzure Arc by K.Narisorn // Azure Multi-Cloud
Azure Arc by K.Narisorn // Azure Multi-Cloud
 
Alteryx investor presentation
Alteryx investor presentationAlteryx investor presentation
Alteryx investor presentation
 

Viewers also liked

Fault tolerance made easy
Fault tolerance made easyFault tolerance made easy
Fault tolerance made easy
Uwe Friedrichsen
 
Info Card - Techical Debt Management
Info Card  - Techical Debt ManagementInfo Card  - Techical Debt Management
Info Card - Techical Debt Management
Fabricio Epaminondas
 

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

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
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
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
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
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
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
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
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
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
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)
 

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