SlideDeck.io – A repository of great HTML presentations
Building high quality services at Uber – @Raynos – Just "productionize" it
View Github Repository
Open presentation in a new window
Raynos
See all presentation from Raynos
Building high quality services at Uber – @Raynos – Just "productionize" it
0
5
nodeconfeu2014-talk
Building high quality services at Uber
On Github
Raynos / nodeconfeu2014-talk
Elapsed
00m
Building high quality services at Uber
@Raynos
Day one: The ironfist trial
Build a simple proxy service
Deploy it to 50 machines
Do not go down, ever.
Just "productionize" it
logtron
Logging info, warn and error.
Logging to a distributed Queue
Logging to an error reporting service
Just "productionize" it
lynx
Monitor everything
Monitor occurances of warnings
Monitor volume of traffic
Monitor volume of business objects / events
Just "productionize" it
zero-config
Manage config files
Deal with command line overwrites
Support multiple datacenters
Allow remote overwrites
Just "productionize" it
uncaught-exception
Log uncaught exceptions
Do a graceful shutdown
Abort and dump core.
Just "productionize" it
controlport-perf
Run a control port for every service
Expose a profiler
Expose heapdumps
Just "productionize" it
Pager duty and nagios
When a health check fails nagios knows
When a dashboard spikes nagios knows
When nagios knows, pager duty wakes you up
Getting started quickly
potter
How do you scaffold a new app
How do you setup CI
How do you get it deployed
Potter workflows
Local workflow
Check for conflicts
Scaffold out some files
Create a local git repository
Ensure tests pass and you can work
Potter workflows
Shared workflow
Push to a gitolite remote
Setup documentation and wiki
Setup jenkins CI
Potter workflows
EC2 workflow
Setup your app in puppet
deploy your app to your own EC2
Potter workflows
production workflow
Setup sentry
Setup graphite
Integrate with deployment system
Potter plugins
You can write your own workflow
Just write a plugin that implements your own commands
Potter demo
DO IT LIVE.
Thanks.
@Raynos
Oh, and we're hiring:
jakev@uber.com