2. Tao
Near 10 years exp as
“full-stack”
!
Lead Developer, Perform
Group Plc
3. Repeated Stories
PM: Why slow?
System Admin: Seems
only slow during peak
hour?
Developer: Seems
only slow for login?
DevOps: It is slow in
the login process as
there are many
concurrent write ops
into db and db starts
lock row.
5. Developing beyond big O
Developer: I have
implemented a binary-
tree algo that is O(log
n)
System Admin: I have
implemented B+ tree
index that is better
than O(log n)
DevOps:
1. The single table is
just too big. Time to
break down into
smaller tables?
2. Is your web server
blocking
6. Blocking? What is that?
A blocking web-server is similar to a
phone call.
!
You need to wait on-line to get a response
and continue
7. A blocking server
Django Server Process
Django Server Process
Django Server Process
Django Server Process
DB
Django Server Process
= context switching (via kernel)
O(logn)
12. Take-aways
How to think like a “Full-stack”?
Look beyond coding and big(O)
Blocking vs Non-Blocking
Tornado Programming Essentials
Callbacks,Coroutines, Yield
Non-blocking Full Stack - Motor