SoundCloud : en quel langage est codé le service ?

Rapide billet pour dire que je me demandais en quel langage était codé SoundCloud, et que j’ai cherché via les structures d’URL à le savoir, mais je n’ai pas réussi à trouver via ce biais. Les URL sont très propres, en terme de serveur utilisé, on est sur du Varnish+Nginx en front, mais c’est la seule chose que l’on peut voir. J’ai donc cherché dans les offres d’emploi disponibles sur le site (ici et ici par exemple). Et s’il y a un langage qui revient souvent, c’est bien le Ruby (ils disent d’ailleurs dans leurs offres d’emploi « SoundCloud Rails-based platform »). Donc on peut très bien imaginer que SoundCloud tourne sur un mod Phusion Passenger (mais habituellement on le voit dans les header, hors ici je n’en vois pas trace, donc c’est bizarre.).

On y voit aussi les combo Nginx/Thin/MySQL. Ne sachant pas ce qu’était Thin, j’ai cherché et j’ai vu que c’était un serveur web pour Ruby. il y a donc des chance s qu’ils ne se servent pas du tout de Phusion Passenger mais qu’ils utilisent plutôt Thin, leur stack étant alors tout simplement celle qu’ils énoncent sur leur site : Varnish/Nginx en front, puis Thin+Ruby et enfin une base MySQL.

On voit aussi trace de RabbitMQ, qui est un système de message/queue (un peu comme JMS d’après ce que j’ai compris). J’imagine qu’ils utilisent ce système pour traiter les morceaux uploadés par leurs utilisateurs.

Parmi les autres technologies, j’ai vu :

  • du Git (qu’ils utilisent certainement pour leur versionning de code)
  • HaProxy, dont j’ai vu sur le web que c’était un load balancer
  • Memcached, un système de cache de base de données
  • Graphite, Ganglia, Nagios, New Relic, Hoptoad pour les systèmes de monitoring (très honnêtement, j’y connais pas grand chose)
  • ActionScript3 pour tout ce qui doit être players de musique ou système d’upload
  • JQuery pour  le framework JS
Voilà pour ce que j’ai pu voir. Si vous constatez d’autres technologies utilisées et non listées, sachez que je suis preneur 🙂

2 réflexions sur « SoundCloud : en quel langage est codé le service ? »

  1. @syndrael: C’est par attrait pour la culture du code. Quand on aime un service, on le trouve efficace, on se dit que c’est un peu aussi grâce aux technologies qui le composent, et donc on cherche à savoir de quoi le service est composé 🙂

    RépondreRépondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.