Accidental Architecture 0.9

25
Dell Management Infrastructure <tag /> < innovation /> Mark Cathcart, Director of Systems Engineering, Dell 26 th August, 2009, v0.9 http://cathcam.wordpress.com

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…

7

8

9

23

24

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