Blog

Comment nous calculons aujourd'hui : à quoi ressemble l'infrastructure moderne

par Michael Churchman 6 juillet 2017 | 7 min de lecture

L'infrastructure informatique actuelle n'est ni celle de vos grands-parents, ni celle d'il y a une génération. L'époque des cartes perforées, des tubes électroniques, de la mémoire à tores de ferrite, des disquettes et de l'Internet par ligne commutée est révolue.

L'infrastructure actuelle est bien différente de celle d'il y a cinq ans, voire même d'il y a un an. L'infrastructure moderne évolue constamment, et nous ne pouvons que fournir un aperçu de l'infrastructure actuelle, ainsi qu'une vision générale de son évolution future.

Pour assurer un suivi efficace des infrastructures, il est indispensable de comprendre leur état actuel, leur évolution et leur composition future.

Matériel : Moins de Moore

Commençons par une distinction fondamentale : l’infrastructure matérielle est relativement stable (et l’accent est mis sur le mot « relativement »), et ce, depuis quelques années dans un état de semi-stabilité. Quant aux spéculations sur Loi de Moore Il est prématuré de parler d'atteindre le bout du tunnel ; la courbe de la loi de Moore semble s'être au moins partiellement stabilisée pour le moment, du moins en ce qui concerne la vitesse des processeurs et la capacité de la RAM (le stockage de masse pourrait être une autre histoire).

Logiciels : Le changement est naturel

Cette stabilisation signifie que les changements les plus importants et les plus substantiels dans l'infrastructure informatique se sont produits du côté logiciel. Cela n'a rien d'étonnant, car l'infrastructure moderne est, dans une large mesure, constituée de logiciels. Les réseaux définis par logiciel, les machines virtuelles, les conteneurs et autres technologies similaires font que la frontière entre matériel et logiciel est aujourd'hui considérablement floue.

Le fait que l'infrastructure informatique puisse être considérée en grande partie comme un logiciel est un élément clé de l'informatique moderne, et cela n'a rien d'étonnant. Le matériel, après tout, n'est qu'un cadre, une structure conçue pour rendre les choses possibles. L'utilisation que l'on fait de ces possibilités peut faire toute la différence.

Sans latence matérielle

Le passage à une infrastructure logicielle a des implications qui dépassent largement le cadre d'un simple changement de plateforme. En effet, le matériel lui-même impose un délai considérable au rythme des évolutions. Remplacer ou mettre à niveau les serveurs, les réseaux et les périphériques physiques est coûteux et chronophage ; c'est pourquoi de nombreuses organisations ont traditionnellement attendu que cela devienne absolument nécessaire (voire plus tard) avant d'entreprendre de tels changements. Ce délai peut n'être que de quelques années, mais il a généralement un impact tant au niveau logiciel qu'au niveau matériel, en imposant la nécessité de prendre en charge à la fois le matériel existant et les logiciels obsolètes qu'il requiert.

Dans les infrastructures logicielles modernes, les logiciels applicatifs et les éléments constitutifs de l'infrastructure sont isolés de la plupart (voire de la totalité) des composants matériels sous-jacents, souvent par plusieurs couches d'abstraction. Tant que le matériel peut répondre aux exigences de la couche d'abstraction, l'infrastructure elle-même est désormais largement exempte de latence liée au matériel.

Facteurs « doux »

De ce fait, le rythme d'évolution des infrastructures et des logiciels applicatifs est désormais régi par d'autres facteurs, tels que la culture organisationnelle et les contraintes pratiques liées à la vitesse de conception et de développement logiciel. Ces facteurs sont généralement « souples », et le délai qu'ils induisent est à la fois beaucoup plus court et beaucoup plus dépendant du contexte propre à chaque organisation.

Infrastructures aujourd'hui

