Web Technology Stack [Analysis]

NoSQL 2011. 8. 10. 13:25 |

Even wondered what technologies are used for large web applications which have millions of unique visitors and have 1000s of requests per second. Which programming languages are making it happen, handling such peak amount of load at a time. We were curious about it and thought lets figure out what beneath the nice slick interface, who is handling the business logic efficiently. Here is what we found, a compiled list of technologies stack used at various web applications.

 
Product Front End Back end Database Others
Twitter Ruby on Rails (RoR), JavaScript, jQuery
LabJS, Modernizr, JSON-P, oEmbed
Scala Cassandra Java, C, Python, Mustache templating language
Facebook PHP, XHP, Hiphop for PHP, JavaScript C, C++, Java Cassandra, MySQL Python, Erlang
LinkedIn JSP, Apache Coyote Web Server Spring MVC, Linkedin spring, grails, Oracle and MySQL ActiveMQ for JMS, Lucene as a foundation for search, DWR, Jetty, Eh-cache, Quartz, Spring remoting.
YahooMail HTML, CSS, JavaScript (with YUI 3) PHP MySQL Apache Traffic Server (formely known as Yahoo! Traffic Server).
Google + Closure framework, including Closure’s JavaScript compiler and template system, HTML5 History API Closure templates server-side, C++, Java, or Python BigTable and Colossus/GFS MapReduce
FourSquare scala(lift framework) scala

Amazon S3 for hosting, /img/ folder which is served by nginx directly

MongoDB load balancer(s): nginx/0.8.52

Lift- A web framework written in scala.

Youtube Python psyco, a dynamic python->C compiler MySQL
Quora Python and JavaScript LiveNode/webnode2, Thrift (Communicate to backend)

Amazon EC2 and S3 for hosting

MySQL + memcached C++
Load Balancing: nginx in front of HAProxy
Viddler PHP, Python Rails 2.x, ffmpeg/mencoder/x264lib, Java 1.6 / Spring / Hibernate / ehcache, Erlang

Amazon EC2 and S3 for hosting

Mysql 5.0 Hadoop HDFS (distributed video source storage)
Nginx/Keepalived (Load balancers for all web traffic)
Wowza (RTMP video recording server)
Mediainfo(reporting video metadata)
Yamdi (metadata injector for flash videos)
Puppet(configuration management)
Logcheck(log scanning)
Duplicity(backup)
StackOverFlow jQuery, ASP .NET C#, Microsoft ASP.NET (version 4.0), ASP.NET MVC 3, Razor. LINQ to SQL, some raw SQL Server HAProxy (for load balancing), Bacula(for backup), Redis(caching layer)
Disqus jQuery,EasyXDM, Sammy, Flot, Raphaël, JSHint Python scripts, Django, Celery, South PostgreSQL, memcached HAProxy + heartbeat (Load balancing)

 

In Short..

Database Distribution

Backend Technology Distribution

Conclusion

The current trends for front end development are mainly jQuery, Python, Scala. Though some companies use Microsoft technologies but, the percentage of such companies is very less. Although MySQL and Cassandra has been favorites databases but few are moving to MongoDB which is a NoSQL database. Back end of these high scaling sites run on variety of different technologies such as Django, python, RoR, Closure, C++, Java, Scala etc.

I’ve written this post to give insights about which technology combinations are preferred by websites with high user base, you might want to consider these points while choosing platforms and programming languages for your start-up.

Like this article? or have some thing to say? Comment down your opinions.


http://www.tutkiun.com/2011/07/web-technology-stack-analysis.html

Posted by 솔라리스™
: