Agile Infra @AgileRoots 2009

Preview:

DESCRIPTION

The prelude to the talks at Velocity and Agile 2009. A few of the same slides and sentiment, but presented in a different way. More mentions of Puppet specifically for one.

Citation preview

AGILE INFRASTRUCTURE

ANDREW CLAY SHAFER

ANDREW CLAY SHAFER

Developer Once Upon A Time

ANDREW CLAY SHAFER

Developer Once Upon A Time

Agile Team member

ANDREW CLAY SHAFER

Developer Once Upon A Time

Agile Team member

Tolerated at Salt Lake Agile Roundtable

ANDREW CLAY SHAFER

Developer Once Upon A Time

Agile Team member

Tolerated at Salt Lake Agile Roundtable

Mostly Worked For Start Ups

ANDREW CLAY SHAFER

Developer Once Upon A Time

Founding Partner Reductive Labs Inc.

Agile Team member

Tolerated at Salt Lake Agile Roundtable

Mostly Worked For Start Ups

ANDREW CLAY SHAFER

Developer Once Upon A Time

Founding Partner Reductive Labs Inc.

Agile Team member

All Around Trouble Maker

Tolerated at Salt Lake Agile Roundtable

Mostly Worked For Start Ups

ANDREW CLAY SHAFER

Developer Once Upon A Time

Founding Partner Reductive Labs Inc.

Agile Team member

All Around Trouble Maker

Tolerated at Salt Lake Agile Roundtable

Mostly Worked For Start Ups

The Rest is Complicated...

O H Y E A H , T H E R E I S A LWAY S A D U C K . . .

WHAT IS AGILE?

M A N I F E S T O , 4 VA L U E S , 1 2 P R I N C I P L E S . . .

M A N I F E S T O , 4 VA L U E S , 1 2 P R I N C I P L E S . . .

M A N I F E S T O , 4 VA L U E S , 1 2 P R I N C I P L E S . . .

M A N I F E S T O , 4 VA L U E S , 1 2 P R I N C I P L E S . . .

M A N I F E S T O , 4 VA L U E S , 1 2 P R I N C I P L E S . . .

M A N I F E S T O , 4 VA L U E S , 1 2 P R I N C I P L E S . . .

M A N I F E S T O , 4 VA L U E S , 1 2 P R I N C I P L E S . . .

M A N I F E S T O , 4 VA L U E S , 1 2 P R I N C I P L E S . . .

M A N I F E S T O , 4 VA L U E S , 1 2 P R I N C I P L E S . . .

M A N I F E S T O , 4 VA L U E S , 1 2 P R I N C I P L E S . . .

BUT WHAT IS

AGILE???

BUT WHAT IS

AGILE???PLANNING

BUT WHAT IS

AGILE???PLANNING ENGINEERING

BUT WHAT IS

AGILE???PLANNING ENGINEERING

DEVELOPERS

BUT WHAT IS

AGILE???PLANNING ENGINEERING

DEVELOPERSPRODUCTOWNERS

BUT WHAT IS

AGILE???PLANNING ENGINEERING

DEVELOPERSPRODUCTOWNERS

TESTERS

BUT WHAT IS

AGILE???PLANNING ENGINEERING

DEVELOPERSPRODUCTOWNERS

EXECUTIVES

TESTERS

BUT WHAT IS

AGILE???PLANNING ENGINEERING

DEVELOPERSPRODUCTOWNERS

SYSTEM ADMINISTRATORSEXECUTIVES

TESTERS

BUT WHAT IS

AGILE???PLANNING ENGINEERING

DEVELOPERSPRODUCTOWNERS

SYSTEM ADMINISTRATORSDATABASE ADMINISTRATORS

EXECUTIVES

TESTERS

BUT WHAT IS

AGILE???PLANNING ENGINEERING

DEVELOPERSPRODUCTOWNERS

SYSTEM ADMINISTRATORSDATABASE ADMINISTRATORS

NETWORK ENGINEERS

EXECUTIVES

TESTERS

BUT WHAT IS

AGILE???PLANNING ENGINEERING

