SoundCloud : en quel langage est codé le service ?

[ 2 ] Commentaires
Share

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 🙂

Vous serez peut-être intéressé :

  • Nginx + PHP-FPM et WP-Super-Cache ?
    Bastien l'a évoqué dans les commentaires d'un précédent billet sur Nginx : plutôt que de mettre Nginx en reverse proxy avec Apache derrière, pourquoi ne pas faire gérer les requètes PHP directement pa...
  • gist.github.com : un service bien pratique pour partager du code source
    J'avais vu ça il y a quelque temps chez quelqu'un dont je ne citerai pas le nom (parce que je l'ai déjà soupçonné ce matin d'être capable de "changer" l'IP affichée par son navigateur, et il s'est rév...
  • Site encore down hier, la faute à un espace disque rempli
    Hier encore, abricocotier était down. PLus exactement, le serveur est tombé vers 12h29 et est remonté vers 12h59 (d'après les dates données par Mon.itor.us, mais en fait il a été down un peu moins de ...
  • WordPress 3.2 : arrêt du support de PHP4 et de MySQL4 !
    D'après un billet paru du le blog de Wordpress, la version 3.2 du CMS ne supportera plus les version 4 de PHP et MySQL. A première vue, on pourrait croire à un retour en arrière, mais en fait c'est un...
  • Les produits de Google codés en GWT
    J'ai pu découvrir ce week-end via Twitter (qui m'emmenait sur Google Plus, pour être honnête) une liste des produits de Google codés en GWT. Cette liste était fournie par Ray Cromwell, qui travaillera...

2 commentaires sur ce billet

  1. syndrael dit :

    Et ça sert à quoi de connaître le langage ?? LOL..
    S.

    RépondreRépondre
  2. Louis dit :

    @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 de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *