Agile Infrastructure - Agile 2009

Post on 15-Jan-2015

8.178 views 4 download

Tags:

description

Storage, network and computational resources are becoming API driven. Configuration management tools provide another level of automation and semantics to the systems. As these tools evolve the exercise of building systems looks more and more like software development. Further, when developing web applications, the application is the infrastructure. If the servers are down, there is no application. The value of the application is tied to the systems. Treating the systems and application holistically, encouraging communication and collaboration between dev and ops is the path to true artisanal retro-futurism ⊗ team-scale anarcho-syndicalism.

Transcript of Agile Infrastructure - Agile 2009

AGILE INFRASTRUCTUREANDREW SHAFER - PAUL NASRAT

ANDREW CLAY SHAFER

ANDREW CLAY SHAFER

DEVELOPER, ONCE UPON A TIME

ANDREW CLAY SHAFER

CO-FOUNDER REDUCTIVE LABS INC.

DEVELOPER, ONCE UPON A TIME

ANDREW CLAY SHAFER

CO-FOUNDER REDUCTIVE LABS INC.

DEVELOPER, ONCE UPON A TIME

ALL AROUND TROUBLE MAKER

ANDREW CLAY SHAFER

CO-FOUNDER REDUCTIVE LABS INC.

DEVELOPER, ONCE UPON A TIME

ALL AROUND TROUBLE MAKER

THE REST IS COMPLICATED...

Alistair CockburnBrian Marick

Israel GatZhon JohansenKay Johansen

Salt Lake Agile Roundtable

AGILE INFLUENCES

Luke KaniesTeyo Tyree

James TurnbullPaul LathropJohn AlspawAdam Jacob

Puppet Community

INFRASTRUCTURE INFLUENCES

PAULNASRAT

PAULNASRAT

GUARDIAN OPERATIONS LEAD

PAULNASRAT

GUARDIAN OPERATIONS LEAD

THOUGHTWORKER

PAULNASRAT

GUARDIAN OPERATIONS LEAD

THOUGHTWORKER

XTREME TUESDAY CLUB

PAULNASRAT

GUARDIAN OPERATIONS LEAD

THOUGHTWORKER

XTREME TUESDAY CLUB

INFRASTRUCTURE DEVELOPER

WHY DOES IT MATTER?

WEB APPLICATIONS ARE THE INFRASTRUCTURE

WHY DOES IT MATTER?

WEB APPLICATIONS ARE THE INFRASTRUCTURE

OPERATIONS IS THE SPECIAL SAUCE

WHY DOES IT MATTER?

DISCLAIMERS

WEB OPERATIONS BIAS

DISCLAIMERS

WEB OPERATIONS BIAS

*NIX BIAS

DISCLAIMERS

WEB OPERATIONS BIAS

*NIX BIAS

OPEN SOURCE BIAS

DISCLAIMERS

DAY BREAK

APPLIED PRINCIPLES

DAY BREAK

APPLIED PRINCIPLES

ENABLE CHANGE

DAY BREAK

APPLIED PRINCIPLES

ENABLE CHANGE

ENABLE COMMUNICATION

DAY BREAK

APPLIED PRINCIPLES

ENABLE CHANGE

ENABLE COMMUNICATION

ENABLE FEEDBACK

DAY BREAK

APPLIED PRINCIPLES

ENABLE CHANGE

ENABLE COMMUNICATION

ENABLE FEEDBACK

ENABLE CHOICES

DAY BREAK

YOU ARE A SPECIAL

SNOWFLAKE

JUST LIKE EVERYBODYEVERYTHING THE SAME,EVERYTHING DISTINCT

PROBLEMS

CONFIGURATION DRIFT

CHANGE CAUSES OUTAGESINTERNAL AND EXTERNAL

DEVELOPERS OPERATIONS

DEVELOPERS OPERATIONS

DEVELOPERS OPERATIONS

DEVELOPERS OPERATIONS

DEVELOPERS OPERATIONS

HERO CULTURE

RUNNING ON ADRENALINE

REACTIVE FIREFIGHTING

PURELY TACTICAL

CONTRIBUTES TO CONFIG DRIFT

DON’T NEED ANOTHER HERO...

NON-FUNCTIONALREQUIREMENTS

DIFFERENT ENVIRONMENTS

