Le libre dans le monde de l’entreprise : retour d’expérience

Ça fait assez longtemps que j’avais pour projet d’écrire cette série de billets sans savoir comment la formuler correctement. Le sujet dispose de fortes tendances polémiques et de déchainement de passion. Je pense avoir trouvé une formule adéquate pour l’évoquer. La formule choisie est le retour d’expérience.

Un retour d’expérience est le partage avec d’autres d’une situation donnée. Ca n’a donc absolument pas la moindre valeur universelle et n’est donc pas transposable à d’autres situations. Ce paragraphe a pour but de limiter toute polémique ou du moins essayer de le faire.

Je souhaite revenir sur la vision du libre dont avait la société dans laquelle j’ai pu travailler, à savoir, Orange Business Services. Par libre, j’entends essentiellement les applications open source gratuites ainsi que les applications « freemium ».

Étant dans le pôle infrastructure recoupant de très nombreux domaines de compétence tels que le réseaux et la supervision, il était régulièrement évalué diverses solutions pour répondre à un besoin. Lors de l’évaluation en question, il était choisi quasi systématiquement un panel incluant une solution libre et une panoplie de solutions propriétaires.

La solution libre était systématiquement présentée en tant que solution de dernier recours ou bien bas de gamme. Même les plus mauvaises solutions propriétaires étaient présentés comme supérieures du simple fait qu’elles étaient payantes. Les fonctionnalités de la solution libre étaient le plus souvent présentées comme bancales ou « développées par un étudiant dans son garage ».

Lorsqu’un besoin était soulevé sans aucun budget associé, la demande était systématiquement tournée vers une solution libre car elle ne coûte rien. La solution proposée par le biais d’outils libres n’était jamais satisfaisante car trop générique.

Je pense que la perception des solutions libres était particulièrement mauvaise dans la situation en question. J’ai, bien évidemment, sélectionné les exemples les plus marquants.

La subtilité qui semblait avoir était oubliée est que les logiciels libres ne sont pas des solutions dîtes « clé en main ». Un logiciel libre est une sorte de proposition que l’on peut adapter à ses besoins. Les fonctionnalités proposées sont le plus souvent tout à fait fonctionnelles mais nécessitent une légère adaptation à la situation donnée.

Surtout, une solution libre ne signifie pas forcément solution gratuite surtout dans un contexte d’entreprise où chaque situation a ses spécificités. Il est quasiment indispensable de disposer de développeurs ou bien de personnes ayant des connaissances solides en code afin de pouvoir adapter la solution sur mesure. Cette adaptation sera bien capable de dépasser bon nombre de solutions propriétaires. Le coût de l’adaptation était probablement, dans la plupart des cas, inférieure au prix de la solution propriétaire. Dans la situation dont il est question ici, le site ne disposait d’aucun développeur.

Dans cette situation, les solutions libres étaient tout fait connues des décideurs mais les modalités inhérentes à leur implémentation ont été totalement omises et leur réputation a occulté les qualités de ces logiciels. Cet exemple montre d’une manière que les logiciels libres sont désormais connus du monde de l’entreprise mais leur déploiement peut se faire par défaut ou par manque de budget sans se donner les moyens de les utiliser pleinement.

Blogiversaire !

Le premier article de ce blog date du 29 Mai 2009. Ca fait donc juste un peu plus d’un an que ce blog existe désormais ! Je sais, je l’ai raté de quelques jours mais je ne pensais vraiment pas que ca faisait déjà un an que ce blog existait. Un an de blog ca donne une occasion de faire un petit point sur le passé et l’avenir !

Bilan

L’objectif initial de ce blog était de m’occuper pendant mon stage de 4ème année qui devait durer 6 mois. Cet objectif bien que peu louable a été relativement bien rempli. Ce blog m’a permis de faire passer du temps lors de ce stage. Cet objectif a même été dépassé car je continue à écrire régulièrement ici même depuis la fin de ce stage et la reprise de mes études.

Un autre objectif était de partager des informations qui pourraient aider d’autres personnes tombant sur ce blog par divers biais. L’atteinte de cet objectif est relativement difficile à évaluer mais je souhaite croire que c’est le cas. Certains commentaires me l’ont confirmé. Commentaires auxquels j’essaye de répondre assez rapidement (peut être trop des fois d’ailleurs) grâce au Blackberry ainsi qu’au HTC Dream (désormais à la poubelle).

