Professional Documents
Culture Documents
Version Control
Wednesday, February 22, 12
Where we’ve been
Version Control
Folders
Version Control
Folders
SVN
Version Control
Folders
SVN
Git/Mercurial
Version Control
Wednesday, February 22, 12
Where we’re going
Version Control
1 Code base
Many deploys
Dependency Management
Wednesday, February 22, 12
Where we’ve been
Dependency Management
$ python setup.py install
Dependency Management
$ python setup.py install
$ easy_install somepackage
Dependency Management
Wednesday, February 22, 12
Where we’re going
Dependency Management
$ pip install somepackage
Dependency Management
$ pip install somepackage
Build/Release
$ rsync myproject tomyserver
Build/Release
Wednesday, February 22, 12
Where we’re going
Build/Release
Wednesday, February 22, 12
Future Trends
Dev
Dev = Staging
MY_SETTING = os.environ.get(‘SETTING’)
MY_SETTING = os.environ.get(‘SETTING’)
Worker.3
Scale
Web.2 Worker.2
Workload Diversity
(Process Types)
Wednesday, February 22, 12
Disposability
Event Stream
2012-02-22T19:56:40+00:00 [postgres]: ....
2012-02-22T19:56:40+00:00 [router]: GET mysite.com/ ...
2012-02-22T19:56:40+00:00[nginx]: ....
2012-02-22T19:56:40+00:00[worker]: ....
Wednesday, February 22, 12
12 Factor
Version Control
Dependency Management
Build/Release (CI)
Dev/Staging/Prod Parity
Concurrency
External Config
Disposability
Logs as Streams
Wednesday, February 22, 12
12 Factor