48
Build a Technical Infrastructure that Supports Innovation Florian Motlik @flomotlik [email protected]

Build a Technical Infrastructure that Supports Innovation by Florian Motlik - The Lean Startup Conference 12/11/14

Embed Size (px)

DESCRIPTION

When you're building a new product, you have to experiment quickly and change constantly. If your product is digital, and you have a technical infrastructure that isn't built to deal with these conditions, it can stonewall any kind of innovation. In this talk for technical team members, Codeship co-founder Florian Motlik introduces different ways to build your infrastructure and processes for constant change, experimentation and innovation.

Citation preview

Page 1: Build a Technical Infrastructure that Supports Innovation by Florian Motlik - The Lean Startup Conference 12/11/14

Build a Technical Infrastructure that

Supports InnovationFlorian Motlik @flomotlik

[email protected]

Page 2: Build a Technical Infrastructure that Supports Innovation by Florian Motlik - The Lean Startup Conference 12/11/14

Pressure to Change

Page 3: Build a Technical Infrastructure that Supports Innovation by Florian Motlik - The Lean Startup Conference 12/11/14

We need to deal with constant change

Page 4: Build a Technical Infrastructure that Supports Innovation by Florian Motlik - The Lean Startup Conference 12/11/14

Bad Infrastructure can make us fail

Page 5: Build a Technical Infrastructure that Supports Innovation by Florian Motlik - The Lean Startup Conference 12/11/14

5 suggestions

Page 6: Build a Technical Infrastructure that Supports Innovation by Florian Motlik - The Lean Startup Conference 12/11/14

1. Use Services (I’m biased)

Page 7: Build a Technical Infrastructure that Supports Innovation by Florian Motlik - The Lean Startup Conference 12/11/14

Infrastructure is hard

Page 8: Build a Technical Infrastructure that Supports Innovation by Florian Motlik - The Lean Startup Conference 12/11/14

flomotlik.me/tools-i-like

Page 9: Build a Technical Infrastructure that Supports Innovation by Florian Motlik - The Lean Startup Conference 12/11/14

2. Build to replace

Page 10: Build a Technical Infrastructure that Supports Innovation by Florian Motlik - The Lean Startup Conference 12/11/14

Small or Micro Services

Page 11: Build a Technical Infrastructure that Supports Innovation by Florian Motlik - The Lean Startup Conference 12/11/14

No Infrastructure

Page 12: Build a Technical Infrastructure that Supports Innovation by Florian Motlik - The Lean Startup Conference 12/11/14

Don’t be too frugal

Page 13: Build a Technical Infrastructure that Supports Innovation by Florian Motlik - The Lean Startup Conference 12/11/14

Keeping workflows consistent

Page 14: Build a Technical Infrastructure that Supports Innovation by Florian Motlik - The Lean Startup Conference 12/11/14

Only focus on your code

Page 15: Build a Technical Infrastructure that Supports Innovation by Florian Motlik - The Lean Startup Conference 12/11/14

3. Let Repositories drive Infrastructure

Page 16: Build a Technical Infrastructure that Supports Innovation by Florian Motlik - The Lean Startup Conference 12/11/14

Github Flow

https://guides.github.com/introduction/flow/index.html

Page 17: Build a Technical Infrastructure that Supports Innovation by Florian Motlik - The Lean Startup Conference 12/11/14

Everything deployed like that (including DNS)

Page 18: Build a Technical Infrastructure that Supports Innovation by Florian Motlik - The Lean Startup Conference 12/11/14

Great for Onboarding

Page 19: Build a Technical Infrastructure that Supports Innovation by Florian Motlik - The Lean Startup Conference 12/11/14

Trivial to switch between codebases

Page 20: Build a Technical Infrastructure that Supports Innovation by Florian Motlik - The Lean Startup Conference 12/11/14

Eventually consistent Infrastructure

Page 21: Build a Technical Infrastructure that Supports Innovation by Florian Motlik - The Lean Startup Conference 12/11/14

?

How do I build the Infrastructure

Page 22: Build a Technical Infrastructure that Supports Innovation by Florian Motlik - The Lean Startup Conference 12/11/14

4. Build an Immutable Infrastructure

Page 23: Build a Technical Infrastructure that Supports Innovation by Florian Motlik - The Lean Startup Conference 12/11/14

Immutable components

Page 24: Build a Technical Infrastructure that Supports Innovation by Florian Motlik - The Lean Startup Conference 12/11/14

Replace for every deployment

Page 25: Build a Technical Infrastructure that Supports Innovation by Florian Motlik - The Lean Startup Conference 12/11/14