DEVELOPERSPRODUCTOWNERS

SYSTEM ADMINISTRATORSDATABASE ADMINISTRATORS

NETWORK ENGINEERS

EXECUTIVES

TESTERSDESIGNERS

BUT WHAT IS

AGILE???PLANNING ENGINEERING

DEVELOPERSPRODUCTOWNERS

SYSTEM ADMINISTRATORSDATABASE ADMINISTRATORS

NETWORK ENGINEERS

EXECUTIVES

TESTERSDESIGNERS

USABILITY EXPERTS

BUT WHAT IS

AGILE???PLANNING ENGINEERING

DEVELOPERSPRODUCTOWNERS

CIRCLE OF HAPPINESS

SYSTEM ADMINISTRATORSDATABASE ADMINISTRATORS

NETWORK ENGINEERS

EXECUTIVES

TESTERSDESIGNERS

USABILITY EXPERTS

BUT WHAT IS

AGILE???PLANNING ENGINEERING

DEVELOPERSPRODUCTOWNERS

CIRCLE OF HAPPINESS

SYSTEM ADMINISTRATORSDATABASE ADMINISTRATORS

NETWORK ENGINEERS

EXECUTIVES

TESTERSDESIGNERS

USABILITY EXPERTS

BUT WHAT IS

AGILE???PLANNING ENGINEERING

DEVELOPERSPRODUCTOWNERS

CIRCLE OF HAPPINESS

SYSTEM ADMINISTRATORSDATABASE ADMINISTRATORS

NETWORK ENGINEERS

EXECUTIVES

TESTERSDESIGNERS

USABILITY EXPERTS

BUT THE WAY SOFTWARE GETS DELIVERED HAS

CHANGED A LOT...

BUT THE WAY SOFTWARE GETS DELIVERED HAS

CHANGED A LOT...

...AND THINGS ARE CHANGING FAST RIGHT NOW .

WHO IS WORKING ON A

WEB APP?

END OF SHRINK WRAP

END OF SHRINK WRAP

Clouds Are Rising

END OF SHRINK WRAP

WHO IS WORKING ON A

WEB APP?

WHO IS WORKING ON A

WEB APP?WHERE DOES THAT WEB APP RUN?

WHO IS WORKING ON A

WEB APP?WHERE DOES THAT WEB APP RUN?

WHO TAKES CARE OF THOSE SERVERS?

WHO IS WORKING ON A

WEB APP?WHERE DOES THAT WEB APP RUN?

WHO TAKES CARE OF THOSE SERVERS?HOW DO YOU INTERACT WITH THEM?

WHO IS WORKING ON A

WEB APP?WHERE DOES THAT WEB APP RUN?

WHO TAKES CARE OF THOSE SERVERS?HOW DO YOU INTERACT WITH THEM?

‘THEM’ IS PEOPLE OR SERVERS?

ENGINEERINGVersion Control

Build From Source

WHO USES VERSION CONTROL FOR SYSTEM

CONFIGURATIONS?

WHO USES VERSION CONTROL FOR SYSTEM

CONFIGURATIONS?

WHO CAN AUTOMATICALLY

REBUILD SYSTEMS?

Infrastructure is Code!!!

Infrastructure is Code!!!SEMANTICS

Infrastructure is Code!!!SEMANTICS

REPRODUCIBLE

Infrastructure is Code!!!SEMANTICS

REPRODUCIBLEMAINTAINABLE

Infrastructure is Code!!!SEMANTICS

REPRODUCIBLEMAINTAINABLE

EXTENSIBLE

Infrastructure is Code!!!SEMANTICS

REPRODUCIBLEMAINTAINABLE

EXTENSIBLESHAREABLE

WHO IS USING PUPPET?

Infrastructure is Code!!!SEMANTICS

REPRODUCIBLEMAINTAINABLE

EXTENSIBLESHAREABLE

Open Source Software!

HELP ME TO SEE IT...

HELP ME TO SEE IT...

USING TRADITIONAL TECHNIQUES CONFIGURATIONS TEND TO DRIFT

BUT WHY?

BUT WHY?BACKLOG OF REQUESTS

BUT WHY?BACKLOG OF REQUESTS

CONFIGURATION OF CRITICAL SERVICES ARE OFTEN NOT DOCUMENTED AND MUST BE RECREATED

BUT WHY?

INCONSISTENCIES CAUSE CONFUSION AND MISTAKES

BACKLOG OF REQUESTS

CONFIGURATION OF CRITICAL SERVICES ARE OFTEN NOT DOCUMENTED AND MUST BE RECREATED

BUT WHY?

MORE AND MORE SYSTEMS TO MANAGE

INCONSISTENCIES CAUSE CONFUSION AND MISTAKES

BACKLOG OF REQUESTS

CONFIGURATION OF CRITICAL SERVICES ARE OFTEN NOT DOCUMENTED AND MUST BE RECREATED

BUT WHY?

MORE AND MORE SYSTEMS TO MANAGE

INCONSISTENCIES CAUSE CONFUSION AND MISTAKES

BACKLOG OF REQUESTS

CONFIGURATION OF CRITICAL SERVICES ARE OFTEN NOT DOCUMENTED AND MUST BE RECREATED

WORK ON THE BIGGEST FIRE

Dear Diary,

Dear Diary, Today I was on fire for 12 hours...

Dear Diary, Today I was on fire for 12 hours...It wasn’t as pleasant as it sounds.

Dear Diary, Today I was on fire for 12 hours...It wasn’t as pleasant as it sounds.--Eben Brinson Smith III

Dear Diary, Today I was on fire for 12 hours...It wasn’t as pleasant as it sounds.--Eben Brinson Smith III

WHAT DOES THAT REALLY MEAN?

WHAT DOES THAT REALLY MEAN?DEPLOYMENTS AND UPGRADES

ARE EXPENSIVE, TEDIOUS AND ERROR PRONE

WHAT DOES THAT REALLY MEAN?DEPLOYMENTS AND UPGRADES

ARE EXPENSIVE, TEDIOUS AND ERROR PRONE

THE CHANCE THAT DEV, TEST AND PROD ARE CONFIGURED THE SAME APPROACHES ZERO

WHAT DOES THAT REALLY MEAN?DEPLOYMENTS AND UPGRADES

ARE EXPENSIVE, TEDIOUS AND ERROR PRONE

THE CHANCE THAT DEV, TEST AND PROD ARE CONFIGURED THE SAME APPROACHES ZERO

HARDWARE FAILURE CAN BE CATASTROPHIC

WHAT DOES THAT REALLY MEAN?DEPLOYMENTS AND UPGRADES

ARE EXPENSIVE, TEDIOUS AND ERROR PRONE

THE CHANCE THAT DEV, TEST AND PROD ARE CONFIGURED THE SAME APPROACHES ZERO

HARDWARE FAILURE CAN BE CATASTROPHIC

HEAVY WEIGHT CHANGE CONTROL PROCESSES SEEM LIKE A GOOD IDEA

WHAT DOES THAT REALLY MEAN?

MORE AND MORE SYSTEMS TO MANAGE

DEPLOYMENTS AND UPGRADES ARE EXPENSIVE, TEDIOUS AND ERROR PRONE

THE CHANCE THAT DEV, TEST AND PROD ARE CONFIGURED THE SAME APPROACHES ZERO

HARDWARE FAILURE CAN BE CATASTROPHIC

HEAVY WEIGHT CHANGE CONTROL PROCESSES SEEM LIKE A GOOD IDEA

VIRTUALMACHINES

VIRTUALMACHINES

A NEW ‘MACHINE’ API

VIRTUALMACHINES

A NEW ‘MACHINE’ API

MORE MACHINES TO CONFIGURE

VIRTUALMACHINES

A NEW ‘MACHINE’ API

MORE MACHINES TO CONFIGURE

DO NOT MAKE GOLDEN IMAGES

VIRTUALMACHINES

A NEW ‘MACHINE’ API

MORE MACHINES TO CONFIGURE