Au niveau des thèmes traités sur ce blog, je pense qu’ils sont assez fortement variés. Si on reprend l’en tête de ce blog, les sujets mentionnés sont les suivants : « Sécurité informatique, virtualisation, administration système et réseaux ». Quel programme ! Je ne pense pas avoir traité beaucoup de sécurité informatique ce qui est un tort car il s’agit d’un sujet qui m’intéresse particulièrement. J’ai beaucoup traité de virtualisation au début bien que ce sujet ait un peu été délaissé récemment. J’ai beaucoup parlé d’administration système récemment alors que j’en parlais relativement peu au début. Le réseau a été évoqué longuement à travers l’Utt Arena et les VRF.

Je pense que ce blog oscille entre ces quatre sujets en fonction de ma motivation ce qui est une bonne chose. Le cantonnement à un seul sujet sera particulièrement difficile à tenir et serait source de démotivation.

En ce qui concerne la gestion de mon identité numérique, j’estime que c’est un très bon début. Ce blog a fait disparaitre de la première page de Google bon nombre de résultats parasites. Pour le reste, on verra bien.

Quelques statistiques pour ceux que ca pourrait intéresser :

  • Nombre de pages vues : 55.000
  • Nombre de visiteurs : 30.000
  • Abonnés au flux RSS : 125

Avenir

J’entends bien entendu continuer ce blog sur cette lancée. Les échanges résultants sont très intéressants et me permettent de confronter ma compréhension de différents sujets à celle d’autres personnes.

Je souhaite tenter l’expérience qui consisterait à publier des billets n’ayant pas de rapport avec l’informatique mais avec mes autres activités.

J’ai déjà prévu d’effectuer une série de billets sur les réseaux de stockage car il s’agit d’un sujet exceptionnellement intéressant. J’ai également prévu de parler plus en détail d’OpenVPN car je passe pas mal de temps dessus en ce moment. Pour le reste, ce sera comme d’habitude, en fonction de mon humeur.

J’ai encore écrit un billet beaucoup trop long ! Je vais supposer que vous êtes habitués aux longs articles depuis le temps. Finalement, je vous remercie de lire mon blog car c’est grâce à cela que je trouve la motivation d’écrire.

Livre sur la cryptographie : Cryptographie en pratique

En tant qu’administrateurs réseau ou systèmes, nous utilisons quotidiennement un élément sur lequel repose la majeure de partie de la sécurité de nos infrastructures : la cryptographie. Nous la retrouvons pour chiffrer les données que nous ne souhaitons pas voir interceptées ou bien pour effectuer de la déduplication de données (au hasard). La cryptographie est un élément central dans l’informatique depuis de très nombreuses années.

Souhaitant mieux comprendre ce domaine, je suis parti à la quête d’un livre. De nombreux livres en cryptographie ne sont clairement pas tournés vers les informaticiens mais vers le mathématiciens. Un tel niveau de compréhension n’est pas forcément nécessaire. « Cryptographie en pratique » est un ouvrage adapté à notre situation. Un niveau lycée en mathématiques est demandé pour les explications les plus compliquées ainsi qu’un peu de patience et de relecture pour certains passages.

Ce livre a pour but d’effectuer un tour d’horizon des différentes techniques de chiffrement utilisées aujourd’hui et leurs applications dans le monde réel. Ainsi, vous pourrez comprendre ce qu’est un MAC ou bien comment fonctionne AES. Les auteurs, Bruce Schenier et Nils Ferguson, sont de réelles pointures dans la matière et distillent les retours d’expérience à travers cet ouvrage.

Une partie du contenu de ce livre ne doit plus être tout à fait à jour car il date de 2002 mais une grande partie est clairement atemporel.

Au final, ce livre a été un plaisir à lire et m’a permis de mieux comprendre le fonctionnement et les enjeux de la cryptographie. Je vous le recommande très chaleureusement.

Le futur d’OpenSolaris

Ce billet marque une petite pause dans les billets sur la gestion du réseau d’une LAN Party. Au début de ce blog, j’avais annoncé que je ne souhaitais pas être un blog traitant de l’actualité au jour le jour car il en existe déjà de nombreux. Je vais donc traiter aujourd’hui de l’actualité d’OpenSolaris suite au rachat de Sun par Oracle.

