Post on 15-May-2015
5
Website Application
Audio Streaming
Servers
System Administration
Desktop Application
Web-based Chat-room
System
iPhone & Android
Application
7
2007 2008 2009 2010 2011 now
Have the idea
Design system & seek technologies
Start to implement
Goes online
16
• Light weight• Easy to learn• Easy to integrate• Kind of dirty• Fun• Suitable for:– Web-based API services– Light-weight web application
22
• Middle weight• Well documented• Well tested• Easy to learn• Suitable for:– Enterprise-class web application– Middle size web application
24
• Heavy weight• Difficult to learn• Integrated with:
– Pylons– SQLAlchemy– Genshi– Others
• Can’t work with debugger• Too many dependencies• Suitable for:
– Enterprise-class web application
31
Celery
• Distributed task queue• Easy to use• Flexible• Multiple back-ends• Suitable for:– Time consuming tasks– Bach operation– Sending mails
33
Twisted
• Event-driven network library• Plenty resources• Portable• Build-in protocol implements
– HTTP– SMTP– DNS– Others
• Suitable for:– Internet servers– Asynchronous web service
37
• Python port of wxWidget• Native controls• wxWindow licensed (LGPL-like)• Cross platform• Suitable for:– Desktop application
40
• WSGI container server• Mainly integrated with Nginx• Flexible configuration• High performance• Support modes:– Preforking– Threaded– Asynchornous/evented
41
• Tool for running daemons• XML-RPC API• Say good bye to Unix init scripts
Supervisor
Server process A
Server process B
Server process C
XML-RPC
Console
Control
42
Fabric
• Tool for deploying• Send command to lots of host at once
Fabric
Host A
Host B
Host C
hg pull –urestart web