SlideShare une entreprise Scribd logo
1  sur  32
Télécharger pour lire hors ligne
Scott Whitmire
CITA-P, Iasa Fellow
Enterprise Architect, Nordstrom, Inc.
JUST WHAT IS “ARCHITECTURE,” ANYWAY?
COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 1
WHY ARE WE STILL ASKING THIS QUESTION?
COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 2
• The Agile Manifesto (www.agilemanifesto.org) says this:
• The best architectures, requirements, and designs emerge
from self-organizing teams
• This implies that:
• An architecture is fluid, that it evolves over time
• The development team has considerable choice in the
matter
• Any up-front architectural work is bad and should be avoided
• None of this is true
WHAT IS ARCHITECTURE?
COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 3
• Rosanski and Woods:
• The architecture of a system is the set of fundamental
concepts or properties of the system in its environment,
embodied in its elements, relationships, and the principles of
its design and evolution.
Rozanski, N., & Woods, E. (2011). Software Systems Architecture, 2ed. Upper Saddle River, NJ, USA: Addison-Wesley.
WHAT IS ARCHITECTURE?
COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 4
• Software Engineering Institute:
• The software architecture of a program or computing system
is the structure or structures of the system, which comprise
software elements, the externally visible properties of those
elements, and the relationships among them.
Bass, L., Clements, P., & Kazman, R. (2003). Software Architecture in Practice, 2ed. Upper Saddle River, NJ, USA:
Addison-Wesley.
WHAT IS ARCHITECTURE?
COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 5
• IEEE/ISO (ISO/ICE 42010:2011):
• The fundamental organization of a system embodied in its
components, their relationships to each other, and to the
environment, and the principles guiding its design and
evolution
IEEE. (2000). IEEE Std 1471-2000. Piscataway, NJ, USA: IEEE.
WHAT IS ARCHITECTURE?
COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 6
• Roy Fielding:
• (Dynamic) A software architecture is an abstraction of the
run-time elements of a software system during some phase
of its operation. A system may be composed of many levels
of abstraction and many phases of operation, each with its
own software architecture.
• (Static) A software architecture is defined by a configuration
of architectural elements – components, connectors, and
data – constrained in their relationships in order to achieve a
desired set of architectural properties.
Fielding, R. (2000). Architectural Styles and the Design of Network-based Software Architectures (Dissertation).
University of California, Irvine, Information and Computer Science. Irvine: University of California, Irvine.
NOTICE THE PATTERN? WE DID
COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 7
• Iasa Software Architecture:
• A software architecture describes the dominant structure
formed by the software components of a system and their
elements, their functional and non-functional properties, and
the connections between them.
IASA Board of Education. (2008). Software Architecture Course Curriculum. IASA Board of Education. Austin: IASA.
WHERE DOES ARCHITECTURE ORIGINATE?
COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 8
• The short answer:
• The problem domain
• In most cases related to systems, the architecture is there to be
discovered, not created
• Architects face constrained choices, not a clean slate
• The practice of architecture is mostly about navigating
constraints
CONSIDER BRIDGE DESIGN
COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 9
• Type of bridge is largely determined by
• Length of central span
• Condition of anchor points
• Condition of bottom
• Customer’s budget
• As central span gets longer, architecture options get more
constrained
• For spans of 1000’ or more, there are only two options
• Anchor points determine which of these two you can use
WHAT DOES THAT MEAN FOR SOFTWARE?
• Wikipedia’s entry on non-functional requirements
includes this:
• The plan for implementing functional requirements is
detailed in the system design.
• The plan for implementing non-functional
requirements is detailed in the system architecture.
• Architecture is mainly about non-functional
requirements
COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 10
SO, WHAT DOES THAT MEAN?
COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 11
• Architecture of a software system is driven by context and non-
functional requirements
• The problem being solved has far more influence than the
architect
• You don’t need to know much about functional requirements to
define an architecture
• Architecture does not “evolve” in the sense that a design can
WHAT DO WE NEED TO KNOW?
COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 12
• Context is the environment that surrounds the system
• The type of problem being solved
• Business application vs. functional vs. real-time process control
• User community size and distribution
• Data creation and consumption patterns
• Scale and scalability
• Availability
• Performance
• Security
• Variability and volatility
PROBLEM TYPE
COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 13
• Data-strong – Typical business application
• Models data about things
• Example: Customer Relationship Management
• Function-strong – Typical mathematical or scientific application
• Models behavior of things
• Example: Weather model
• Control-strong – Typical real-time control system
• Interacts with real world to do real work
• Example: Brewery control system
USER COMMUNITY
COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 14
• How many users are there?
• How many time zones do they cover?
• For a global application, including most web apps, it is always
first shift
• Large user communities require different approaches than small
communities
• Geographically dispersed user communities require different
approaches than co-located communities
DATA CREATION AND CONSUMPTION
COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 15
• Data is always created locally
• How is it consumed?
• Shared globally – eg: Web-based eCommerce site
• Used locally – eg: Distributed warehouse management
• Local data usage lends itself to partitioned or distributed databases
• Global data requires central database (or the appearance of)
• Large user community + central database = big problem (one that we
still haven’t solved completely)
• Facebook and Twitter are hybrids
SCALE AND SCALABILITY
COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 16
• Scale is the typical size
• 10k transactions per day vs. 100M transactions per day
• Scalability is the requirement for scale to change
• Adapt to changing loads – up or down
• Large scale requires different approaches than small scale
• Large changes in scale require interesting operations
techniques (but are easily solved)
AVAILABILITY
COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 17
• Measured as up-time
• Classes of “nines”
• 3 nines (99.9%)
• 4 nines (99.99%)
• 5 nines (99.999%) => ~5 minutes of downtime per year
• Each additional 9 is about 10x in cost
• Going from 4 nines to 5 nines requires architectural changes
• Infrastructure – high-availability components and geographic
redundancy
• Application – active-active instances and components – and
databases
PERFORMANCE
COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 18
• Four “real” performance classes
• Eye-blink – it happens immediately
• Delay – long enough to be annoying, too quick to do
something else
• Wait – long enough to do something else and come back
• Overnight – anything longer than wait
• Are there hard limits imposed by the problem?
• Latency accumulates as you add layers and decoupling
• High-performance across layers requires architecture work
SECURITY
COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 19
• Security is inherent in the architecture (or not)
• Threat model must be considered early
• An story: A medical monitoring application
VARIABILITY AND VOLATILITY
COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 20
• What can change and how often?
• Isolate volatile components from others and from each other
• Loose coupling is the goal, there are many techniques
LET’S LOOK AT AN EXAMPLE
COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 21
• Operating models are problem domain patterns
• Two (unified and coordinated) require customer and product
data to be shared across business units and processes
• Most companies are one of these two patterns
• It took the introduction of Master Data Management to finally(!)
consolidate our view of customer and product data
LOOK FAMILIAR?
COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 22
IS THIS A DIFFERENT PATTERN?
COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 23
STILL LOOK FAMILIAR?
COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 24
HERE’S ANOTHER VIEW
COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 25
THE PICTURES ARE ALL THE SAME
COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 26
• The dominant structure is shared data
• We call it the Blackboard1 pattern
• Layers is a structural pattern to show separation of concerns
• N-Tier is a deployment pattern
• Maybe 90% of business applications are Blackboard – if you dig
deep enough
1Buschmann, F., Munier, R., Rohnert, H., Sommerlad, P., & Stal, M. (1996). Pattern-Oriented Software Architecture
Volume 1: A System of Patterns (Vol. 1). New York, NY, USA: John Wiley & Sons.
OTHER PATTERNS
COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 27
• Pipes-and-Filters
• Video games
• Mathematical and scientific applications
• Microkernel
• Real-time control systems, including embedded systems
• There are others, but these are most common
PIPES-AND-FILTERS – IMAGE PROCESSING
COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 28
Noise
Filtering
Edge
Detection
Movement
Detection
MICROKERNEL – DEVICE CONTROL
COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 29
Controller
Analog
Sensor
Automatic
Valve
Event
Processing
Engine
Machine(s)
Digital
Sensor
WHY DOES IT MATTER?
COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 30
• Most system failures are caused by a mismatch between the
dominate pattern in the problem domain and the dominant
pattern in the solution
• At the very least, use, operation, and maintenance is painful
• Some examples:
• Customer credit account
• Database keys
• Inventory balance
CONCLUSION
COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 31
• Architecture (as a verb) is about matching the solution pattern to the pattern
of your problem – the problem drives the solution
• Architecture (as a noun) is that pattern
• The art is recognizing the problem’s pattern in the first place
• The science is applying knowledge and experience to create a matching
solution
• The problem’s pattern isn’t likely to evolve, and the team doesn’t get to
decide
• We have lots of tools
• Past practice
• Patterns
• Abstraction
• Encapsulation
COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 32
Thank you!
ARCHITECTURE ≠ DESIGN