THE MYSTERY MACHINETHE ONE IN THE CORNER THAN EVERYONE IS AFRAID TO

TURN OFF, BUT NO ONE KNOWS WHY IT IS ON.

DONE IS DEPLOYED

DONE, DONE, DONE

INFRASTRUCTURE IS CODE

INFRASTRUCTURE IS CODE

API DRIVEN ABSTRACTIONS

INFRASTRUCTURE IS CODE

API DRIVEN ABSTRACTIONS

THE INFRASTRUCTURE IS AN APPLICATION

WHAT IS

AGILE?

WHAT IS

AGILE?PLANNING

WHAT IS

AGILE?PLANNING ENGINEERING

WHAT IS

AGILE?PLANNING ENGINEERING

DEVELOPERS

WHAT IS

AGILE?PLANNING ENGINEERING

DEVELOPERS

PRODUCTOWNERS

WHAT IS

AGILE?PLANNING ENGINEERING

DEVELOPERS

PRODUCTOWNERS

TESTERS

WHAT IS

AGILE?PLANNING ENGINEERING

DEVELOPERS

PRODUCTOWNERS

TESTERS

CIRCLE OF HAPPINESS

WHAT IS

AGILE?PLANNING ENGINEERING

DEVELOPERS

PRODUCTOWNERS

EXECUTIVES

TESTERS

CIRCLE OF HAPPINESS

WHAT IS

AGILE?PLANNING ENGINEERING

DEVELOPERS

PRODUCTOWNERS

SYSTEM ADMINISTRATORS

EXECUTIVES

TESTERS

CIRCLE OF HAPPINESS

WHAT IS

AGILE?PLANNING ENGINEERING

DEVELOPERS

PRODUCTOWNERS

SYSTEM ADMINISTRATORS

DATABASE ADMINISTRATORS

EXECUTIVES

TESTERS

CIRCLE OF HAPPINESS

WHAT IS

AGILE?PLANNING ENGINEERING

DEVELOPERS

PRODUCTOWNERS

SYSTEM ADMINISTRATORS

DATABASE ADMINISTRATORS

NETWORK ENGINEERS

EXECUTIVES

TESTERS

CIRCLE OF HAPPINESS

WHAT IS

AGILE?PLANNING ENGINEERING

DEVELOPERS

PRODUCTOWNERS

SYSTEM ADMINISTRATORS

DATABASE ADMINISTRATORS

NETWORK ENGINEERS

EXECUTIVES

TESTERSDESIGNERS

CIRCLE OF HAPPINESS

WHAT IS

AGILE?PLANNING ENGINEERING

DEVELOPERS

PRODUCTOWNERS

SYSTEM ADMINISTRATORS

DATABASE ADMINISTRATORS

NETWORK ENGINEERS

EXECUTIVES

TESTERSDESIGNERS

USABILITY EXPERTS

CIRCLE OF HAPPINESS

WHAT IS

AGILE?PLANNING ENGINEERING

DEVELOPERS

PRODUCTOWNERS

SYSTEM ADMINISTRATORS

DATABASE ADMINISTRATORS

NETWORK ENGINEERS

EXECUTIVES

TESTERSDESIGNERS

USABILITY EXPERTS

CIRCLE OF HAPPINESS

AGILE INFRASTRUCTURE

AGILE INFRASTRUCTURE

INFRASTRUCTURE IS CODE: APPLY THE LESSONS LEARNED FROM SOFTWARE DEVELOPMENT

AGILE INFRASTRUCTURE

INFRASTRUCTURE IS CODE: APPLY THE LESSONS LEARNED FROM SOFTWARE DEVELOPMENT

LEVERAGE THE INFRASTRUCTURE RENAISSANCE TO BUILD MORE FLEXIBLE SYSTEMS AND FASTER FEEDBACK

AGILE INFRASTRUCTURE

INFRASTRUCTURE IS CODE: APPLY THE LESSONS LEARNED FROM SOFTWARE DEVELOPMENT

LEVERAGE THE INFRASTRUCTURE RENAISSANCE TO BUILD MORE FLEXIBLE SYSTEMS AND FASTER FEEDBACK

TAKE ADVANTAGE OF MORE PERSONAS AND IDEAS TO DELIVER VALUE STREAM

TECHNIQUES

VERSION CONTROL

VERSION

VERSION

