Web Technology Stack [Analysis]
Product | Front End | Back end | Database | Others |
Ruby on Rails (RoR), JavaScript, jQuery LabJS, Modernizr, JSON-P, oEmbed |
Scala | Cassandra | Java, C, Python, Mustache templating language | |
PHP, XHP, Hiphop for PHP, JavaScript | C, C++, Java | Cassandra, MySQL | Python, Erlang | |
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..
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