rethink your infrastructure to rebuild your code

91
RETHINK YOUR INFRASTRUCTURE TO REBUILD YOUR CODE

Upload: codeship

Post on 22-Apr-2015

250 views

Category:

Software


1 download

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.

TRANSCRIPT

Page 1: Rethink your infrastructure to rebuild your code

RETHINK YOUR INFRASTRUCTURE TO REBUILD YOUR CODE

Page 2: Rethink your infrastructure to rebuild your code

CODESHIP (LANDING PAGE SCREENSHOT)

Page 3: Rethink your infrastructure to rebuild your code

WHY DO WE BUILD TECHNOLOGY

Page 4: Rethink your infrastructure to rebuild your code

JOY OF BUILDING

Page 5: Rethink your infrastructure to rebuild your code

MAKE PEOPLE HAPPY

Page 6: Rethink your infrastructure to rebuild your code

HAVE AN IMPACT

Page 7: Rethink your infrastructure to rebuild your code

BUILD BUSINESS

Page 8: Rethink your infrastructure to rebuild your code

WHAT IS A GREAT PRODUCT WITH IMPACT

Page 9: Rethink your infrastructure to rebuild your code

MAKES MORE PRODUCTIVE

Page 10: Rethink your infrastructure to rebuild your code

BRINGS JOY

Page 11: Rethink your infrastructure to rebuild your code

CUSTOMER EXPECTATIONS CHANGE

Page 12: Rethink your infrastructure to rebuild your code

WE NEED TO REACT QUICKLY

Page 13: Rethink your infrastructure to rebuild your code

THEY TRUST US TO DELIVER

Page 14: Rethink your infrastructure to rebuild your code

NO TRUST = NO CUSTOMERS

Page 15: Rethink your infrastructure to rebuild your code

CHANGE IS A CONSTANT

Page 16: Rethink your infrastructure to rebuild your code

MARKET AND COMPETITION PRESSURE TO CHANGE

Page 17: Rethink your infrastructure to rebuild your code

Company

Product

Cust

omer

sM

arket/Competition

Page 18: Rethink your infrastructure to rebuild your code

NOT ONLY OUTSIDE PRESSURE TO CHANGE

Page 19: Rethink your infrastructure to rebuild your code

Company

Product

Cust

omer

sM

arket/Competition

Team

Process

Tech

Page 20: Rethink your infrastructure to rebuild your code

SPEED OF INNOVATION DEPENDS ON TEAM, PROCESS AND TECHNOLOGY

Page 21: Rethink your infrastructure to rebuild your code

Innovation

Team

Process Technology

Page 22: Rethink your infrastructure to rebuild your code

TECHNOLOGY AND PROCESS HAVE LARGE IMPACT

Page 23: Rethink your infrastructure to rebuild your code

THEY DEFINE WHAT’S POSSIBLE

Page 24: Rethink your infrastructure to rebuild your code

TECHNOLOGY DEFINES LIMITS OF PROCESS

Page 25: Rethink your infrastructure to rebuild your code

BUILD INFRASTRUCTURE WITH CHANGE IN MIND

Page 26: Rethink your infrastructure to rebuild your code

FEAR IS ENEMY OF CHANGE

Page 27: Rethink your infrastructure to rebuild your code

FEAR LEADS TO INERTIA

Page 28: Rethink your infrastructure to rebuild your code

BETTER PROCESS REDUCES FEAR

Page 29: Rethink your infrastructure to rebuild your code

BETTER PROCESSES NEED BETTER TECH

Page 30: Rethink your infrastructure to rebuild your code

COMPLEXITY DRIVES FEAR

Page 31: Rethink your infrastructure to rebuild your code

MONOLITHS TOO BIG TO INNOVATE

Page 32: Rethink your infrastructure to rebuild your code

PROCESS CAN’T COPE

Page 33: Rethink your infrastructure to rebuild your code

COMPLEXITY INCREASES

Page 34: Rethink your infrastructure to rebuild your code

TOO COMPLEX FOR PROCESS AND TECHNOLOGY

Page 35: Rethink your infrastructure to rebuild your code

SLOWER RELEASE CYCLES

Page 36: Rethink your infrastructure to rebuild your code

DOWNWARD SPIRAL

Page 37: Rethink your infrastructure to rebuild your code

BUILDING MONOLITH TOO EASY AT THE START

Page 38: Rethink your infrastructure to rebuild your code

BETTER TOOLING FOR SERVICE ORIENTED ARCHITECTURE

Page 39: Rethink your infrastructure to rebuild your code

PAAS MAKES SOA EASIER

Page 40: Rethink your infrastructure to rebuild your code

PAAS ON PREMISE OR CLOUD

Page 41: Rethink your infrastructure to rebuild your code

PAAS & IAAS

Page 42: Rethink your infrastructure to rebuild your code

STANDARDIZE WHEN POSSIBLE, ISOLATE WHEN NECESSARY

Page 43: Rethink your infrastructure to rebuild your code

Service 1 Service 2 Service 3

Service 4 Service 5 Service 6

non-standard application

Page 44: Rethink your infrastructure to rebuild your code

CONSISTENT MANAGEMENT NECESSARY BUT HARD

Page 45: Rethink your infrastructure to rebuild your code

MANAGING AND UPDATING SERVERS NOW THE PROBLEM

Page 46: Rethink your infrastructure to rebuild your code

THAT’S WHY CHEF AND PUPPET EXIST

Page 47: Rethink your infrastructure to rebuild your code

VERY COMPLEX TOOL FOR VERY COMPLEX PROBLEM