Vous le savez sans aucun doute tous, Oracle a racheté Sun suite à de nombreuses négociations avec les différentes autorités notamment européennes. Sun est un grand groupe informatique relativement peu connu du grand public aujourd’hui mais qui a largement participé à l’expansion de l’informatique tel que nous la connaissons aujourd’hui. Les produits les plus connus de Sun sont la base de données MySQL, le système d’exploitation Solaris et la plateforme Java. Oracle est également un grand groupe dont le cœur de métier est la base de données dans toutes ses formes.

Annonces faites par Oracle

Dès l’annonce du rachat, Oracle a manifesté un fort intérêt pour Solaris contrairement aux intentions que certains ont pu lui prêter. L’annonce d’un investissement massif, supérieur à celui de Sun, dans Solaris a rapidement été évoqué. Le futur de Solaris n’a jamais été mis en doute. La réelle modification apportée par Oracle est la suppression de la gratuité de Solaris.  Ceci se comprend dans la mesure où Solaris est un système d’exploitation réellement orienté vers les infrastructures à très haute disponibilité. Qui dit haute disponibilité, dit coûts. C’est donc une évolution relativement logique pour viabiliser cet OS.

La gestion par Sun de Solaris faisait qu’il était possible pour une société de payer une souscription Solaris pour un seul serveur et ensuite de propager toutes les mises à jour sur tous leurs serveurs. Oracle a voulu, assez logiquement, supprimer cela en introduisant la notion de contrats équivalents sur tous les serveurs. De plus, Oracle a annoncé que toutes les fonctionnalités ne seraient pas incluses dans Solaris ce qui était déjà le cas à l’époque de Sun. Il s’agit cependant de fonctionnalités ultra-spécifiques. Le cheminement naturel est plutôt d’introduire les fonctionnalités OpenSolaris vers Solaris.

La situation d’OpenSolaris

Parlons désormais d’OpenSolaris. De la même manière que GNU n’est pas Linux, OpenSolaris n’est pas Solaris. OpenSolaris est à Solaris ce qu’est Fedora à Red Hat.

OpenSolaris est effectivement un logiciel libre bien que pas sous licence GNU/GPL.  Sur les mailing-list associées à ce projet, il a été fait une étude des éléments qui seraient à recréer si Oracle reniait OpenSolaris. Seul une centaine d’éléments non critiques seraient à revoir dont une bonne partie sont déjà en cours de réécriture.

Enfin une annonce !

L’erreur d’Oracle a surement été leur mutisme par rapport au futur d’OpenSolaris. Ceci est cependant terminé car Oracle sont sortis de leur silence et ont annoncé qu’il continueraient à soutenir ce projet. Je vous laisse consulter la présentation qui a été faite afin que vous puissiez vous faire votre propre idée.

Oracle is investing more in Solaris than Sun did prior to the acquisition, and will continue to contribute innovative technologies to OpenSolaris, as Oracle already does for many other open source projects

Oracle will continue to make OpenSolaris available as open source and Oracle will continue to actively support and participate in the OpenSolaris community

Toutes les annonces de la mort d’OpenSolaris sont fausses et basées sur le simple silence d’Oracle à ce sujet. De plus, ces fausses annonces ont été fortement relayées sur tous les sites d’informatique. Par contre, lorsqu’Oracle annonce le maintien du projet, l’annonce est pratiquement inaudible et invisible.

Le retour d’expérience d’OVH en matière d’infrastructure

Tout le monde connait sans aucun doute OVH. Nombre d’entre vous ont probablement déjà eu à faire à eux à travers leurs différentes offres que ce soit de l’hébergement mutualisé ou bien un serveur dédié. J’avoues ne pas toujours avoir été un fan de leurs offres.

Qu’on apprécie OVH ou non, le nombre de serveurs qu’ils hébergent est réellement impressionant. Selon leurs dires, ils hébergeraient pas moins de 70.000 serveurs aujourd’hui et visent 100.000 d’ici à la fin de l’année. Selon Wikipedia, il s’agirait même du 5ème hébergeur mondial en terme de quantité de serveurs.

