views:

93

answers:

3

Hi,

Incase if you are to develop twitter today what language, tools and approach will one take. How will he start from the very frugal configuration and gradually scale to the levels twitter has reached today. Incase if you can provide direct responses like (PHP+ Apache+ memchached+ MySQL) or (JSP+TomCat/Glassfish+ MySQL / other db) etc.

The criteria is an architecture which scales easily without much engineering and the right language so that one doesnt need to rethink his decision once the same is in place.

(As far as I know, Twitter is RoR, Linked in is Java and Digg in Php. So not looking for just random thoughts :) ) Do support why do you think your option should suffice.

Thanks

+1  A: 

As you already say it, there are several applications that shows that several technologies are able to scale. Fortunately for them.

I think you should not focus only on "is this technology the best for scaling". But on the two following points :

  • Do you have skills in that technology ?
  • Is that technology adapted (by it's philosophy) to that application ?

Scaling is a thing. But if you can't develop your application with the "killer" technology because you don't understand it, it's anyway useless.

Damien MATHIEU
Hi dmathieu,Appreciate your response. Just to answer your Questions, My team has a good understanding of both PHP and JSP. Yes there will be areas where they need to develop their expertise to the next level but as we know thats part of our jobs.For the second q.. I actually didn't much understand it :( What we are developing is very much in lines with twitter. An application which will be heavy on text, will have capability of sharing videos and pics from other apps (not stored on our website) and will have 2-3 pics per user. (stored by us)Will further comment in others q
chanda
+1  A: 

I recommend looking at the High Scalability website. You can build a scalable web app in virtually any language, but it's not just a matter of using the right technology and then plugging it in. You have to know what you're doing, no matter what technology you use!

Phill Sacre
Agree to you Phill. I got all the scalability knowledge via the website only as u have suggested, but I am also looking for a book/website/blog that describes how a small app utilizing limited resources was scaled. That seems to be a bit of spoon feeding though but we have always been a website developer with sites that hardly et more than 5K visits a month, hence wanted some resrc that can boost our confidence.. Do let me know ur views on the same
chanda
A: 

Twitter was developed using the framework Ruby on Rails (ROR), and that seems to be a good choice. Ruby on rails is database agnostic (supports most databases), very scalable and very good for developing web applications quickly. Cake is a popular alternative for PHP I haven't used Cake but hear it is very similar. The alternative to these open source alternatives would be a full blow enterprise environment like the microsoft .NET frameweork.

Joel