Page 48: Rethink your infrastructure to rebuild your code

WHY NOT IGNORE THE PROBLEM

Page 49: Rethink your infrastructure to rebuild your code

WE TREAT SERVERS LIKE NOTEBOOKS

Page 50: Rethink your infrastructure to rebuild your code

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

Page 51: Rethink your infrastructure to rebuild your code

SERVERS SHOULD BE POST-ITSTHROW AWAY WHEN NOT NEEDED

Page 52: Rethink your infrastructure to rebuild your code

THINK APPLICATIONS, NOT SERVERS

Page 53: Rethink your infrastructure to rebuild your code

NUMBER OF SERVERS IS IRRELEVANT, QUALITY OF SERVICE IS IMPORTANT

Page 54: Rethink your infrastructure to rebuild your code

SERVER IS REPLACEABLE

Page 55: Rethink your infrastructure to rebuild your code

REPLACE, DON’T UPDATE

Page 56: Rethink your infrastructure to rebuild your code

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

Page 57: Rethink your infrastructure to rebuild your code

IT’S CHEAP, BECAUSE YOUR TIME IS EXPENSIVE

Page 58: Rethink your infrastructure to rebuild your code

SMALL SERVICE = SMALL DEPLOYMENT

Page 59: Rethink your infrastructure to rebuild your code

CONSISTENT DEPLOYMENT NECESSARY

Page 60: Rethink your infrastructure to rebuild your code

CLONE FROM ONE GOOD SOURCE

Page 61: Rethink your infrastructure to rebuild your code

Deployment

New Release Test Build and Verify

Image Store

897gsd9fg

5123hkhk

74kdf7oefhf

ydo4m2jd8

Page 62: Rethink your infrastructure to rebuild your code

Create Image

New Release Test Build and Verify

Image Store

897gsd9fg

5123hkhk

74kdf7oefhf

ydo4m2jd8

90jh0hjfdh

Page 63: Rethink your infrastructure to rebuild your code

Current State

Loadbalancers

Application Cluster 897gsd9fg

Database

Page 64: Rethink your infrastructure to rebuild your code

Deployment

Loadbalancers

Application Cluster 897gsd9fg

Database

Application Cluster 90jh0hjfdh

Page 65: Rethink your infrastructure to rebuild your code

Switch

Loadbalancers

Application Cluster 897gsd9fg

Database

Application Cluster 90jh0hjfdh

Page 66: Rethink your infrastructure to rebuild your code

Destroy when no errors

Loadbalancers

Application Cluster 897gsd9fg

Database

Application Cluster 90jh0hjfdh

Page 67: Rethink your infrastructure to rebuild your code

New State

Loadbalancers

Database

Application Cluster 90jh0hjfdh

Page 68: Rethink your infrastructure to rebuild your code

CREATE ONCE THEN CLONE

Page 69: Rethink your infrastructure to rebuild your code

IMMUTABLE INFRASTRUCTURE

Page 70: Rethink your infrastructure to rebuild your code

LIKE CLASSES AND INSTANCES

Page 71: Rethink your infrastructure to rebuild your code

SILOED STATE

Page 72: Rethink your infrastructure to rebuild your code

Siloed State

Loadbalancers

Application Cluster 897gsd9fg

Database

Application Cluster 90jh0hjfdhStateless

State Silo

Page 73: Rethink your infrastructure to rebuild your code

REDUCES FEAR AS ANYTHING CAN BE REPLACED ANYTIME

Page 74: Rethink your infrastructure to rebuild your code

DEPLOYMENT AND ROLLBACK ARE THE SAME ACTION

Page 75: Rethink your infrastructure to rebuild your code

STILL EARLY BUT TOOLING IS AVAILABLE

Page 76: Rethink your infrastructure to rebuild your code

PACKER.IO

Page 77: Rethink your infrastructure to rebuild your code

DOCKER

Page 78: Rethink your infrastructure to rebuild your code

!

FLYNN, TERRAFORM, KUBERNETES, COREOS, …

Page 79: Rethink your infrastructure to rebuild your code

HEROKU, AWS EB, …

Page 80: Rethink your infrastructure to rebuild your code

IMMUTABLE EVERYWHERE

Page 81: Rethink your infrastructure to rebuild your code

RECAP

Page 82: Rethink your infrastructure to rebuild your code

CHANGE IS CONSTANT

Page 83: Rethink your infrastructure to rebuild your code

Company

Product

Cust

omer

sM

arket/Competition

Team

Process

Tech

Page 84: Rethink your infrastructure to rebuild your code

Innovation

Team

Process Technology

Page 85: Rethink your infrastructure to rebuild your code

TECHNOLOGY SHAPES WHATS POSSIBLE

Page 86: Rethink your infrastructure to rebuild your code

BUILD INFRASTRUCTURE WITH CONSTANT CHANGE IN MIND

Page 87: Rethink your infrastructure to rebuild your code

AUTOMATE TESTS AND DEPLOYMENT FROM REPOSITORY

Page 88: Rethink your infrastructure to rebuild your code

BUILD SMALL SERVICES THAT YOU CAN MANAGE

Page 89: Rethink your infrastructure to rebuild your code

IMMUTABLE INFRASTRUCTURE AND AUTOMATED REPLACEMENT TO LOWER FEAR

Page 90: Rethink your infrastructure to rebuild your code

CONTINUOUS DELIVERY IMPLICIT AND NOT A HURDLE

Page 91: Rethink your infrastructure to rebuild your code

BUILD FOR CHANGE