DO NOT MAKE GOLDEN IMAGES

REALLY FOIL BALLS

VIRTUALMACHINES

A NEW ‘MACHINE’ API

MORE MACHINES TO CONFIGURE

DO NOT MAKE GOLDEN IMAGES

WTF?REALLY FOIL BALLS

VIRTUALMACHINES

A NEW ‘MACHINE’ API

MORE MACHINES TO CONFIGURE

DO NOT MAKE GOLDEN IMAGES

WTF?REALLY FOIL BALLS

...OR SHOULD I SAY WTD?

INFRASTRUCTUREIS CODE!

INFRASTRUCTUREIS CODE!

AUTOMATE EVERYTHING

INFRASTRUCTUREIS CODE!

AUTOMATE EVERYTHING

GET MORE DONE SPEND LESS TIME DOING IT

INFRASTRUCTUREIS CODE!

AUTOMATE EVERYTHING

GET MORE DONE SPEND LESS TIME DOING IT

PEOPLE SPEND TIME MAKING DECISIONSNOT DOING TEDIOUS WORK OVER AND OVER

INFRASTRUCTUREIS CODE!

AUTOMATE EVERYTHING

GET MORE DONE SPEND LESS TIME DOING IT

PEOPLE SPEND TIME MAKING DECISIONSNOT DOING TEDIOUS WORK OVER AND OVER

NO LONGER MANAGING SERVERS, MANAGE SERVICES

INFRASTRUCTUREIS CODE!

AUTOMATE EVERYTHING

GET MORE DONE SPEND LESS TIME DOING IT

PEOPLE SPEND TIME MAKING DECISIONSNOT DOING TEDIOUS WORK OVER AND OVER

TAKE ADVANTAGE OF THE PROCESSES AND TOOLSWE HAVE FOR SOFTWARE DEVELOPMENT

NO LONGER MANAGING SERVERS, MANAGE SERVICES

MORE AND MORESERVERS TO MANAGE

MORE AND MORESERVERS TO MANAGE

BRING IT ON!!!

PLANNINGCommunication

CollaborationEstimation

Prioritization

NON-FUNCTIONALREQUIREMENTS

NON-FUNCTIONALREQUIREMENTS

REQUIREMENTS THAT WILL RENDER THE APPLICATION NON-FUNCTIONAL IF NOT FULFILLED

NON-FUNCTIONALREQUIREMENTS

REQUIREMENTS THAT WILL RENDER THE APPLICATION NON-FUNCTIONAL IF NOT FULFILLED

WTD?

NON-FUNCTIONALREQUIREMENTS

REQUIREMENTS THAT WILL RENDER THE APPLICATION NON-FUNCTIONAL IF NOT FULFILLED

WTD?

STOP THINKING LIKE THAT

REQUIREMENTS ARE REQUIREMENTS

REQUIREMENTS ARE REQUIREMENTS

A WEB APP IS THE INFRASTRUCTURE

REQUIREMENTS ARE REQUIREMENTS

A WEB APP IS THE INFRASTRUCTURE

WITHOUT INFRASTRUCTURE THERE IS NO APP

REQUIREMENTS ARE REQUIREMENTS

A WEB APP IS THE INFRASTRUCTURE

WITHOUT INFRASTRUCTURE THERE IS NO APP

A CHANGE IN USAGE PATTERNS CAN CRUSH THE INFRASTRUCTURE

REQUIREMENTS ARE REQUIREMENTS

A WEB APP IS THE INFRASTRUCTURE

WITHOUT INFRASTRUCTURE THERE IS NO APP

A CHANGE IN USAGE PATTERNS CAN CRUSH THE INFRASTRUCTURE

REQUIRES COLLABORATION BETWEEN DEV AND OPS

DEVELOPERS OPERATIONS

DEVELOPERS OPERATIONS

DEVELOPERS OPERATIONS

DEVELOPERS OPERATIONS

DEVELOPERS OPERATIONS

DEVELOPERS OPERATIONS

DEVELOPERS OPERATIONS

DEVELOPERS OPERATIONS

