Fastly's tech stack
Our philosophy on toolsets is “the right tool for the job.” Mostly, we’re a Unix shop, and the languages and frameworks we have in production are the following:
- Varnish (obviously) for caching, which is developed in C
- Ubuntu OS with some heavy modifications to better optimize SSD usage
- BGP for network routing
- Apache for serving web objects and terminating SSL
- Perl for our control plane and VCL deployment
- Assembly in our control plane for an extra boost
- Go for our streaming logs and stats, our video handling, and more
- Ruby/Sinatra for our public API
- Python for purging/cache invalidation and system health
- Backbone.js for our front end app
- Coffeescript/Sass on the front end
- Epoch for data visualization
- Chef for deployment automation and config management
- Jekyll for our www.fastly.com site
- Jenkins for job scheduling and automation
- Ganglia for system monitoring
In addition, most tools in our stack have been altered and optimized for a distributed, highly performant environment. If we need something improved or changed, we do it. If another tool, language, or framework solves the job better, we use it.
Please sign in to leave a comment.
Comments
1 comment