NETWORK CONFIGURATIONS

VERSION

NETWORK CONFIGURATIONS

SYSTEM CONFIGURATIONS

VERSION

NETWORK CONFIGURATIONS

SYSTEM CONFIGURATIONS

APPLICATIONS CONFIGURATIONS

VERSION

NETWORK CONFIGURATIONS

SYSTEM CONFIGURATIONS

APPLICATIONS CONFIGURATIONS

APPLICATION CODE

VERSION

NETWORK CONFIGURATIONS

SYSTEM CONFIGURATIONS

APPLICATIONS CONFIGURATIONS

APPLICATION CODE

DATABASE SCHEMA

VERSION

NETWORK CONFIGURATIONS

SYSTEM CONFIGURATIONS

APPLICATIONS CONFIGURATIONS

APPLICATION CODE

DATABASE SCHEMA

DOCUMENTATION

VERSION

NETWORK CONFIGURATIONS

SYSTEM CONFIGURATIONS

APPLICATIONS CONFIGURATIONS

APPLICATION CODE

DATABASE SCHEMA

DOCUMENTATION

ANYTHING THAT MATTERS

VERSION EVERYTHING

VERSION EVERYTHINGSERIOUSLY...

VERSION EVERYTHINGSERIOUSLY...

EVERYTHING

VERSION EVERYTHINGSERIOUSLY...

EVERYTHING

THE TOOL DOESN’T MATTER (BUT YOU SHOULD USE GIT)

CONFIGURATION MANAGEMENT

CONFIGURATION MANAGEMENT

CONFIGURATION MANAGEMENT

PUT SYSTEMS INTO A KNOWN STATE

CONFIGURATION MANAGEMENT

PUT SYSTEMS INTO A KNOWN STATE

AUDIT AND ENFORCE CONSISTENCY

CONFIGURATION MANAGEMENT

PUT SYSTEMS INTO A KNOWN STATE

AUDIT AND ENFORCE CONSISTENCY

MANAGE SERVER LIFECYCLE

CONFIGURATION MANAGEMENT

PUT SYSTEMS INTO A KNOWN STATE

AUDIT AND ENFORCE CONSISTENCY

MANAGE SERVER LIFECYCLE

REASON ABOUT SERVICES, INSTEAD OF SYSTEMS

CONFIGURATION MANAGEMENT

PUT SYSTEMS INTO A KNOWN STATE

AUDIT AND ENFORCE CONSISTENCY

MANAGE SERVER LIFECYCLE

REASON ABOUT SERVICES, INSTEAD OF SYSTEMS

APPLY DEV-TEST-PROD CYCLE TO INFRASTRUCTURE

CONFIGURATION MANAGEMENT

CHEF

RADMIND

ISCONF

BARE METAL TO RUNNING SERVICES

BUILD FROM SOURCE

BUILD FROM SOURCE

BUILD FROM SOURCE

AUTOMATED PROVISIONING AND DEPLOYMENT OF SERVICES

BUILD FROM SOURCE

AUTOMATED PROVISIONING AND DEPLOYMENT OF SERVICES

ROLL CONFIG CHANGES FORWARD (DEV-TEST-PROD)

BUILD FROM SOURCE

AUTOMATED PROVISIONING AND DEPLOYMENT OF SERVICES

ROLL CONFIG CHANGES FORWARD (DEV-TEST-PROD)

DEV, TEST AND PROD NOT OUT OF SYNC

BUILD FROM SOURCE

AUTOMATED PROVISIONING AND DEPLOYMENT OF SERVICES

ROLL CONFIG CHANGES FORWARD (DEV-TEST-PROD)

DEV, TEST AND PROD NOT OUT OF SYNC

TEST FROM A KNOWN STATE

BUILD FROM SOURCE

AUTOMATED PROVISIONING AND DEPLOYMENT OF SERVICES

ROLL CONFIG CHANGES FORWARD (DEV-TEST-PROD)

DEV, TEST AND PROD NOT OUT OF SYNC

TEST FROM A KNOWN STATE

SCALING

BUILD FROM SOURCE

AUTOMATED PROVISIONING AND DEPLOYMENT OF SERVICES

ROLL CONFIG CHANGES FORWARD (DEV-TEST-PROD)

DEV, TEST AND PROD NOT OUT OF SYNC