BOUNDARY OBJECTS

DEVELOPERS OPERATIONS

BOUNDARY OBJECTS

COMMUNITY OF INTEREST

DEVELOPERS OPERATIONS

BOUNDARY OBJECTS

COMMUNITY OF INTEREST

DEVELOPERS OPERATIONS

BOUNDARY OBJECTS

COMMUNITY OF INTERESTWWW .VISIBLEWORKINGS.COM/ANALOGYFEST/MARICK-BOUNDARY-OBJECTS.PDF

INFRASTRUCTUREIS CODE!

INFRASTRUCTUREIS CODE!

PLAN FOR INFRASTRUCTURE REQUIREMENTS

INFRASTRUCTUREIS CODE!

PLAN FOR INFRASTRUCTURE REQUIREMENTS

...BUT BE WILLING AND ABLE TO CHANGE THEM

INFRASTRUCTUREIS CODE!

OPERATIONS’ CUSTOMER IS THE APP

PLAN FOR INFRASTRUCTURE REQUIREMENTS

...BUT BE WILLING AND ABLE TO CHANGE THEM

INFRASTRUCTUREIS CODE!

OPERATIONS’ CUSTOMER IS THE APP

PLAN FOR INFRASTRUCTURE REQUIREMENTS

...BUT BE WILLING AND ABLE TO CHANGE THEM

IF THE INFRASTRUCTURE ISN’T WORKING NOTHING IS

INFRASTRUCTUREIS CODE!

OPERATIONS’ CUSTOMER IS THE APP

CREATE A CULTURE OF COLLABORATION

PLAN FOR INFRASTRUCTURE REQUIREMENTS

...BUT BE WILLING AND ABLE TO CHANGE THEM

IF THE INFRASTRUCTURE ISN’T WORKING NOTHING IS

INFRASTRUCTUREIS CODE!

OPERATIONS’ CUSTOMER IS THE APP

CREATE A CULTURE OF COLLABORATION

PLAN FOR INFRASTRUCTURE REQUIREMENTS

TAKE ADVANTAGE OF THE PROCESSES AND TOOLSWE HAVE FOR SOFTWARE DEVELOPMENT

...BUT BE WILLING AND ABLE TO CHANGE THEM

IF THE INFRASTRUCTURE ISN’T WORKING NOTHING IS

INFRASTRUCTUREIS CODE!

OPERATIONS’ CUSTOMER IS THE APP

CREATE A CULTURE OF COLLABORATION

PLAN FOR INFRASTRUCTURE REQUIREMENTS

TAKE ADVANTAGE OF THE PROCESSES AND TOOLSWE HAVE FOR SOFTWARE DEVELOPMENT

...BUT BE WILLING AND ABLE TO CHANGE THEM

IF THE INFRASTRUCTURE ISN’T WORKING NOTHING IS

INFRASTRUCTUREIS CODE!

OPERATIONS’ CUSTOMER IS THE APP

CREATE A CULTURE OF COLLABORATION

PLAN FOR INFRASTRUCTURE REQUIREMENTS

TAKE ADVANTAGE OF THE PROCESSES AND TOOLSWE HAVE FOR SOFTWARE DEVELOPMENT

...BUT BE WILLING AND ABLE TO CHANGE THEM

IF THE INFRASTRUCTURE ISN’T WORKING NOTHING IS

THE MOST IMPORTANT STATEMENT FROM THE

MANIFESTO...

THE MOST IMPORTANT STATEMENT FROM THE

MANIFESTO......MIGHT NOT BE THE VALUES...

THE MOST IMPORTANT STATEMENT FROM THE

MANIFESTO...

...OR THE PRINCIPLES...

...MIGHT NOT BE THE VALUES...

‘We are uncovering better ways of developing software by doing it and

helping others do it.’

‘We are uncovering better ways of developing software by doing it and

helping others do it.’

K E E P U N C O V E R I N G

K E E P U N C O V E R I N G

andrew@reductivelabstwitter.com/littleidea

QUESTIONS?andrew@reductivelabstwitter.com/littleidea