Contenu connexe

En vedette

Creativity and Innovation - Creativity vs Innovation - الإبداع والابتكار - ...
Creativity and Innovation -  Creativity vs Innovation -  الإبداع والابتكار - ...Creativity and Innovation -  Creativity vs Innovation -  الإبداع والابتكار - ...
Creativity and Innovation - Creativity vs Innovation - الإبداع والابتكار - ...
Galala University
 
Art and architecture powerpoint
Art and architecture powerpointArt and architecture powerpoint
Art and architecture powerpoint
bmorin54
 

En vedette (20)

Building Innovation- Kim Herforth Nielsen, 3XN Architects
Building Innovation- Kim Herforth Nielsen, 3XN ArchitectsBuilding Innovation- Kim Herforth Nielsen, 3XN Architects
Building Innovation- Kim Herforth Nielsen, 3XN Architects
 
Innovation in software architecture
Innovation in software architectureInnovation in software architecture
Innovation in software architecture
 
ARCHITECTURAL INNOVATION: EVENTING, EVENT SOURCING
ARCHITECTURAL INNOVATION: EVENTING, EVENT SOURCINGARCHITECTURAL INNOVATION: EVENTING, EVENT SOURCING
ARCHITECTURAL INNOVATION: EVENTING, EVENT SOURCING
 