Cela signifie que toute compréhension de notre fonctionnement informatique actuel ne peut être qu'un instantané reflétant l'état de l'infrastructure informatique moderne à un moment donné. Et que contiendrait un tel instantané ? Les éléments clés pourraient ressembler à ceci :

  • Le nuage. Si l'infrastructure est constituée de logiciels reposant sur plusieurs couches d'abstraction, elle n'a aucune raison d'être liée à un ensemble particulier de serveurs ou de réseaux. Le cloud (qui est fondamentalement une couche d'abstraction de haut niveau) devient le niveau d'infrastructure le plus élémentaire avec lequel les développeurs interagissent. L'infrastructure qu'ils créent et gèrent est de fait entièrement virtualisée, qu'il s'agisse d'applications exécutées sur des machines virtuelles ou de conteneurs exécutés sur un système hôte virtualisé.
  • Virtualisation. La virtualisation est donc devenue incontournable, et nous commençons seulement à en saisir toutes les implications. Les systèmes d'exploitation existants ont été conçus à l'origine en tenant compte des contraintes matérielles ; nous n'avons pas encore vu de systèmes conçus sans aucune référence aux limites imposées par le matériel.
    Malgré les limites des systèmes d'exploitation actuels, le niveau de virtualisation devenu la norme permet de créer, de gérer et de détruire non seulement les applications, mais aussi les environnements dans lesquels elles existent, aussi facilement qu'un simple processus exécuté dans un système d'exploitation traditionnel.
  • Automatisation tout au long du processus. Si l'infrastructure est un logiciel, il est logique de la gérer comme n'importe quel autre logiciel : par l'automatisation. Il est également judicieux d'étendre cette automatisation à l'ensemble du pipeline de livraison de logiciels, que ce soit par le biais d'un système unique gérant tous les processus du pipeline ou par un ensemble de scripts se relayant les tâches selon les besoins.
    Traditionnellement, l'automatisation était souvent planifiée ; dans les infrastructures modernes, elle est généralement déclenchée par des événements. Cela offre une plus grande flexibilité et élimine les retards inutiles.
  • Livraison continue. Cette automatisation flexible et axée sur la réactivité conduit tout naturellement à une livraison continue ; s'il n'y a pas besoin d'intervention manuelle ni de retards dans le processus de livraison, il n'y a aucune raison pour qu'il ne soit pas continu.
    En réalité, les raisons d'une livraison non continue s'avèrent généralement être des artefacts liés à une infrastructure non virtualisée et à des pipelines de livraison non automatisés. L'élimination de la nécessité de composer avec les contraintes d'une infrastructure matérielle, combinée à la possibilité d'automatiser entièrement l'infrastructure virtualisée et logicielle, a rendu la livraison continue non seulement possible, mais inévitable. Cliquez ici apprendre à optimiser la livraison continue grâce à la gestion des incidents.

Alors, comment calculons-nous aujourd'hui ? Nous travaillons principalement dans un environnement virtualisé, isolé du matériel par de multiples couches d'abstraction. Notre processus de développement et de déploiement est continu et géré par une automatisation événementielle. À bien des égards, l'environnement informatique moderne est un monde virtuel, isolé du monde informatique traditionnel basé sur le matériel, au point que nombre des préoccupations qui dominaient l'informatique il y a encore quelques années sont devenues obsolètes.

Un demain virtuel ?

Si tel est le reflet de la situation actuelle, qu'en sera-t-il demain, dans cinq ou dix ans ? Impossible de le savoir avec certitude. Toute prédiction faite aujourd'hui paraîtra sans doute de plus en plus absurde avec le temps.

Voici d'autres prédictions. Il est probable que nous commencions seulement à percevoir les effets de l'affranchissement de l'environnement informatique virtuel des contraintes matérielles. Il est également probable que les frontières entre l'informatique virtualisée, la réalité virtuelle et le monde physique traditionnel s'estompent encore davantage. À bien des égards, le rythme d'évolution de l'informatique est aujourd'hui limité par notre capacité à assimiler les changements au fur et à mesure qu'ils surviennent et à exploiter pleinement les nouvelles capacités. Cependant, l'automatisation et l'intelligence artificielle vont probablement bouleverser la quasi-totalité des fonctions, des secteurs et des domaines, libérant ainsi de nouveaux potentiels d'efficacité et modifiant radicalement l'objet du travail.

La virtualisation de l'informatique et de nos expériences quotidiennes pourrait accélérer notre capacité à intégrer les changements futurs. Dans ce cas, l'informatique et la vie de demain nous seraient totalement méconnaissables si nous les apercevions dès maintenant, même si nous en serons probablement à la fois les créateurs et les acteurs. En transformant le monde, nous nous transformons nous-mêmes.