New Image per deployment

Page 26: Build a Technical Infrastructure that Supports Innovation by Florian Motlik - The Lean Startup Conference 12/11/14

Fully tested and validated

Page 27: Build a Technical Infrastructure that Supports Innovation by Florian Motlik - The Lean Startup Conference 12/11/14

Deployment

New Release Test Build and Verify

Image Store

897gsd9fg

5123hkhk

74kdf7oefhf

ydo4m2jd8

Page 28: Build a Technical Infrastructure that Supports Innovation by Florian Motlik - The Lean Startup Conference 12/11/14

Create Image

New Release Test Build and Verify

Image Store

897gsd9fg

5123hkhk

74kdf7oefhf

ydo4m2jd8

90jh0hjfdh

Page 29: Build a Technical Infrastructure that Supports Innovation by Florian Motlik - The Lean Startup Conference 12/11/14

Current System

Loadbalancers

Application Cluster 897gsd9fg

Database

Page 30: Build a Technical Infrastructure that Supports Innovation by Florian Motlik - The Lean Startup Conference 12/11/14

Deployment

Loadbalancers

Application Cluster 897gsd9fg

Database

Application Cluster 90jh0hjfdh

Page 31: Build a Technical Infrastructure that Supports Innovation by Florian Motlik - The Lean Startup Conference 12/11/14

Switch

Loadbalancers

Application Cluster 897gsd9fg

Database

Application Cluster 90jh0hjfdh

Page 32: Build a Technical Infrastructure that Supports Innovation by Florian Motlik - The Lean Startup Conference 12/11/14

Destroy when no errors

Loadbalancers

Application Cluster 897gsd9fg

Database

Application Cluster 90jh0hjfdh

Page 33: Build a Technical Infrastructure that Supports Innovation by Florian Motlik - The Lean Startup Conference 12/11/14

New System

Loadbalancers

Database

Application Cluster 90jh0hjfdh

Page 34: Build a Technical Infrastructure that Supports Innovation by Florian Motlik - The Lean Startup Conference 12/11/14

Siloed State

Loadbalancers

Database

Application Cluster 90jh0hjfdhStateless

State Silo

Application Cluster 897gsd9fg

Page 35: Build a Technical Infrastructure that Supports Innovation by Florian Motlik - The Lean Startup Conference 12/11/14

Deploy = Rollback

Page 36: Build a Technical Infrastructure that Supports Innovation by Florian Motlik - The Lean Startup Conference 12/11/14

?

Any problems with small services that are often deployed

Page 37: Build a Technical Infrastructure that Supports Innovation by Florian Motlik - The Lean Startup Conference 12/11/14

Operations and Overview

Page 38: Build a Technical Infrastructure that Supports Innovation by Florian Motlik - The Lean Startup Conference 12/11/14

5. Unify Logging, Monitoring and Alerting

Page 39: Build a Technical Infrastructure that Supports Innovation by Florian Motlik - The Lean Startup Conference 12/11/14

One source of truth

Page 40: Build a Technical Infrastructure that Supports Innovation by Florian Motlik - The Lean Startup Conference 12/11/14

Logs are very underused

Page 41: Build a Technical Infrastructure that Supports Innovation by Florian Motlik - The Lean Startup Conference 12/11/14

Make Data Accessible

Page 42: Build a Technical Infrastructure that Supports Innovation by Florian Motlik - The Lean Startup Conference 12/11/14

Chat Ops

Page 43: Build a Technical Infrastructure that Supports Innovation by Florian Motlik - The Lean Startup Conference 12/11/14

Skipping here costs 100x

Page 44: Build a Technical Infrastructure that Supports Innovation by Florian Motlik - The Lean Startup Conference 12/11/14

Automate scaling and healing with metrics

Page 45: Build a Technical Infrastructure that Supports Innovation by Florian Motlik - The Lean Startup Conference 12/11/14

1. Use Services 2.Build to replace 3.Let Repositories drive Infrastructure 4.Build an immutable Infrastructure 5.Unify Logging, Monitoring and Alerting

Page 46: Build a Technical Infrastructure that Supports Innovation by Florian Motlik - The Lean Startup Conference 12/11/14

Focus on your Code and Product

Page 47: Build a Technical Infrastructure that Supports Innovation by Florian Motlik - The Lean Startup Conference 12/11/14

QA (or send me an email) [email protected]

Page 48: Build a Technical Infrastructure that Supports Innovation by Florian Motlik - The Lean Startup Conference 12/11/14

Thank you

flomotlik.me/tools-i-like

@flomotlik [email protected]