THE CONCEPT OF SUSTAINABLE DEVELOPMENT
THE CONCEPT OF SUSTAINABLE DEVELOPMENTTHE CONCEPT OF SUSTAINABLE DEVELOPMENT
THE CONCEPT OF SUSTAINABLE DEVELOPMENT
 
PICNIC Organic Design, Living Architecture
PICNIC Organic Design, Living ArchitecturePICNIC Organic Design, Living Architecture
PICNIC Organic Design, Living Architecture
 
Architecture Debate
Architecture DebateArchitecture Debate
Architecture Debate
 
WEEF Florence Italy Conference 2015
WEEF Florence Italy Conference 2015WEEF Florence Italy Conference 2015
WEEF Florence Italy Conference 2015
 
Architecture in the Middle East
Architecture in the Middle EastArchitecture in the Middle East
Architecture in the Middle East
 
Lecture IMTelkom MM-Biztel: Architectural Innovation
Lecture IMTelkom MM-Biztel: Architectural  InnovationLecture IMTelkom MM-Biztel: Architectural  Innovation
Lecture IMTelkom MM-Biztel: Architectural Innovation
 
District Cooling and Architecture
District Cooling and ArchitectureDistrict Cooling and Architecture
District Cooling and Architecture
 
هوية المدينة العربية وتحديات التحولات العمرانية السريعة" ورقة مقدمة فى المؤتم...
هوية المدينة العربية وتحديات التحولات العمرانية السريعة" ورقة مقدمة فى المؤتم...هوية المدينة العربية وتحديات التحولات العمرانية السريعة" ورقة مقدمة فى المؤتم...
هوية المدينة العربية وتحديات التحولات العمرانية السريعة" ورقة مقدمة فى المؤتم...
 
