Ces logiciels open source indispensables aux géants du Web Wikipedia : l'open source dans les gènes du site

S'il est un site dont on peut dire qu'il s'appuie en quasi-totalité sur l'open source, c'est bien Wikipedia. Car si le site figure dans le top 5 des audiences mondiales, son budget est à des années-lumière de ceux de Facebook ou Google. Une contrainte qui a largement dicté ses choix de logiciels et d'architecture. Wikipedia est ainsi bâti sur la suite LAMP. Au cœur de l'encyclopédie en ligne se cache le serveur web Apache sur lequel MediaWiki, le CMS spécialisé de Wikipedia, repose. Ce dernier a été développé en PHP. Le site exploite MySQL, mais certaines de ses instances ont commencé à basculer sous MariaDB, le fork de MySQL né au moment de l'acquisition de MySQL par Oracle.

Des serveurs de cache Memcached et Squid pour gérer la charge

jimmy wales, co-fondateur de wikipedia.
Jimmy Wales, co-fondateur de Wikipedia. © JDN / Benoit Meli

Wikipedia est, par nature, un site très axé sur la consultation et relativement peu sur l'écriture. Son architecture technique fait une très large place à un système de cache élaboré pour limiter au maximum le nombre de serveurs nécessaires à son fonctionnement.

L'essentiel du site est ainsi chargé dans des serveurs de cache Memcached et Squid, ce qui permet à Wikipedia d'afficher son contenu sans solliciter les serveurs PHP. L'équilibrage de charge est assuré par Linux Virtual Server (LSV-DR) au niveau des serveurs, et via GeoDNS entre les différents datacenters où sont installés les serveurs du site.

Enfin, brique importante pour un site de contenu tel que Wikipedia, le moteur de recherche est lui-aussi open source. C'est Apache Lucene. Seule brique propriétaire de l'architecture Wikipedia : le serveur Sun Solaris et son système de fichier ZFS qui stocke les images de Wikimedia. Un serveur en cours de remplacement par la solution de stockage distribuée OpenStack Swift.

Principales solutions open source : Linux, PHP, MySQL, MariaDB, Memcached, Squid, LVS, GeoDNS, Lucene, Openstack Swift.