Post on 22-Apr-2015
description
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