Towards Sustainable Cities
Towards Sustainable CitiesTowards Sustainable Cities
Towards Sustainable Cities
 
Greg Young on Architectural Innovation: Eventing, Event Sourcing
Greg Young on Architectural Innovation: Eventing, Event SourcingGreg Young on Architectural Innovation: Eventing, Event Sourcing
Greg Young on Architectural Innovation: Eventing, Event Sourcing
 
The (corporate) architecture of strategy and innovation
The (corporate) architecture of strategy and innovationThe (corporate) architecture of strategy and innovation
The (corporate) architecture of strategy and innovation
 
Creativity and Innovation - Creativity vs Innovation - الإبداع والابتكار - ...
Creativity and Innovation -  Creativity vs Innovation -  الإبداع والابتكار - ...Creativity and Innovation -  Creativity vs Innovation -  الإبداع والابتكار - ...
Creativity and Innovation - Creativity vs Innovation - الإبداع والابتكار - ...
 
M Arch Living Architecture
M Arch Living ArchitectureM Arch Living Architecture
M Arch Living Architecture
 
Eleven Essentials for Young Entrepreneurs
Eleven Essentials for Young EntrepreneursEleven Essentials for Young Entrepreneurs
Eleven Essentials for Young Entrepreneurs
 
Architectural education starting from zero
Architectural education    starting from zeroArchitectural education    starting from zero
Architectural education starting from zero
 
Introduction to Architecture - مقدمة عن العمارة
Introduction to Architecture - مقدمة عن العمارةIntroduction to Architecture - مقدمة عن العمارة
Introduction to Architecture - مقدمة عن العمارة
 
Art and architecture powerpoint
Art and architecture powerpointArt and architecture powerpoint
Art and architecture powerpoint
 

Similaire à Scott Whitmire - Just What is Architecture Anyway

Systematic Architecture Design
Systematic Architecture DesignSystematic Architecture Design
Systematic Architecture Design
GESSI UPC
 
CAMP IT Slides - Skytap - Brian White
CAMP IT Slides - Skytap - Brian White CAMP IT Slides - Skytap - Brian White
CAMP IT Slides - Skytap - Brian White
Skytap Cloud
 
Aitp presentation ed holub - october 23 2010
Aitp presentation   ed holub - october 23 2010Aitp presentation   ed holub - october 23 2010
Aitp presentation ed holub - october 23 2010
AITPHouston
 

Similaire à Scott Whitmire - Just What is Architecture Anyway (20)

Choosing Public vs. Private vs. Hybrid Cloud Computing
Choosing Public vs. Private vs. Hybrid Cloud ComputingChoosing Public vs. Private vs. Hybrid Cloud Computing
Choosing Public vs. Private vs. Hybrid Cloud Computing
 
How To Leverage Cloud Computing for Business & Operational Benefit - CAMP IT
How To Leverage Cloud Computing for Business & Operational Benefit - CAMP ITHow To Leverage Cloud Computing for Business & Operational Benefit - CAMP IT
How To Leverage Cloud Computing for Business & Operational Benefit - CAMP IT
 
SD West 2008: Call the requirements police, you've entered design!
SD West 2008: Call the requirements police, you've entered design!SD West 2008: Call the requirements police, you've entered design!
SD West 2008: Call the requirements police, you've entered design!
 
Software Architecture in an Agile World
Software Architecture in an Agile WorldSoftware Architecture in an Agile World
Software Architecture in an Agile World
 
NISI Agile Software Architecture Slide Deck
NISI Agile Software Architecture Slide DeckNISI Agile Software Architecture Slide Deck
NISI Agile Software Architecture Slide Deck
 
Icp 3273-the iiot understanding designing and developing the bigger picture v2
Icp 3273-the iiot understanding designing and developing the bigger picture v2Icp 3273-the iiot understanding designing and developing the bigger picture v2
Icp 3273-the iiot understanding designing and developing the bigger picture v2
 
