Horizontally scaling databases: MySQL/Postgres Sharding

At some point, a single database instance starts to creak as more objects are added to it, even with read-only replication. A battle-proven strategy here is to scale horizontally via sharding, however there be dragons. Here are general design principles...

Explaining to the CDN why “vary” header matters

A CDN asked me why they should respect the HTTP “vary” header. My reply was this. “vary” is needed because the app uses “PJAX” architecture used by many dynamic web apps and embraced in frameworks like Rails’ TurboGears. Simply put,...

Taming Ansible with a control script

Ansible is very useful for managing multiple servers, but one of its weak points is lack of control over sequencing tasks. The basic assumption is that you can execute all tasks because it embraces the principle of idempotency. If you...

Google to embrace Swift?!!

In other news, Microsoft to embrace Linux. Hahahaha ha ah oh wait. NextWeb reports Google’s considering Swift as a first class Android language. I’m not surprised companies like Facebook and Uber are embracing Swift as it’s sufficiently open and highly...