Rethink your infrastructure to rebuild your code

Preview:

DESCRIPTION

Change is a constant in software development. We need to be aware of it and understand how we can use it to our advantage. Reducing fear, increasing automation and understanding the impact that technology and process built for change can have are important to build a productive software team today.

Citation preview

RETHINK YOUR INFRASTRUCTURE TO REBUILD YOUR CODE

CODESHIP (LANDING PAGE SCREENSHOT)

WHY DO WE BUILD TECHNOLOGY

JOY OF BUILDING

MAKE PEOPLE HAPPY

HAVE AN IMPACT

BUILD BUSINESS

WHAT IS A GREAT PRODUCT WITH IMPACT

MAKES MORE PRODUCTIVE

BRINGS JOY

CUSTOMER EXPECTATIONS CHANGE

WE NEED TO REACT QUICKLY

THEY TRUST US TO DELIVER

NO TRUST = NO CUSTOMERS

CHANGE IS A CONSTANT

MARKET AND COMPETITION PRESSURE TO CHANGE

Company

Product

Cust

omer

sM

arket/Competition

NOT ONLY OUTSIDE PRESSURE TO CHANGE

Company

Product

Cust

omer

sM

arket/Competition

Team

Process

Tech

SPEED OF INNOVATION DEPENDS ON TEAM, PROCESS AND TECHNOLOGY

Innovation

Team

Process Technology

TECHNOLOGY AND PROCESS HAVE LARGE IMPACT

THEY DEFINE WHAT’S POSSIBLE

TECHNOLOGY DEFINES LIMITS OF PROCESS

BUILD INFRASTRUCTURE WITH CHANGE IN MIND

FEAR IS ENEMY OF CHANGE

FEAR LEADS TO INERTIA

BETTER PROCESS REDUCES FEAR

BETTER PROCESSES NEED BETTER TECH

COMPLEXITY DRIVES FEAR

MONOLITHS TOO BIG TO INNOVATE

PROCESS CAN’T COPE

COMPLEXITY INCREASES

TOO COMPLEX FOR PROCESS AND TECHNOLOGY

SLOWER RELEASE CYCLES

DOWNWARD SPIRAL

BUILDING MONOLITH TOO EASY AT THE START

BETTER TOOLING FOR SERVICE ORIENTED ARCHITECTURE

PAAS MAKES SOA EASIER

PAAS ON PREMISE OR CLOUD

PAAS & IAAS

STANDARDIZE WHEN POSSIBLE, ISOLATE WHEN NECESSARY

Service 1 Service 2 Service 3

Service 4 Service 5 Service 6

non-standard application

CONSISTENT MANAGEMENT NECESSARY BUT HARD

MANAGING AND UPDATING SERVERS NOW THE PROBLEM

THAT’S WHY CHEF AND PUPPET EXIST

VERY COMPLEX TOOL FOR VERY COMPLEX PROBLEM

WHY NOT IGNORE THE PROBLEM

WE TREAT SERVERS LIKE NOTEBOOKS

WE LOVE OUR NOTEBOOKS •IMPORTANT INFORMATION •HISTORY •WE WANT TO PRESERVE THEM

SERVERS SHOULD BE POST-ITSTHROW AWAY WHEN NOT NEEDED

THINK APPLICATIONS, NOT SERVERS

NUMBER OF SERVERS IS IRRELEVANT, QUALITY OF SERVICE IS IMPORTANT

SERVER IS REPLACEABLE

REPLACE, DON’T UPDATE

VIRTUALIZATION IS CHEAP AND FAST: AWS, DIGITAL OCEAN, DOCKER

IT’S CHEAP, BECAUSE YOUR TIME IS EXPENSIVE

SMALL SERVICE = SMALL DEPLOYMENT

CONSISTENT DEPLOYMENT NECESSARY

CLONE FROM ONE GOOD SOURCE

Deployment

New Release Test Build and Verify

Image Store

897gsd9fg

5123hkhk

74kdf7oefhf

ydo4m2jd8

Create Image

New Release Test Build and Verify

Image Store

897gsd9fg

5123hkhk

74kdf7oefhf

ydo4m2jd8

90jh0hjfdh

Current State

Loadbalancers

Application Cluster 897gsd9fg

Database

Deployment

Loadbalancers

Application Cluster 897gsd9fg

Database

Application Cluster 90jh0hjfdh

Switch

Loadbalancers

Application Cluster 897gsd9fg

Database

Application Cluster 90jh0hjfdh

Destroy when no errors

Loadbalancers

Application Cluster 897gsd9fg

Database

Application Cluster 90jh0hjfdh

New State

Loadbalancers

Database

Application Cluster 90jh0hjfdh

CREATE ONCE THEN CLONE

IMMUTABLE INFRASTRUCTURE

LIKE CLASSES AND INSTANCES

SILOED STATE

Siloed State

Loadbalancers

Application Cluster 897gsd9fg

Database

Application Cluster 90jh0hjfdhStateless

State Silo

REDUCES FEAR AS ANYTHING CAN BE REPLACED ANYTIME

DEPLOYMENT AND ROLLBACK ARE THE SAME ACTION

STILL EARLY BUT TOOLING IS AVAILABLE

PACKER.IO

DOCKER

!

FLYNN, TERRAFORM, KUBERNETES, COREOS, …

HEROKU, AWS EB, …

IMMUTABLE EVERYWHERE

RECAP

CHANGE IS CONSTANT

Company

Product

Cust

omer

sM

arket/Competition

Team

Process

Tech

Innovation

Team

Process Technology

TECHNOLOGY SHAPES WHATS POSSIBLE

BUILD INFRASTRUCTURE WITH CONSTANT CHANGE IN MIND

AUTOMATE TESTS AND DEPLOYMENT FROM REPOSITORY

BUILD SMALL SERVICES THAT YOU CAN MANAGE

IMMUTABLE INFRASTRUCTURE AND AUTOMATED REPLACEMENT TO LOWER FEAR

CONTINUOUS DELIVERY IMPLICIT AND NOT A HURDLE

BUILD FOR CHANGE

Recommended