Accidental Architecture 0.9
-
Upload
mark-cathcart -
Category
Documents
-
view
181 -
download
0
Transcript of Accidental Architecture 0.9
Dell Management Infrastructure <tag /> < innovation />
Mark Cathcart, Director of Systems Engineering, Dell26th August, 2009, v0.9http://cathcam.wordpress.com
2
• Not judgmental, or critical, (often) exactly what was needed at the time.
• Typically occurs overtime; Starts with no long term plan; Reactive rather than proactive
• Silo’d implementations; always find a way to add function
• Expensive, (often) throw away code; expensive to develop; expensive to test; expensive to sustain
• In order to grow software sustainably, Dell needs an Intentional Architecture
Accidental architecture
Accidental architecture
• “Every interesting software-intensive system has an architecture. While some of these architectures are intentional, most appear to be accidental.”
• “An intentional architecture is explicitly identified and then implemented; “
• “An accidental architecture emerges from the multitude of individual design decisions that occur during development”
• “An accidental architecture is not necessarily a bad thing, as long as the decisions that make up that architecture are made manifest(*) “– Essential ones are made visible as soon as they are instituted
– Allowed to remain visible throughout the meaningful life of that system.
• “Accidental architectures are not evil things; “– they are inevitable in the growth of systems.
– It's only when we begin to turn these accidental architectures into intentional ones that we advance our understanding of software architecture.
Grady Booch, Founder Rational Software, IBM Fellow - 2006
*A public declaration of principles and intentions, often political in nature3
Introduction
• Myers-Briggs type INTP– Introversion, iNtuition, Thinking, Perception
• What to expect?– Enjoys spending long periods of time on own– Working through problems and forming solutions– Impatient with bureaucracy, rigid hierarchies– Prefers to work with others as equals
• How?– Understand topic by articulating principles– Demonstrate remarkable skill by explaining complex ideas
to others in simple terms, esp. in writing– May seem oblivious, aloof or even rebellious
• In fact listening and understanding…
– Quick wit, esp. with language; defuse tension through comical observation and reference
4
What if…. (Dell)
• We had a simple, single, consistent set of interfaces which could be adapted across numerous server generations?
• Had common, comprehensive standards for interfacing to and integrating with our products
• That could evolve in a platform neutral, OS and product independent way?
• That minimized development, test, sustaining costs by using shared services and interfaces?
• That allowed us to add new features with a minimum of infrastructure work?
• Yet still allowed Dell to gain more control, more Intellectual Property and profit from it’s management infrastructure ?
What if…. (customer)• You could configure all servers, storage, networking equipment at order and install
time based on the workloads you want to run?
• You had access to all of the certified configuration information and could easily
associate that with your infrastructure from any server?
• Health, faults, and alerts were delivered to you anywhere you would like with RSS?
• A chronological log of information of all changes in the infrastructure was available
anywhere?
• Patches and software updates were delivered to you asynchronously as they became
available?
• You had a management infrastructure that was common across and between your
infrastructure, and independent of implementation
• You could quickly and easily build management views to provide a simplified view
across different services you provide using industry standards tools and open API’s…
Dell Management Infrastructure
25
User Interaction
Software, Driver, update
Configuration, Lifecycle
Event & Power Mgmnt
Logs and Reporting
Debug and Recovery
Billing, Metering
Licensed feature enablement
Distributed, Cloud enabled
Enterprise Management
Development Tools
Identity, Security Management