Leur succès est lié à leurs prix qui défient toute concurrence sur le marché des serveurs dédiés. Je ne connaissais absolument pas l’histoire d’OVH et ce qui faisait leur succès. La présentation suivante est une présentation faite par deux responsables d’OVH qui retrace l’histoire de leur société. Elle est particulièrement intéressante car elle détaille toutes les « astuces » qu’ils ont utilisé afin de pouvoir grandir au fur et à mesure. Vous y apprendrez par exemple que la quasi totalité des serveurs OVH sont refroidis par un système à eau.


FRnOG 15 – Comment héberger 70000 serveurs ? (part 1)


FRnOG 15 – Comment héberger 70000 serveurs ? (part 2)

Cette présentation est un bel exposé d’audacité et d’ingéniosité comme il en faudrait, surement, plus souvent. Il y a en tout une bonne heure de vidéo. Ceci est extrait d’une conférence FRnOG qui regroupe tous les grands opérateurs Français.

Récit d’une « petite » erreur

Cette journée fut particulièrement mouvementée. Bien évidemment, ce n’était pas prévu et tout s’annonçait paisible tel un Vendredi classique. J’avais prévu deux transferts planifiés de sites dont le transfert avait été minutieusement préparé et répété. Une migration parfaitement classique.

Je me rends compte qu’il est nécessaire de modifier le fichiers de VirtualHost de tous les sites web du serveur Apache. Les Virtualhost sont les fichiers de configuration de site d’Apache. Au lieu de mettre « <Virtualhost IP> », il est nécessaire de mettre « <Virtualhost IP:port> ». Il n’était pas question de tout modifier à la main, il y a plus de 200 fichiers. Par sécurité, j’ai effectué une sauvegarde du répertoire sites-enabled. Dans ce cas, un script était nécessaire. Je code cela rapidement :

for i in `ls -1 .`; do cat $i | sed ‘s/<Virtualhost IP>/<Virtualhost IP:port>/g’ > $i; done

Et là, c’est le drame.

Ce petit script est, hélas, syntaxiquement correct. Il remplace bien les deux chaines de caractère comme je souhaitais qu’il le fasse. Il a été exécuté en root car je travaille toujours en root par simplicité. Si vous regardez de plus près, vous remarquerez qu’il écrit dans le même fichier qu’il lit. Erreur fatale. Ceci signifie la suppression de tous les fichiers du répertoire courant. Tous. Tous les Virtualhost disparus. Quant à la sauvegarde du répertoire sites-enabled ? Inutile car ce sont des liens symboliques.

Houston, we have a problem.

Quelques minutes suffisent pour se rendre compte de l’erreur commise par ce script en apparence anodin. Les sauvegardes, me diriez-vous. J’apprends qu’elles sont en erreur depuis longtemps. Par chance, une copie de la machine virtuelle était présente sur l’ancien serveur VMWare duquelle elle avait été migré avant-hier. La récupération d’une bonne partie des Virtualhost a été possible jusqu’à ce point. Sauf que nous avions transféré 120 sites hier. Cette erreur n’a pas créé d’indisponibilité car Apache mémorise la configuration. Un restart serait par contre fatal.

Il ne reste plus qu’une solution : créer un script à partir de la configuration de l’ancien serveur pour recréer tous les Virtualhost créés hier. Deux heures de développement d’un script pas si simple dans un des langages les plus moches sur Terre : Bash. Une heure de debug du script. Après trois heures de stress intense et d’activité cérébrale, les Virtualhost avaient été recréés. Quelques Virtualhost ont du être récréés à la main car le script n’avait pas fonctionné avec.

Finalement, Apache accepte les Virtualhost créés par mon script. Je suis sauvé.

Je pense qu’il est important de tirer les enseignements de ses erreurs. Dans ce cas, il va falloir que j’apprenne à utiliser sed et à ne plus jamais scripter sur un serveur de production. Nous faisons tous des erreurs et nous devons donc nous assurer que ces erreurs seront inoffensives. Dans ce cas, la protection face à l’erreur a été inutile à cause d’un élément technique dont j’avais parfaitement conscience. Un petit moment d’inattention a suffit pour tout faire basculer.

Au final, il y a deux types d’administrateurs système : ceux qui ont déjà tout cassé à cause d’une erreur de script et ceux qui vont le faire.