Comment nous calculons aujourd'hui : à quoi ressemble l'infrastructure moderne
L'infrastructure informatique d'aujourd'hui n'est pas celle de nos grands-parents, ni celle d'il y a une génération. L'époque des cartes perforées, des tubes à vide, des mémoires à noyau de ferrite, des disquettes et de l'accès Internet par ligne commutée est révolue.
L'infrastructure informatique d'aujourd'hui n'est plus celle d'il y a cinq ans, ni même d'il y a un an. L'infrastructure moderne évolue constamment, et tout ce que nous pouvons faire, c'est fournir un aperçu de l'infrastructure actuelle, ainsi qu'une image générale de son évolution.
Si vous souhaitez surveiller efficacement l’infrastructure, vous devez comprendre à quoi ressemble l’infrastructure aujourd’hui, comment elle évolue et ce qu’elle comprendra demain.
Matériel : Moins de Moore
Commençons par faire une distinction de base : l'infrastructure matérielle est relativement stable (avec un fort accent sur le mot « relativement »), et se trouve dans un état de semi-stabilité depuis quelques années. Bien que toute spéculation sur la loi de Moore il est prématuré d'atteindre la fin de la ligne, 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 du processeur et la capacité de la RAM (le stockage de masse pourrait être une autre histoire).
Logiciel : le changement est naturel
Cette stabilisation signifie que les changements les plus importants et les plus substantiels dans l'infrastructure informatique ont eu lieu du côté des logiciels. Cela n'a rien de surprenant, car dans une large mesure, l'infrastructure moderne est constituée de logiciels. Les réseaux définis par logiciel, les machines virtuelles, les conteneurs et autres signifient qu'aujourd'hui, la frontière entre le matériel et le logiciel est assez floue.
Le fait que l’infrastructure informatique puisse être considérée en grande partie comme un logiciel est en soi un élément clé de l’informatique moderne, et cela ne devrait pas surprendre. Après tout, le matériel est fondamentalement un cadre, une structure conçue pour rendre les choses possibles. Ce que l’on fait de ces possibilités peut faire toute la différence.
Libéré du décalage matériel
Le passage à une infrastructure logicielle a des conséquences qui vont bien au-delà d’un simple changement de plateforme. D’une part, le matériel lui-même impose un sérieux décalage dans le rythme du changement. Le remplacement ou la mise à niveau des serveurs physiques, des réseaux et des périphériques est coûteux et prend du temps, c’est pourquoi de nombreuses entreprises ont traditionnellement attendu que cela soit manifestement nécessaire (ou même plus tard) avant de procéder à de tels changements. Ce décalage peut n’être qu’une question de quelques années, mais il a généralement affecté le niveau logiciel, ainsi que le matériel d’infrastructure lui-même, en imposant la nécessité de s’adapter à la fois au matériel existant et aux logiciels existants qu’il nécessite.
Dans les infrastructures logicielles modernes, les logiciels d'application et les éléments qui composent l'infrastructure sont isolés de la plupart (sinon de tous) des éléments matériels sous-jacents, souvent par plusieurs couches d'abstraction. Tant que le matériel peut prendre en charge les exigences de la couche d'abstraction, l'infrastructure elle-même est désormais largement exempte de tout retard imposé par le matériel.
Facteurs « doux »
Par conséquent, le rythme de changement des infrastructures et des logiciels d’application est désormais déterminé par d’autres facteurs, tels que la culture organisationnelle et les limites pratiques de la vitesse de conception et de développement des logiciels. Ces facteurs sont généralement « souples » et le type de décalage qu’ils ont tendance à imposer est à la fois beaucoup plus court et beaucoup plus dépendant des conditions qui prévalent au sein d’une organisation spécifique.
L'infrastructure aujourd'hui
Cela signifie que toute compréhension de la manière dont nous calculons aujourd’hui ne peut être qu’un instantané qui capture l’état de l’infrastructure informatique moderne à l’instant présent. Et que contiendrait un tel instantané ? Les éléments clés pourraient ressembler à ceci :
- Le nuage. Si l’infrastructure est un logiciel reposant sur plusieurs couches d’abstraction, il n’y a aucune raison pour qu’elle soit liée à un ensemble particulier de serveurs ou de réseaux. Le cloud (qui est en fait une couche d’abstraction de haut niveau) devient le niveau d’infrastructure le plus fondamental avec lequel les développeurs interagissent. L’infrastructure que les développeurs créent et gèrent est en effet entièrement virtualisée, qu’elle soit constituée 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 une évidence et nous commençons seulement à comprendre les implications de ce fait. Les systèmes d'exploitation existants ont été conçus à l'origine autour des contraintes imposées par le matériel ; nous n'avons pas encore vu de systèmes conçus complètement sans référence aux limites imposées par le matériel.
Cependant, même compte tenu des limites des systèmes d’exploitation actuels, le niveau de virtualisation devenu standard signifie que non seulement les applications mais aussi les environnements dans lesquels elles existent peuvent être créés, gérés et détruits aussi facilement qu’un simple processus exécuté dans un système d’exploitation traditionnel. - Automatisation à travers le pipeline. Si l’infrastructure est un logiciel, il est logique de la gérer de la même manière que vous géreriez d’autres types de logiciels, c’est-à-dire par l’automatisation. Il est également logique d’étendre cette automatisation à l’ensemble du pipeline de distribution de logiciels, que ce soit sous la forme d’un système unique pour gérer tous les processus du pipeline ou d’un ensemble de scripts qui se répartissent les tâches en fonction des besoins.
Traditionnellement, l'automatisation est souvent pilotée par des plannings. Dans les infrastructures modernes, elle est généralement pilotée par des événements. Cela permet une plus grande flexibilité et élimine les retards inutiles. - Livraison continue. Une telle 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 ou de retard dans le processus de livraison, il n'y a aucune raison pour qu'elle ne soit pas continue.
En fait, les raisons de la livraison non continue se révèlent généralement être des artefacts d'infrastructures non virtualisées et de pipelines de livraison non automatisés. L'élimination de la nécessité de s'adapter aux contraintes d'une infrastructure matérielle, combinée à la capacité d'automatiser entièrement l'infrastructure virtualisée basée sur des logiciels, a rendu la livraison continue non seulement possible, mais inévitable. De plus, Cliquez ici pour apprendre à optimiser la livraison continue avec la gestion des incidents.
Comment calculons-nous aujourd'hui ? Nous calculons en grande partie dans un environnement virtualisé et isolé du niveau matériel par plusieurs couches d'abstraction. Notre pipeline de développement et de déploiement est continu et géré par une automatisation pilotée par les événements. À bien des égards, l'environnement informatique moderne est un monde virtuel, isolé du monde informatique traditionnel basé sur le matériel, à tel point que bon nombre des préoccupations qui dominaient l'informatique il y a quelques années à peine sont devenues sans importance.
Un avenir virtuel ?
Si c'est un aperçu d'aujourd'hui, à quoi ressemblera la situation demain, ou dans cinq ou dix ans ? Il n'y a évidemment aucun moyen de le savoir. Toute prédiction faite aujourd'hui risque de paraître de plus en plus absurde au fil du temps.
Mais voici d’autres prédictions. Il est probable que nous commencions seulement à voir les effets de la libération de l’environnement informatique virtuel des contraintes imposées par le matériel. Il est également probable que les distinctions entre informatique virtualisée, réalité virtuelle et monde traditionnel de l’expérience physique s’estomperont encore davantage. À bien des égards, le rythme de changement de l’informatique actuelle est limité par notre capacité à assimiler les changements au fur et à mesure qu’ils se produisent et à exploiter pleinement les nouvelles capacités au fur et à mesure de leur développement. Mais les capacités d’automatisation et d’intelligence vont probablement bouleverser presque toutes les fonctions, verticales et domaines, libérant de nouveaux potentiels d’efficacité et modifiant radicalement l’orientation du travail des gens.
Il est possible que la virtualisation de l’informatique et des expériences quotidiennes augmente la vitesse à laquelle nous pouvons assimiler les changements futurs. Si tel est le cas, l’informatique et la vie futures en général pourraient nous être complètement méconnaissables si nous les entrevoyions aujourd’hui, même si nous sommes susceptibles d’en être à la fois les créateurs et les acteurs. En changeant le monde, nous nous changeons nous-mêmes.