Live data from Hacker News

How Three Guys Rebuilt the Foundation of Facebook

wired.com

11–12 of 12 posts

Re: How Three Guys Rebuilt the Foundation of Facebook

#11
post #7
post #2

I would love to see the decision memo where they decoded it was less effort to build HHVM then to rebuild the site from scratch.

I'm always astounded at just how much effort Facebook puts into trying to keep PHP usable compared to switching to really almost anything else.

Porting the site would be a pretty crazy plan. Substantially crazier than writing your own VM for PHP, which is pretty WTF already.

However, i am really surprised that there doesn't seem to be a plan to gradually migrate off PHP and on to something decent.

This would involve creating a viable new platform of some sort (Sinatra on JRuby, Scalatra, Node.js, whatever's cool now), working out how to do the interoperation with PHP that was necessary (decoding PHP cookies or whatever), building or porting some minimal feature onto it, getting it into production, and getting it stable. Further features could then be developed on it or ported onto it one by one. Establishing this platform should be much less effort than writing a high-performance PHP VM.

There would remain effort in actually porting bits of the site, but that can be applied incrementally. New features could be developed on the new platform at no extra cost.

The new platform would probably be based on the JVM (unless it's Node), and i would expect it to be faster than HHVM. I would confidently expect it to require less maintenance. Given that the old platform is PHP, i would also expect it to be more secure, and to afford better quality code.

My company (a tiny operation in financial services that you've never heard of) is currently going through something a bit like this. We have a monolithic legacy app written in Java on a homebrew platform made of servlets, XSLT, and cheap gin. All our substantial new features are being developed in Scala on the Play framework. Whilst i'm not certain Scala/Play was the right choice, the plan is working: we are shipping, we are moving faster when developing the new features, and we are crying less.

Re: How Three Guys Rebuilt the Foundation of Facebook

#12
post #11
post #7

Earlier quoted context omitted.

I'm always astounded at just how much effort Facebook puts into trying to keep PHP usable compared to switching to really almost anything else.

Porting the site would be a pretty crazy plan. Substantially crazier than writing your own VM for PHP, which is pretty WTF already. However, i am really surprised that there doesn't seem to be a plan to gradually migrate off PHP and on to something decent. This would involve creating a viable new platform of some sort (Sinatra on JRuby, Scalatra, Node.js, whatever's cool now), working out how to do the interoperation…

This is more what surprises me--the lack of some slow, calculated migration off of PHP and to something like Node, almost anything JVM based, etc (since yeah, a full rewrite of any codebase is almost always crazy).

I'm in a similar legacy Java boat at my own work and doing quite a bit of the "okay, what small piece can we handle" at a time style replacement.

Post reply on HN