T
Twitter Engineering Blog
engineering.twitter.com · Company blog · on HN since 2010
Twitter's engineering team posts about the company's infrastructure, open-source releases, search, and deployment tools.
What HN saysHN mostly links it as an example of a company engineering blog, and for the Storm stream-processing announcement.
121HN people shared it
61linked it in comments
92stories submitted
1.3Kstory points
10 years agolast shared
2010people per year2026
Most-shared posts
- 1Twitter Rolls Twitter.com Back to a Server-Side Architecture12 people · 189 points · first shared 2012 · 54 comments on HN
- 2Twitter Search is Now 3x Faster10 people · 67 points · first shared 2011 · 17 comments on HN
- 3The Twitter Engineering Blog9 people · 7 points · first shared 2010 · discussion on HN
- 4A Storm is coming: more details and plans for release6 people · 31 points · first shared 2011 · discussion on HN
- 5Murder: Fast datacenter code deploys using BitTorrent5 people · 63 points · first shared 2010 · 26 comments on HN
- 6Twitter open sources its MySQL fork5 people · 12 points · first shared 2012 · 1 comments on HN
- 7Twitter's Innovators Patent Agreement4 people · 31 points · first shared 2012 · 1 comments on HN
- 8Building a faster Ruby garbage collector4 people · 29 points · first shared 2011 · 1 comments on HN
- 9The Tech Behind the New Twitter.com3 people · 32 points · first shared 2010 · 1 comments on HN
- 10Twitter's New Search Architecture3 people · 31 points · first shared 2010 · 1 comments on HN
- 11Introducing FlockDB, Twitter's Graph Database3 people · 27 points · first shared 2010 · discussion on HN
- 12Finagle: A Protocol-Agnostic RPC System from Twitter3 people · 24 points · first shared 2011 · discussion on HN
- 13Implementing pushState for Twitter.com3 people · 9 points · first shared 2012 · discussion on HN
- 14Distributed Systems Tracing with Zipkin3 people · 6 points · first shared 2012 · discussion on HN
- 15Cassandra at Twitter Today2 people · 86 points · first shared 2010 · 22 comments on HN
What HN people wrote when they linked it
JayeshSidhwani · 2017-04-21
I had asked a similar question on Quora [1] few years back. Here is the summary:
- Facebook: https://www.facebook.com/Engineering?sk=notes
- Google: http://google-engtools.blogspot.com/
- Twitter: http://engineering.twitter.com/
- Linkedin: http://engineering.linkedin.com/blog
- Dropbox: https://tech.dropbox.com/
- Instagram: http://instagram-engineering.tumblr.com/
- Netflix: http://techblog.netflix.com/
- Flickr: http://code.flickr.com
- Etsy: http://codeascraft.etsy.com/
- Yelp: http://engineeringblog.yelp.com/
- Heroku: https://blog.heroku.com/
- Airbnb: http://nerds.airbnb.com/
- Bitly: http://word.bitly.com/
- Evernote: https://blog.evernote.com/tech/
- Highscalability: http://highscalability.com/
[1] https://www.quora.com/What-are-the-companies-that-have-some-of-the-bes…
ibejoeb · 2016-01-29
Pip and virtualenv solve the problem of creating and populating isolated runtimes for things you control. They don't really address distribution to end users, i.e., those who use OS packaging or app stores.
Distribution of python "binaries" is a real pain though. Twitter's PEX (https://engineering.twitter.com/university/videos/wtf-is-pex) is the best, in my opinion. (It's basically a packaged venv, so in that regard, I guess I agree.) It's still problematic and requires a writable filesystem just to run.
I build OS packages for python programs using PEX, and it's okay, but it's probably my least favorite distribution mechanism.
orta · 2012-05-31
They are working on that right now: http://engineering.twitter.com/
iworkforthem · 2012-03-29
http://engineering.twitter.com/
http://engineering.foursquare.com/
http://engineering.tumblr.com/
To name a few... know of one, please help add.. Thanks.
noelwelsh · 2011-08-19
The production systems I know of are:
- Yahoo's S4 (http://s4.io/).
- Twitter nee BackType's Storm (http://engineering.twitter.com/2011/08/storm-is-coming-more-details-an…
- Esper (http://esper.codehaus.org/).
While Amazon's announcement is great news for Hadoop users, I do think the future is in these real-time systems. However there isn't a clear winner yet, so it is appropriate that AWS is yet to bundle one up as an offering.
x5315 · 2011-05-21
Twitter solves an elementally different problem to Facebook, which may lead to the disparity in features that you see and has previously caused issues with scalability. The Twitter engineering blog (http://engineering.twitter.com/) details some of the fundamental systems development we've been doing to solve these issues and give us a better platform.
From this, we can launch better products. I can't go into specifics, but there's some really good stuff coming in the future.
Aleran · 2010-03-03
Joel slams Twitter's blog as boring, saying it's essentially rewritten press releases but Twitter does have an engineering focused blog that has much more interesting content (for Programmers anyways).
http://engineering.twitter.com/
cmsimike · 2013-04-05
IMO if you build a product and it is working, there really is not much reason to redo your efforts in a higher performance framework unless your needs require you to do so. If you are at your current hardware's limits and you can't throw more hardware at it (for whatever reason), it may make sense in that case. If you want to reduce the amount of servers you currently have, it also makes sense there. http://blog.iron.io/2013/03/how-we-went-from-30-servers-to-2-go.html This is a great post talking about going from 30 servers using Ruby to 2 servers using Go.
Use case example - Twitter was using Rails on the front-end for a while but it got to the point where using it made little sense. Part of Rails' performance is dependent on caching - which is really hard, if not impossible, to do well when you are dealing with live data.
FYI, Gemini is our framework that we've built and maintain internally. You probably won't find reference to it (except for out blog).
edit This is the link to Twitter's blog about Rails http://engineering.twitter.com/2011/04/twitter-search-is-now-3x-faster…
SkyMarshal · 2012-07-03
Second that about Lift too. It's basically server-side jQuery. Instead of parsing templates as one big string, it does DOM transforms on sub-trees. Parallel, independent, lazy-loading transforms using an Actor for each for each Snippet/subtree. Really awesome model.
Also, Twitter's recent 180 on shifting some processing from the client back to the server [1] suggests a server-oriented framework like Lift's is worth considering, despite the hype and excitement around client-heavy Rich Web Apps. Lift does the API-consuming rich client model as well, but its uniqueness is the DOM transform stuff.
Very different mental model than MVC and hard to get started with for some because of that, but here's a great bit of advice on best practices I came across recently (especially the part about pretty everything being done via either LiftRules or the S object) [2].
1. http://engineering.twitter.com/2012/05/improving-performance-on-twitte…
2. http://www.quora.com/Lift-web-framework/What-are-the-best-practices-fo…
0x12 · 2011-09-17
content stolen from:
http://engineering.twitter.com/
alanning · 2016-08-08
The author doesn't explicitly say "tracing" but he specifically calls out Dapper and Zipkin in the section, "“It’s slow” is the hardest problem you’ll ever debug."
Dapper - http://research.google.com/pubs/pub36356.html
Zipkin - http://engineering.twitter.com/2012/06/distributed-systems-tracing-wit…
mike415 · 2014-05-27
There is a link to apply for a "Data Grant" here: https://engineering.twitter.com/research. Unfortunately, it looks like submissions are closed.
mjackson · 2014-01-12
I actually built this page a few years ago when I was working at Twitter during a hack day (bonus points if you can find the easter egg!). It's fun to see it on HN again.
Anyone who is interested in Twitter's current open source contributions should definitely check out the open source section of their engineering site as well:
https://engineering.twitter.com/opensource
kvtrew76557 · 2013-12-26
Twitter has some nice Scala libraries too:
https://engineering.twitter.com/opensource/projects?tags%5B%5D=2
raylu · 2013-04-26
A completely stupid thing for Twitter to do, like writing a post about their 12 hours of downtime ending in rollback by
1. starting the post with 5 paragraphs and a list of all the virtues of Twitter's engineering
2. spin the fact that, after a simple DB screw-up in production it took them about 6 hours to decide to just rollback from a backup
3. end the "postmortem" (which is, by the way, completely devoid of apology) by trying to hire
all the while talking about how working at Twitter is like building a rocket mid-flight (so, just like every other company)?
http://engineering.twitter.com/2010/07/twitter-performance-update.html
amckenna · 2013-03-20
as noted above:
"We will implement the IPA later this year, and it will apply to all patents issued to our engineers, both past and present." [1]
emphasis on past
[1] http://engineering.twitter.com/2012/04/introducing-innovators-patent-a…
itsprofitbaron · 2013-02-09
Internally, it is spoken of as a liability
I doubt that their API is spoken of as a liability internally because, if it was spoken of as a liability then Twitter.com itself is a liability. Why? Twitter.com itself is powered by their API[1]
[1] http://engineering.twitter.com/2010/09/tech-behind-new-twittercom.html
willvarfar · 2012-11-08
Did you skip the bit in the article where they mentioned the faster Ruby VM they built, before moving to JVM?
http://engineering.twitter.com/2011/03/building-faster-ruby-garbage-co…
trimbo · 2012-11-08
They use both.
"Last week, we launched a replacement for our Ruby-on-Rails front-end: a Java server we call Blender. We are pleased to announce that this change has produced a 3x drop in search latencies and will enable us to rapidly iterate on search features in the coming months."
http://engineering.twitter.com/2011/04/twitter-search-is-now-3x-faster…
polyfractal · 2012-08-17
Whoops, an announcement that went with the project (probably should have linked to that instead):
http://engineering.twitter.com/2012/08/crowdsourced-data-analysis-with…
anselmoars · 2012-07-04
This has nothing to do with MVC, ABC, <put your architecture here>. You should eliminate the initial browser blank state, optimise the TTFB and your start render time, number of resources <23+4 Steve Sauders optimisation techniques>.
Twitter found Time To First Tweet as an important KPI, and it caused them to build a mixed deliver architecture (server-side and client-side, http://engineering.twitter.com/2012/05/improving-performance-on-twitte…
karterk · 2012-06-24
It's interesting to note that while Twitter has moved away from client side rendering of HTML templates (and is a strong advocate of sending HTML directly down the wire[1]), LinkedIn mobile app seems to be rendering the template on the client.
[1]: http://engineering.twitter.com/2012/05/improving-performance-on-twitte…
LnxPrgr3 · 2012-06-14
zxypoo · 2012-06-07
Here's the official announcement from Twitter Engineering:
http://engineering.twitter.com/2012/06/distributed-systems-tracing-wit…
jsprinkles · 2012-05-30
This entry doesn't get into details because it's blog spam, submitted by the blogger himself.
You want this: http://engineering.twitter.com/2012/05/improving-performance-on-twitte…
timhaines · 2012-05-30
I think the post is relavant (today) considering Dan (the author) was instrumental in removing the hashbangs. Twitter's Engineering Blog Post from today: http://engineering.twitter.com/2012/05/improving-performance-on-twitte…
ryannielsen · 2012-05-30
If you read Twitter's actual announcement (http://engineering.twitter.com/2012/05/improving-performance-on-twitte… they've only rolled out the described changes to the tweet permalink page. Other pages will see these changes over the coming weeks.
demetris · 2012-05-30
Here is the original post, by the Twitter engineers:
http://engineering.twitter.com/2012/05/improving-performance-on-twitte…