Transitioning a Full Enterprise to Cloud in 10 Months - Cloud Expo
Transitioning a Full Enterprise to Cloud in 10 Months - Cloud ExpoTransitioning a Full Enterprise to Cloud in 10 Months - Cloud Expo
Transitioning a Full Enterprise to Cloud in 10 Months - Cloud Expo
 
Systematic Architecture Design
Systematic Architecture DesignSystematic Architecture Design
Systematic Architecture Design
 
CAMP IT Slides - Skytap - Brian White
CAMP IT Slides - Skytap - Brian White CAMP IT Slides - Skytap - Brian White
CAMP IT Slides - Skytap - Brian White
 
Enhancing clean architecture: 2 n-dimensional layers
Enhancing clean architecture: 2 n-dimensional layersEnhancing clean architecture: 2 n-dimensional layers
Enhancing clean architecture: 2 n-dimensional layers
 
Architecture in action 01
Architecture in action 01Architecture in action 01
Architecture in action 01
 
META for Microservices: Getting your enterprise migration in motion
META for Microservices: Getting your enterprise migration in motionMETA for Microservices: Getting your enterprise migration in motion
META for Microservices: Getting your enterprise migration in motion
 
Top Trends and Challenges in the Cloud
Top Trends and Challenges in the CloudTop Trends and Challenges in the Cloud
Top Trends and Challenges in the Cloud
 
Don’t Just Trust Cloud Providers - How To Audit Cloud Providers
Don’t Just Trust Cloud Providers - How To Audit Cloud ProvidersDon’t Just Trust Cloud Providers - How To Audit Cloud Providers
Don’t Just Trust Cloud Providers - How To Audit Cloud Providers
 
Aitp presentation ed holub - october 23 2010
Aitp presentation   ed holub - october 23 2010Aitp presentation   ed holub - october 23 2010
Aitp presentation ed holub - october 23 2010
 
Government and Education Webinar: Successfully Migrating Applications to the ...
Government and Education Webinar: Successfully Migrating Applications to the ...Government and Education Webinar: Successfully Migrating Applications to the ...
Government and Education Webinar: Successfully Migrating Applications to the ...
 
L02 What is Software Architecture?
L02 What is Software Architecture?L02 What is Software Architecture?
L02 What is Software Architecture?
 
IT Architecture and Architects
IT Architecture and ArchitectsIT Architecture and Architects
IT Architecture and Architects
 
2019-Nov: Domain Driven Design (DDD) and when not to use it
2019-Nov: Domain Driven Design (DDD) and when not to use it2019-Nov: Domain Driven Design (DDD) and when not to use it
2019-Nov: Domain Driven Design (DDD) and when not to use it
 
Principles of software architecture design
Principles of software architecture designPrinciples of software architecture design
Principles of software architecture design
 

Plus de iasaglobal

Essentials of enterprise architecture tools
Essentials of enterprise architecture toolsEssentials of enterprise architecture tools
Essentials of enterprise architecture tools
iasaglobal
 

Plus de iasaglobal (20)

Adam boczek 2015 agile architecture in 10 steps v1.0
Adam boczek 2015 agile architecture in 10 steps v1.0Adam boczek 2015 agile architecture in 10 steps v1.0
Adam boczek 2015 agile architecture in 10 steps v1.0
 
Adam boczek 2015 agile architecture in 10 steps v1.0
Adam boczek 2015 agile architecture in 10 steps v1.0Adam boczek 2015 agile architecture in 10 steps v1.0
Adam boczek 2015 agile architecture in 10 steps v1.0
 
Adam boczek 2013 bitkom software summit agile architecture v1.3
Adam boczek 2013 bitkom software summit agile architecture v1.3Adam boczek 2013 bitkom software summit agile architecture v1.3
Adam boczek 2013 bitkom software summit agile architecture v1.3
 
Essentials of enterprise architecture tools
Essentials of enterprise architecture toolsEssentials of enterprise architecture tools
Essentials of enterprise architecture tools
 
Understanding business strategy cutting edge paradigm
Understanding business strategy cutting edge paradigmUnderstanding business strategy cutting edge paradigm
Understanding business strategy cutting edge paradigm
 
