Buildout talk
-
Upload
martincozzi -
Category
Technology
-
view
579 -
download
1
description
Transcript of Buildout talk
![Page 1: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/1.jpg)
Buildout @Formspring@martincozzi
Monday, September 19, 2011
![Page 2: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/2.jpg)
Formspring helps people find out more about each other by sharing interesting & personal responses
Monday, September 19, 2011
![Page 3: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/3.jpg)
26M users
Monday, September 19, 2011
![Page 4: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/4.jpg)
3.5B responses
Monday, September 19, 2011
![Page 5: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/5.jpg)
Our Stack
Monday, September 19, 2011
![Page 6: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/6.jpg)
Application
Monday, September 19, 2011
![Page 7: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/7.jpg)
Application
Memcache
Monday, September 19, 2011
![Page 8: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/8.jpg)
ApplicationRedis
Memcache
Monday, September 19, 2011
![Page 9: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/9.jpg)
Application
MySQL
Redis
Memcache
Monday, September 19, 2011
![Page 10: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/10.jpg)
Application
MySQL
Redis
Cassandra
Memcache
Monday, September 19, 2011
![Page 11: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/11.jpg)
Application
MySQL
Redis SQS
Cassandra
Memcache
Monday, September 19, 2011
![Page 12: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/12.jpg)
Application
MySQL
Redis SQS
Kestrel
Cassandra
Memcache
Monday, September 19, 2011
![Page 13: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/13.jpg)
Application
MySQL
Redis SQS
Kestrel
Cassandra
Memcache
PHPQWPHPQWPHPQWPHPQWPHPQW
Monday, September 19, 2011
![Page 14: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/14.jpg)
Application
MySQL
Redis SQS
Kestrel
Cassandra
Memcache
PythonQWPythonQWPythonQWPythonQWPythonQW
PHPQWPHPQWPHPQWPHPQWPHPQW
Monday, September 19, 2011
![Page 15: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/15.jpg)
MySQL
Redis
Kestrel
Cassandra
Memcache
PythonQWPythonQWPythonQWPythonQWPythonQW
Monday, September 19, 2011
![Page 16: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/16.jpg)
MySQL
RedisKestrel
Cassandra
MemcachePythonQW
PythonQW
Monday, September 19, 2011
![Page 17: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/17.jpg)
MySQL
RedisKestrel
Cassandra
MemcachePythonQW
PythonQW
Monday, September 19, 2011
![Page 18: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/18.jpg)
MySQL
RedisKestrel
Cassandra
MemcachePythonQW
PythonQW
Monday, September 19, 2011
![Page 19: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/19.jpg)
Monday, September 19, 2011
![Page 20: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/20.jpg)
Monday, September 19, 2011
![Page 21: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/21.jpg)
Monday, September 19, 2011
![Page 22: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/22.jpg)
Monday, September 19, 2011
![Page 23: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/23.jpg)
Monday, September 19, 2011
![Page 24: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/24.jpg)
Monday, September 19, 2011
![Page 25: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/25.jpg)
class StreamPush:...
class SmileOnAnswers:...
class SmileConnection:...
Workers.py
class Inbox:...
Monday, September 19, 2011
![Page 26: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/26.jpg)
Workers.py
• ./python2.6 kestrel_worker :
• Thread Count
• Queue Name
• Class Name
Monday, September 19, 2011
![Page 27: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/27.jpg)
Queue-Stream
Queue-Smiles
Queue-Inbox
Deploy
code.tar.gz
Monday, September 19, 2011
![Page 28: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/28.jpg)
Problems
• Big archive
Monday, September 19, 2011
![Page 29: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/29.jpg)
Problems
• Big archive
• Dependencies
Monday, September 19, 2011
![Page 30: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/30.jpg)
Problems
• Big archive
• Dependencies
• Package AMI
Monday, September 19, 2011
![Page 31: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/31.jpg)
Problems
• Big archive
• Dependencies
• Package AMI
• Difficult to maintain / collaborate
Monday, September 19, 2011
![Page 32: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/32.jpg)
What needs to be done
• Organize Codebase
Monday, September 19, 2011
![Page 33: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/33.jpg)
What needs to be done
• Organize Codebase
• Split in folders / packages
Monday, September 19, 2011
![Page 34: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/34.jpg)
What needs to be done
• Organize Codebase
• Split in folders / packages
• Manage dependencies automatically
Monday, September 19, 2011
![Page 35: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/35.jpg)
Buildout
Monday, September 19, 2011
![Page 36: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/36.jpg)
Buildout
• No installation needed
Monday, September 19, 2011
![Page 37: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/37.jpg)
Buildout
• No installation needed
• 3 easy steps
Monday, September 19, 2011
![Page 38: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/38.jpg)
Buildout
• Download bootstrap.py
Monday, September 19, 2011
![Page 39: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/39.jpg)
Buildout
• Download bootstrap.py
• Run boostrap.py
Monday, September 19, 2011
![Page 40: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/40.jpg)
Buildout
• Download bootstrap.py
• Run boostrap.py
• Run bin/buildout
Monday, September 19, 2011
![Page 41: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/41.jpg)
Buildout Recipe
• Plugin mechanism
Monday, September 19, 2011
![Page 42: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/42.jpg)
Buildout Recipe
• Plugin mechanism
• Main Recipes
Monday, September 19, 2011
![Page 43: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/43.jpg)
Buildout Recipe
• Plugin mechanism
• Main Recipes
• zc.recipe.egg
Monday, September 19, 2011
![Page 44: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/44.jpg)
Buildout Recipe
• Plugin mechanism
• Main Recipes
• zc.recipe.egg
• zc.recipe.cmmi
Monday, September 19, 2011
![Page 45: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/45.jpg)
Buildout Recipe
• Plugin mechanism
• Main Recipes
• zc.recipe.egg
• zc.recipe.cmmi
• djangorecipe
Monday, September 19, 2011
![Page 46: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/46.jpg)
Organize Codebase|-- fisher| |-- bootstrap.py| |-- buildout.cfg| |-- setup.py| `-- src| `-- fisher| `-- __init__.py|-- flake| |-- bootstrap.py| |-- buildout.cfg| |-- setup.py| `-- src| `-- flake| |-- README| |-- __init__.py| |-- flake.py| `-- static| |-- favicon.ico| `-- robots.txt|-- kestrel| |-- bootstrap.py| |-- buildout.cfg| |-- setup.py| `-- src| `-- kestrel
Monday, September 19, 2011
![Page 47: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/47.jpg)
Identify Dependencies
Monday, September 19, 2011
![Page 48: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/48.jpg)
Identify Dependencies
Monday, September 19, 2011
![Page 49: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/49.jpg)
Identify Dependencies
Monday, September 19, 2011
![Page 50: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/50.jpg)
Identify Dependencies
Monday, September 19, 2011
![Page 51: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/51.jpg)
Identify Dependencies
Monday, September 19, 2011
![Page 52: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/52.jpg)
Identify Dependencies
Monday, September 19, 2011
![Page 53: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/53.jpg)
List Dependencies
Monday, September 19, 2011
![Page 54: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/54.jpg)
List Dependencies
Monday, September 19, 2011
![Page 55: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/55.jpg)
List Dependencies
Monday, September 19, 2011
![Page 56: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/56.jpg)
Run Buildout
Monday, September 19, 2011
![Page 57: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/57.jpg)
Run Buildout
Monday, September 19, 2011
![Page 58: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/58.jpg)
Run Buildout
Monday, September 19, 2011
![Page 59: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/59.jpg)
Run Buildout
Monday, September 19, 2011
![Page 60: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/60.jpg)
Run Buildout
Monday, September 19, 2011
![Page 61: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/61.jpg)
Run Buildout
Monday, September 19, 2011
![Page 62: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/62.jpg)
Run Buildout
Monday, September 19, 2011
![Page 63: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/63.jpg)
Run Buildout
Monday, September 19, 2011
![Page 64: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/64.jpg)
Run Buildout
Monday, September 19, 2011
![Page 65: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/65.jpg)
Run Buildout
Monday, September 19, 2011
![Page 66: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/66.jpg)
Run Buildout
Monday, September 19, 2011
![Page 67: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/67.jpg)
Advantages
• Flexibility with dependencies.
Monday, September 19, 2011
![Page 68: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/68.jpg)
Advantages
• Flexibility with dependencies.
• Build your own eggs.
Monday, September 19, 2011
![Page 69: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/69.jpg)
Advantages
• Flexibility with dependencies.
• Build your own eggs.
• Test things !
Monday, September 19, 2011
![Page 70: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/70.jpg)
Eggs?
Monday, September 19, 2011
![Page 71: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/71.jpg)
Queue-Stream
Queue-Smiles
Queue-Inbox
Deploy
smiles.tar.gzinbox.tar.gzstream.tar.gz
RedisKestrel
Monday, September 19, 2011
![Page 72: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/72.jpg)
Queue-Stream
Queue-Smiles
Queue-Inbox
Deploy
stream.tar.gzinbox.tar.gzsmiles.tar.gz
KestrelMemcachePyYAML
Monday, September 19, 2011
![Page 73: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/73.jpg)
Queue-Stream
Queue-Smiles
Queue-Inbox
Deploy
stream.tar.gzsmiles.tar.gzinbox.tar.gz
FisherKestrel
Monday, September 19, 2011
![Page 74: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/74.jpg)
Advantages
• Targeted deploys.
Monday, September 19, 2011
![Page 75: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/75.jpg)
Advantages
• Targeted deploys.
• Less failures.
Monday, September 19, 2011
![Page 76: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/76.jpg)
Advantages
• Targeted deploys.
• Less failures.
• Less work for Ops.
Monday, September 19, 2011
![Page 77: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/77.jpg)
Advantages
• Targeted deploys.
• Less failures.
• Less work for Ops.
• Manage your versions.
Monday, September 19, 2011
![Page 78: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/78.jpg)
PyPi.python.org goes down
Monday, September 19, 2011
![Page 79: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/79.jpg)
Downtime ?
• Recipe to proxy PyPi.
Monday, September 19, 2011
![Page 80: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/80.jpg)
Downtime ?
• Recipe to proxy PyPi.
• Cronjob.
Monday, September 19, 2011
![Page 81: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/81.jpg)
Downtime ?
• Recipe to proxy PyPi.
• Cronjob.
• Local PyPi.
Monday, September 19, 2011
![Page 82: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/82.jpg)
So .. Buildout
• Manage dependencies
Monday, September 19, 2011
![Page 83: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/83.jpg)
So .. Buildout
• Manage dependencies
• Test libraries on the fly
Monday, September 19, 2011
![Page 84: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/84.jpg)
So .. Buildout
• Manage dependencies
• Test libraries on the fly
• Easy to scale / deploy
Monday, September 19, 2011
![Page 85: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/85.jpg)
So .. Buildout
• Manage dependencies
• Test libraries on the fly
• Easy to scale / deploy
• Highly Recommended =)
Monday, September 19, 2011
![Page 86: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/86.jpg)
Questions ?
• Ask me on Formspring
• formspring.me/martincozzi
• formspring.me/formspringEng
Monday, September 19, 2011
![Page 87: Buildout talk](https://reader034.fdocuments.us/reader034/viewer/2022042714/54b67b1a4a7959c5028b4633/html5/thumbnails/87.jpg)
We are hiring
• Ops
• Front-end
• Back-end
[email protected]@formspring.me
Monday, September 19, 2011