Upload
leanstartupconf
View
608
Download
0
Tags:
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
Build a Technical Infrastructure that
Supports InnovationFlorian Motlik @flomotlik
Pressure to Change
We need to deal with constant change
Bad Infrastructure can make us fail
5 suggestions
1. Use Services (I’m biased)
Infrastructure is hard
flomotlik.me/tools-i-like
2. Build to replace
Small or Micro Services
No Infrastructure
Don’t be too frugal
Keeping workflows consistent
Only focus on your code
3. Let Repositories drive Infrastructure
Github Flow
https://guides.github.com/introduction/flow/index.html
Everything deployed like that (including DNS)
Great for Onboarding
Trivial to switch between codebases
Eventually consistent Infrastructure
?
How do I build the Infrastructure
4. Build an Immutable Infrastructure
Immutable components
Replace for every deployment
New Image per deployment
Fully tested and validated
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 System
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 System
Loadbalancers
Database
Application Cluster 90jh0hjfdh
Siloed State
Loadbalancers
Database
Application Cluster 90jh0hjfdhStateless
State Silo
Application Cluster 897gsd9fg
Deploy = Rollback
?
Any problems with small services that are often deployed
Operations and Overview
5. Unify Logging, Monitoring and Alerting
One source of truth
Logs are very underused
Make Data Accessible
Chat Ops
Skipping here costs 100x
Automate scaling and healing with metrics
1. Use Services 2.Build to replace 3.Let Repositories drive Infrastructure 4.Build an immutable Infrastructure 5.Unify Logging, Monitoring and Alerting
Focus on your Code and Product
QA (or send me an email) [email protected]