TEST FROM A KNOWN STATE

SCALING

DISASTER RECOVERY

ONE STEP DEPLOY

ONE AUTOMATED PROCESS FROM VERSION CONTROL TO LIVE SERVICES.

ONE STEP DEPLOY

ONE AUTOMATED PROCESS FROM VERSION CONTROL TO LIVE SERVICES.

COMPUTERS ARE REALLY GOOD AT RUNNING THE SAME COMMANDS OVER AND OVER.

ONE STEP DEPLOY

ONE AUTOMATED PROCESS FROM VERSION CONTROL TO LIVE SERVICES.

COMPUTERS ARE REALLY GOOD AT RUNNING THE SAME COMMANDS OVER AND OVER.

LOWER THE FIXED COST OF DEPLOY.

ONE STEP DEPLOY

MONITORING

WHAT DOES 'NORMAL' LOOKS LIKE?

MONITORING

WHAT DOES 'NORMAL' LOOKS LIKE?

DON’T JUST LOOK AT THE DATA WHEN THINGS ARE BAD

MONITORING

WHAT DOES 'NORMAL' LOOKS LIKE?

DON’T JUST LOOK AT THE DATA WHEN THINGS ARE BAD

NEED BASELINE, CHART, TRENDS

MONITORING

CONTINUOUS INTEGRATION

TEST NEW BUILDS

CONTINUOUS INTEGRATION

TEST NEW BUILDS

ASSERT SERVICES ARE RUNNING

CONTINUOUS INTEGRATION

TEST NEW BUILDS

ASSERT SERVICES ARE RUNNING

RUN FUNCTIONAL TESTS

CONTINUOUS INTEGRATION

DEPLOY EARLY AND OFTEN

TAG EVERYTHING - WHO? WHAT? WHEN?

GET ALL MACHINES SYNC’D

SYNCHRONIZATION

VISUALIZE ON THE SAME TIMELINE TAGGED WITH WHO? WHAT? WHEN?

CORRELATE

SHARE METRICSDEV AND OPS SEE THE SAME THING, IN THE SAME PLACE

INFORMATION RADIATORS

SHARE THE REPOSITORY

KEEP CONFIGS IN SYNC WITH APPLICATION CODE

SHARE THE REPOSITORY

KEEP CONFIGS IN SYNC WITH APPLICATION CODE

EVERYONE KNOWS WHERE TO LOOK

SHARE THE REPOSITORY

KEEP CONFIGS IN SYNC WITH APPLICATION CODE

EVERYONE KNOWS WHERE TO LOOK

EVERYONE SEES EVERYONE ELSE WORKING

SHARE THE REPOSITORY

KEEP CONFIGS IN SYNC WITH APPLICATION CODE

EVERYONE KNOWS WHERE TO LOOK

EVERYONE SEES EVERYONE ELSE WORKING

MINIMIZE SURPRISE

SHARE THE REPOSITORY

KEEP CONFIGS IN SYNC WITH APPLICATION CODE

EVERYONE KNOWS WHERE TO LOOK

EVERYONE SEES EVERYONE ELSE WORKING

MINIMIZE SURPRISE

BOUNDARY OBJECT

SHARE THE REPOSITORY

EVERYONE ALWAYS KNOWS WHICH BRANCH IS LIVE

ALWAYS SHIP TRUNK

BRANCH FEATURES IN APPLICATION CODE

DARK LAUNCH

ISOLATE THINGS THAT CHANGE FREQUENTLY FROM THINGS THAT DON'T

DECOUPLE SERVICES

DON'T GENERATE THE SAME CONTENT TWICE(DRY COMPUTATION)

CACHING

FAIL HAPPENS

FAIL HAPPENS

CAN YOU AFFORD TO BE DOWN?

FAIL HAPPENS

CAN YOU AFFORD TO BE DOWN?

HOW LONG?

FAIL HAPPENS

CAN YOU AFFORD TO BE DOWN?

HOW LONG?

HOW FAST CAN YOU BE BACK UP?

FAIL HAPPENS

CAN YOU AFFORD TO BE DOWN?

HOW LONG?

HOW FAST CAN YOU BE BACK UP?

TRY NOT TO CAUSE IT

FAIL HAPPENS

FAIL SAFEPRACTICE MAKES PERFECT

OUT THE WINDOW

