Serveurs et Linux : on ne peut pas simplement installer Windows ?

À quoi ressemble vraiment un ordinateur serveur ?

Quand j’ai commencé à apprendre le développement, j’avais une image assez floue du ‘serveur’. J’imaginais un énorme supercalculateur comme dans Matrix, avec des lettres vertes qui tombent comme de la pluie, d’innombrables câbles emmêlés partout, et de gigantesques machines projetant une lueur bleue dans un vacarme mécanique imposant.

Mais la première salle serveur que j’ai vue en conditions réelles, un IDC, ne ressemblait pas du tout à cette image. Ces machines plates montées en rack étaient, une fois ouvertes, de simples ordinateurs avec un CPU, de la RAM et un SSD, pas si différents de mon ordinateur portable.

Alors qu’est-ce qui fait exactement que mon portable est un ‘PC personnel’, tandis que cette machine massive est appelée un ‘serveur’ ?

Un serveur n’est pas une machine spéciale, c’est un ordinateur qui remplit un rôle spécial.

Celui qui sert (Server) vs. celui qui demande (Client)

La définition d’un serveur est très simple. C’est celui qui ‘sert’, qui fournit. À l’inverse, le client est celui qui fait la requête.

Autrement dit, même mon vieux portable devient un ‘serveur’ si je le laisse allumé 24h/24 et que j’autorise les connexions extérieures. Alors pourquoi ne pas utiliser mon portable comme serveur ? Pourquoi payer cher pour louer des serveurs cloud comme AWS EC2 et y installer ce ‘Linux’ qui semble plus difficile à utiliser ?

Pourquoi Linux, précisément ? (Windows, ce n’est pas possible ?)

Windows est vraiment pratique. Il suffit de cliquer avec la souris, et tout semble intuitif. Alors pourquoi les développeurs serveur tiennent-ils tant à Linux, qui donne l’impression de n’être qu’un écran noir ?

1. Une interface graphique est un luxe (coût et efficacité)

Quand Windows démarre, on voit le bureau, les icônes et le curseur de la souris qui bouge. Pour maintenir cette interface graphique, l’ordinateur consomme en permanence du CPU et de la mémoire. Mais un serveur n’a pas besoin d’écran. Il peut être rangé quelque part à l’autre bout du monde et ne faire qu’une chose : traiter des données. Un serveur Linux en CLI supprime toute la partie graphique et ne garde que le texte. Si Windows utilise 30 sur 100 de sa puissance pour dessiner l’écran, Linux peut consacrer ces 100 entièrement au service.

2. La liberté face aux mises à jour forcées (stabilité)

Si l’on utilise Windows assez longtemps, on finit par tomber sur le fameux « Redémarrage pour installer les mises à jour ». Sur un PC personnel, ce n’est qu’une nuisance. On part quelques minutes et on revient. Mais si un serveur censé tourner 24h/24 décide de s’éteindre tout seul, c’est une catastrophe. Linux peut souvent fonctionner pendant des années sans redémarrer, sauf gros événement comme une mise à jour du noyau.

3. Le coût des licences (l’argent)

Windows Server coûte cher. Le prix peut même dépendre du nombre de cœurs CPU. Linux, en revanche, comme Ubuntu ou CentOS, est généralement gratuit et open source. Pour une entreprise qui doit faire tourner des milliers de serveurs, la réponse est assez évidente.

Pour un serveur, les graphismes tape-à-l’œil ne sont qu’un poids supplémentaire.

Et si on installait Linux sur Windows ? (Le prologue de la virtualisation)

C’est là qu’un développeur débutant, autrement dit mon ancien moi, a une idée brillante. « Puisque Windows est plus confortable, pourquoi ne pas installer Windows Server et faire tourner Linux à l’intérieur sous forme de ‘Virtual Machine’ ? »

Bien sûr, c’est possible. Mais c’est comme planter une tente à l’intérieur d’une maison et y habiter.

Le propriétaire de la maison, Windows, doit aussi manger, et le locataire, Linux, aussi. Le gaspillage de ressources est énorme. Les développeurs ont donc commencé à se poser une meilleure question : « Au lieu d’installer un OS complet et lourd, ne pourrait-on pas isoler et exécuter seulement l’‘environnement’ dont on a vraiment besoin ? »

C’est exactement de cette réflexion qu’est né Docker, autrement dit la technologie des conteneurs.

La suite : un monde sans souris

Nous comprenons maintenant pourquoi les serveurs ont abandonné Windows au profit de Linux. Mais comprendre avec la tête et manipuler avec les mains, ce sont deux choses différentes. La première fois que l’on se connecte à un serveur Linux, on n’est pas accueilli par le sympathique bouton Démarrer de Windows, mais seulement par un curseur clignotant sur un écran noir.

La prochaine fois, nous verrons les compétences de survie de base pour gérer les permissions de fichiers et contrôler un serveur dans cet environnement terminal Linux, le CLI, sans souris.

Laisser un commentaire