세계적 온라인 서비스업체의 Web Technology Stack
Web Technology Stack [Analysis] (해당 사이트의 기고문의 신뢰도는 모르겠다. 처음 발견한 사이트라..)
facebook이 php로 구현된건 알고 있었지만 backend 는 java와 같은 다른 언어로 구성되었다니 몰랐던 사실이다. 표를 보면서 느낀점은 웹관련 스택은 참 많이도 쪼개져 있구나.. 역시 silver bullet은 없구나.. 스크립트 언어로 그들 정도 서비스를 유지하려면 서버가 얼마나 많이 필요할까.. 같은 잡 생각? ㅋ
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) |