FIRE DRILLS

WORKING EFFECTIVELY WITH LEGACY SYSTEMS

CULTURETHERE IS ONLY US

CULTIVATION CULTURE

LEARNING AND RESPECT

WORK TOGETHER

DEVS NEED TO UNDERSTAND THE INFRASTRUCTURE

WORK TOGETHER

DEVS NEED TO UNDERSTAND THE INFRASTRUCTURE

OPS NEED TO UNDERSTAND THE APPLICATION

WORK TOGETHER

DEVS NEED TO UNDERSTAND THE INFRASTRUCTURE

OPS NEED TO UNDERSTAND THE APPLICATION

EVERYONE HAS SOMETHING TO CONTRIBUTE

WORK TOGETHER

PLANNING FOR FIRES IS HARD

PLANNING FOR FIRES IS HARD

DEAR DIARY,

PLANNING FOR FIRES IS HARD

DEAR DIARY,

TODAY I WAS ON FIRE FOR 12 HOURS...

PLANNING FOR FIRES IS HARD

DEAR DIARY,

TODAY I WAS ON FIRE FOR 12 HOURS...

IT WASN’T AS PLEASANT AS IT SOUNDS.

PLANNING FOR FIRES IS HARD

DEAR DIARY,

TODAY I WAS ON FIRE FOR 12 HOURS...

IT WASN’T AS PLEASANT AS IT SOUNDS.

--EBEN BRINSON SMITH III

MANAGE FLOWTHE BEST WAY TO FIGHT FIRES IS NEVER LET THEM GET STARTED

SHARED METAPHORS

CONCLUSIONS

LEARN FROM EVERYONE YOU CAN

CONCLUSIONS

LEARN FROM EVERYONE YOU CAN

NEW TOOLS AND IDEAS WON'T SOLVE ALL THE PROBLEMS... BUT THEY CAN SOLVE A LOT.

CONCLUSIONS

LEARN FROM EVERYONE YOU CAN

NEW TOOLS AND IDEAS WON'T SOLVE ALL THE PROBLEMS... BUT THEY CAN SOLVE A LOT.

THE SOLUTIONS TO SOME PROBLEMS REQUIRES SOCIAL ENGINEERING AS MUCH AS TECHNICAL

CONCLUSIONS

LEARN FROM EVERYONE YOU CAN

NEW TOOLS AND IDEAS WON'T SOLVE ALL THE PROBLEMS... BUT THEY CAN SOLVE A LOT.

THE SOLUTIONS TO SOME PROBLEMS REQUIRES SOCIAL ENGINEERING AS MUCH AS TECHNICAL

EVERYONE’S JOB IS TO ENABLE BUSINESS VALUE

CONCLUSIONS

LEARN FROM EVERYONE YOU CAN

NEW TOOLS AND IDEAS WON'T SOLVE ALL THE PROBLEMS... BUT THEY CAN SOLVE A LOT.

THE SOLUTIONS TO SOME PROBLEMS REQUIRES SOCIAL ENGINEERING AS MUCH AS TECHNICAL

EVERYONE’S JOB IS TO ENABLE BUSINESS VALUE

THERE IS ONLY US

CONCLUSIONS

WE ARE UNCOVERING BETTER WAYS OF DEVELOPINGSOFTWARE BY DOING IT AND HELPING OTHERS DO IT.

WE ARE UNCOVERING BETTER WAYS OF DEVELOPINGSOFTWARE BY DOING IT AND HELPING OTHERS DO IT.

WE ARE UNCOVERING BETTER WAYS OF DEVELOPINGSOFTWARE BY DOING IT AND HELPING OTHERS DO IT.

DELIVERING

KEEP UNCOVERING

KEEP HELPING PEOPLE

RESOURCES

AGILE SYSADMIN GROUPHTTP://GROUPS.GOOGLE.COM/GROUP/AGILE-SYSTEM-ADMINISTRATION/

PUPPET USERSHTTP://GROUPS.GOOGLE.COM/GROUP/PUPPET-USERS/

VELOCITY CONFHTTP://EN.OREILLY.COM/VELOCITY2009

PATRICK DEBOISHTTP://WWW.DEVOPSDAYS.ORG/

JOHN ALLSPAW AND PAUL HAMMONDHTTP://BLIP.TV/FILE/2284377