Information and data relevance to business
Information and data relevance to businessInformation and data relevance to business
Information and data relevance to business
 
Case study value of it strategy in hi tech industry
Case study value of it strategy in hi tech industryCase study value of it strategy in hi tech industry
Case study value of it strategy in hi tech industry
 
Max Poliashenko - Enterprise Product Architecture
Max Poliashenko - Enterprise Product ArchitectureMax Poliashenko - Enterprise Product Architecture
Max Poliashenko - Enterprise Product Architecture
 
Michael Gonzalez - Do The Sum of The Parts Equal the Whole
Michael Gonzalez - Do The Sum of The Parts Equal the WholeMichael Gonzalez - Do The Sum of The Parts Equal the Whole
Michael Gonzalez - Do The Sum of The Parts Equal the Whole
 
Michael Jay Freer - Information Obfuscation
Michael Jay Freer - Information ObfuscationMichael Jay Freer - Information Obfuscation
Michael Jay Freer - Information Obfuscation
 
Creating Enterprise Value from Business Architecture
Creating Enterprise Value from Business ArchitectureCreating Enterprise Value from Business Architecture
Creating Enterprise Value from Business Architecture
 
Board of Education Vision 2013-2014
Board of Education Vision 2013-2014Board of Education Vision 2013-2014
Board of Education Vision 2013-2014
 
Sean Kenney - Solving Parallel Software Challenges with Patterns
Sean Kenney - Solving Parallel Software Challenges with PatternsSean Kenney - Solving Parallel Software Challenges with Patterns
Sean Kenney - Solving Parallel Software Challenges with Patterns
 
Sheila Jeffrey - Well Behaved Data - It's a Matter of Principles
Sheila Jeffrey - Well Behaved Data - It's a Matter of PrinciplesSheila Jeffrey - Well Behaved Data - It's a Matter of Principles
Sheila Jeffrey - Well Behaved Data - It's a Matter of Principles
 
Stephen Cohen - The Impact of Ethics on the Architect
Stephen Cohen - The Impact of Ethics on the ArchitectStephen Cohen - The Impact of Ethics on the Architect
Stephen Cohen - The Impact of Ethics on the Architect
 
William Martinez - Evolution Game
William Martinez - Evolution GameWilliam Martinez - Evolution Game
William Martinez - Evolution Game
 
Paul Preiss - Enterprise Architecture in Transformation
Paul Preiss - Enterprise Architecture in TransformationPaul Preiss - Enterprise Architecture in Transformation
Paul Preiss - Enterprise Architecture in Transformation
 
Nina Grantcharova - Approach to Separation of Concerns via Design Patterns
Nina Grantcharova - Approach to Separation of Concerns via Design PatternsNina Grantcharova - Approach to Separation of Concerns via Design Patterns
Nina Grantcharova - Approach to Separation of Concerns via Design Patterns
 
Roger Sessions - The Snowman Architecture
Roger Sessions - The Snowman ArchitectureRoger Sessions - The Snowman Architecture
Roger Sessions - The Snowman Architecture
 
Strategic Portfolio Management for IT
Strategic Portfolio Management for ITStrategic Portfolio Management for IT
Strategic Portfolio Management for IT
 

Dernier

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
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Dernier (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
 
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
 
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
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
[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
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
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
 
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...
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 

Scott Whitmire - Just What is Architecture Anyway

  • 1. Scott Whitmire CITA-P, Iasa Fellow Enterprise Architect, Nordstrom, Inc. JUST WHAT IS “ARCHITECTURE,” ANYWAY? COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 1
  • 2. WHY ARE WE STILL ASKING THIS QUESTION? COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 2 • The Agile Manifesto (www.agilemanifesto.org) says this: • The best architectures, requirements, and designs emerge from self-organizing teams • This implies that: • An architecture is fluid, that it evolves over time • The development team has considerable choice in the matter • Any up-front architectural work is bad and should be avoided • None of this is true
  • 3. WHAT IS ARCHITECTURE? COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 3 • Rosanski and Woods: • The architecture of a system is the set of fundamental concepts or properties of the system in its environment, embodied in its elements, relationships, and the principles of its design and evolution. Rozanski, N., & Woods, E. (2011). Software Systems Architecture, 2ed. Upper Saddle River, NJ, USA: Addison-Wesley.
  • 4. WHAT IS ARCHITECTURE? COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 4 • Software Engineering Institute: • The software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, the externally visible properties of those elements, and the relationships among them. Bass, L., Clements, P., & Kazman, R. (2003). Software Architecture in Practice, 2ed. Upper Saddle River, NJ, USA: Addison-Wesley.
  • 5. WHAT IS ARCHITECTURE? COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 5 • IEEE/ISO (ISO/ICE 42010:2011): • The fundamental organization of a system embodied in its components, their relationships to each other, and to the environment, and the principles guiding its design and evolution IEEE. (2000). IEEE Std 1471-2000. Piscataway, NJ, USA: IEEE.
  • 6. WHAT IS ARCHITECTURE? COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 6 • Roy Fielding: • (Dynamic) A software architecture is an abstraction of the run-time elements of a software system during some phase of its operation. A system may be composed of many levels of abstraction and many phases of operation, each with its own software architecture. • (Static) A software architecture is defined by a configuration of architectural elements – components, connectors, and data – constrained in their relationships in order to achieve a desired set of architectural properties. Fielding, R. (2000). Architectural Styles and the Design of Network-based Software Architectures (Dissertation). University of California, Irvine, Information and Computer Science. Irvine: University of California, Irvine.
  • 7. NOTICE THE PATTERN? WE DID COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 7 • Iasa Software Architecture: • A software architecture describes the dominant structure formed by the software components of a system and their elements, their functional and non-functional properties, and the connections between them. IASA Board of Education. (2008). Software Architecture Course Curriculum. IASA Board of Education. Austin: IASA.
  • 8. WHERE DOES ARCHITECTURE ORIGINATE? COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 8 • The short answer: • The problem domain • In most cases related to systems, the architecture is there to be discovered, not created • Architects face constrained choices, not a clean slate • The practice of architecture is mostly about navigating constraints
  • 9. CONSIDER BRIDGE DESIGN COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 9 • Type of bridge is largely determined by • Length of central span • Condition of anchor points • Condition of bottom • Customer’s budget • As central span gets longer, architecture options get more constrained • For spans of 1000’ or more, there are only two options • Anchor points determine which of these two you can use
  • 10. WHAT DOES THAT MEAN FOR SOFTWARE? • Wikipedia’s entry on non-functional requirements includes this: • The plan for implementing functional requirements is detailed in the system design. • The plan for implementing non-functional requirements is detailed in the system architecture. • Architecture is mainly about non-functional requirements COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 10
  • 11. SO, WHAT DOES THAT MEAN? COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 11 • Architecture of a software system is driven by context and non- functional requirements • The problem being solved has far more influence than the architect • You don’t need to know much about functional requirements to define an architecture • Architecture does not “evolve” in the sense that a design can
  • 12. WHAT DO WE NEED TO KNOW? COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 12 • Context is the environment that surrounds the system • The type of problem being solved • Business application vs. functional vs. real-time process control • User community size and distribution • Data creation and consumption patterns • Scale and scalability • Availability • Performance • Security • Variability and volatility
  • 13. PROBLEM TYPE COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 13 • Data-strong – Typical business application • Models data about things • Example: Customer Relationship Management • Function-strong – Typical mathematical or scientific application • Models behavior of things • Example: Weather model • Control-strong – Typical real-time control system • Interacts with real world to do real work • Example: Brewery control system
  • 14. USER COMMUNITY COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 14 • How many users are there? • How many time zones do they cover? • For a global application, including most web apps, it is always first shift • Large user communities require different approaches than small communities • Geographically dispersed user communities require different approaches than co-located communities
  • 15. DATA CREATION AND CONSUMPTION COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 15 • Data is always created locally • How is it consumed? • Shared globally – eg: Web-based eCommerce site • Used locally – eg: Distributed warehouse management • Local data usage lends itself to partitioned or distributed databases • Global data requires central database (or the appearance of) • Large user community + central database = big problem (one that we still haven’t solved completely) • Facebook and Twitter are hybrids
  • 16. SCALE AND SCALABILITY COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 16 • Scale is the typical size • 10k transactions per day vs. 100M transactions per day • Scalability is the requirement for scale to change • Adapt to changing loads – up or down • Large scale requires different approaches than small scale • Large changes in scale require interesting operations techniques (but are easily solved)
  • 17. AVAILABILITY COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 17 • Measured as up-time • Classes of “nines” • 3 nines (99.9%) • 4 nines (99.99%) • 5 nines (99.999%) => ~5 minutes of downtime per year • Each additional 9 is about 10x in cost • Going from 4 nines to 5 nines requires architectural changes • Infrastructure – high-availability components and geographic redundancy • Application – active-active instances and components – and databases
  • 18. PERFORMANCE COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 18 • Four “real” performance classes • Eye-blink – it happens immediately • Delay – long enough to be annoying, too quick to do something else • Wait – long enough to do something else and come back • Overnight – anything longer than wait • Are there hard limits imposed by the problem? • Latency accumulates as you add layers and decoupling • High-performance across layers requires architecture work
  • 19. SECURITY COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 19 • Security is inherent in the architecture (or not) • Threat model must be considered early • An story: A medical monitoring application
  • 20. VARIABILITY AND VOLATILITY COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 20 • What can change and how often? • Isolate volatile components from others and from each other • Loose coupling is the goal, there are many techniques
  • 21. LET’S LOOK AT AN EXAMPLE COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 21 • Operating models are problem domain patterns • Two (unified and coordinated) require customer and product data to be shared across business units and processes • Most companies are one of these two patterns • It took the introduction of Master Data Management to finally(!) consolidate our view of customer and product data
  • 22. LOOK FAMILIAR? COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 22
  • 23. IS THIS A DIFFERENT PATTERN? COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 23
  • 24. STILL LOOK FAMILIAR? COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 24
  • 25. HERE’S ANOTHER VIEW COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 25
  • 26. THE PICTURES ARE ALL THE SAME COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 26 • The dominant structure is shared data • We call it the Blackboard1 pattern • Layers is a structural pattern to show separation of concerns • N-Tier is a deployment pattern • Maybe 90% of business applications are Blackboard – if you dig deep enough 1Buschmann, F., Munier, R., Rohnert, H., Sommerlad, P., & Stal, M. (1996). Pattern-Oriented Software Architecture Volume 1: A System of Patterns (Vol. 1). New York, NY, USA: John Wiley & Sons.
  • 27. OTHER PATTERNS COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 27 • Pipes-and-Filters • Video games • Mathematical and scientific applications • Microkernel • Real-time control systems, including embedded systems • There are others, but these are most common
  • 28. PIPES-AND-FILTERS – IMAGE PROCESSING COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 28 Noise Filtering Edge Detection Movement Detection
  • 29. MICROKERNEL – DEVICE CONTROL COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 29 Controller Analog Sensor Automatic Valve Event Processing Engine Machine(s) Digital Sensor
  • 30. WHY DOES IT MATTER? COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 30 • Most system failures are caused by a mismatch between the dominate pattern in the problem domain and the dominant pattern in the solution • At the very least, use, operation, and maintenance is painful • Some examples: • Customer credit account • Database keys • Inventory balance
  • 31. CONCLUSION COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 31 • Architecture (as a verb) is about matching the solution pattern to the pattern of your problem – the problem drives the solution • Architecture (as a noun) is that pattern • The art is recognizing the problem’s pattern in the first place • The science is applying knowledge and experience to create a matching solution • The problem’s pattern isn’t likely to evolve, and the team doesn’t get to decide • We have lots of tools • Past practice • Patterns • Abstraction • Encapsulation
  • 32. COPYRIGHT © 2012 BY SCOTT A. WHITMIRE. 32 Thank you! ARCHITECTURE ≠ DESIGN