Recherche de site Web

Ce que les développeurs cloud doivent savoir sur le matériel


Le cloud est partout, le matériel est donc plus critique que jamais.

Il est facile d’oublier les progrès réalisés par les spécialistes de la technologie. Au début des années 2000, la plupart des groupes d’utilisateurs locaux organisaient régulièrement des festivals d’installation. À l'époque, pour configurer une seule machine afin qu'elle exécute correctement Linux, nous devions connaître des détails intimes sur le matériel et comment le configurer. Aujourd'hui, près de vingt ans plus tard, nous représentons un projet dont l'idéal principal est de rendre l'exécution de Linux sur un seul ordinateur aussi simple qu'un appel API. Dans ce nouveau monde, les opérateurs et les développeurs n’ont plus à se soucier du matériel de leurs serveurs. Ce changement a eu un impact profond sur la prochaine génération d’opérateurs et de développeurs.

Au début de la technologie informatique, il fallait fréquemment mettre la main sur le matériel. Si un ordinateur avait besoin de plus de mémoire, il vous suffisait de l'ajouter. Au fil du temps, la technologie a également considérablement évolué. Cela a fini par éloigner l’opérateur du matériel. Ce qui était autrefois un voyage au centre de données est désormais un ticket d'assistance pour avoir la main à distance sur le matériel. Finalement, le matériel a été complètement éliminé. Au lieu de cela, vous invoquez et détruisez désormais des « serveurs » avec des commandes simples et vous n'avez plus à vous soucier du matériel.

Voici la vraie vérité : le matériel existe parce qu’il est nécessaire pour alimenter les nuages. Mais qu’est-ce qu’un cloud, vraiment ?

Pourquoi le matériel est essentiel au cloud

Un cloud est une centralisation de ressources fondamentales fondée sur l'utilisation d'abstractions. Cela peut aller du simple hyperviseur exécutant quelques machines virtuelles dans votre laboratoire domestique à des niveaux de complexité incluant des serveurs personnalisés, des équipements réseau, des conteneurs et une technologie conçue dès le départ pour se concentrer sur l'efficacité à grande échelle.

Ils sont nébuleux. Ils évoluent.

Ceux qui se lancent aujourd’hui dans la technologie n’ont pas les mêmes expériences pratiques que les développeurs plus expérimentés. Beaucoup sont formés à l’utilisation du cloud dès leurs premières interactions avec les ordinateurs. Ils ne connaissent pas un monde sans bouton pour modifier l’allocation de mémoire. Ils peuvent attirer leur attention sur les niveaux supérieurs de la pile technologique. Pourtant, sans comprendre les fondations sur lesquelles repose l’infrastructure qu’ils utilisent, ils abandonnent implicitement la possibilité d’apprendre les niveaux inférieurs de la pile, y compris le matériel. Il n'y a aucune faute ici car le réalisateur et l'opérateur de l'infrastructure cloud ont fait des choix spécifiques pour rendre intentionnellement leurs produits plus faciles à utiliser.

Cela signifie que maintenant, plus que jamais, vous devez réfléchir intentionnellement aux compromis que vous faites – ou que d’autres font – lorsque vous choisissez d’utiliser les technologies cloud. La plupart des gens ne sauront pas quels compromis ont été faits jusqu'à ce qu'ils reçoivent leur première facture cloud surdimensionnée ou leur première panne causée par un « voisin bruyant ». Les entreprises peuvent-elles faire confiance à leurs fournisseurs pour faire les compromis les plus adaptés à leurs opérations ? Les fournisseurs proposeront-ils des services plus efficaces ou plus rentables ? Que l’acheteur (ou l’ingénieur !) se méfie.

[ Lecture connexe 5 choses que les développeurs open source devraient savoir sur les fournisseurs de services cloud ]

Réfléchir intentionnellement aux compromis nécessite d’examiner vos exigences et vos objectifs sous plusieurs angles. Les décisions en matière d'infrastructure et les compromis qui y sont associés sont inhérents au processus global, à la conception ou au modèle d'utilisation de ce projet. C'est pourquoi ils doivent être planifiés le plus tôt possible. Plusieurs chemins différents doivent être envisagés afin de trouver à votre projet une bonne maison.

Il y a d’abord l’axe du but à atteindre, ou du service rendu. Cela peut s’accompagner d’exigences en matière de vitesse, de qualité ou de performances. Cela peut en soi entraîner un certain nombre de variables. Vous aurez peut-être besoin de matériel spécialisé tel que des GPU pour traiter une demande avec une vitesse acceptable. Cette charge de travail devra-t-elle évoluer automatiquement ou non ? Bien entendu, ces chemins sont étroitement liés. La question passe déjà à « Mon portefeuille va-t-il évoluer automatiquement ? »

Les exigences commerciales sont un autre élément à prendre en compte. Votre projet peut avoir des exigences spécifiques en matière de sécurité ou de conformité qui dictent l'emplacement de stockage des données. La proximité des services connexes constitue également une préoccupation potentielle. Cela inclut la garantie d'une connexion à faible latence à une bourse à proximité ou la capacité de fournir un cache vidéo local de haute qualité dans le cadre d'un réseau de diffusion de contenu.

Il y a ensuite la dernière partie qui concerne la valeur et le coût du service fourni – combien on souhaite ou peut dépenser pour répondre aux exigences. Ceci est étroitement lié au premier chemin. Le « ce qu'est » votre entreprise et le « comment » votre entreprise fonctionne. Cela peut être quelque chose d'aussi banal que de savoir si votre entreprise préfère les CapEx aux OpEx.

[Lire également Services cloud : 4 façons de tirer le meilleur parti de vos dépenses engagées ]

En examinant ces options, il est facile de voir comment la modification d’une variable peut commencer à modifier les autres variables. Elles sont intrinsèquement liées et certaines technologies peuvent permettre à ces variables d’évoluer de manière dynamique. Sans comprendre les couches inférieures du substrat, vous risquez d’emprunter des voies qui favorisent ce modèle de facturation dynamique. Pour certains, c’est préféré. Pour d’autres, cela peut être redouté.

Même si l’apprentissage de connaissances spécifiques au matériel est devenu plus facultatif dans les piles technologiques modernes, nous espérons que cet article vous a encouragé à examiner ce que vous pourriez manquer sans même le savoir. Les améliorations matérielles ont joué un rôle important dans la fourniture de fonctionnalités et les gains d'efficacité, réduisant les ordinateurs de monstruosités de la taille d'une pièce à des ordinateurs suffisamment petits pour être implantés dans un être humain. Nous espérons que vous prendrez le temps de vous arrêter, d'apprendre et de réfléchir à la plate-forme matérielle sur laquelle votre prochain projet sera exécuté, même si vous ne le contrôlez pas.

Si vous êtes un étudiant qui n'a pas encore sorti la tête des nuages, allez chercher un vieil ordinateur, installez une clé de RAM et mettez-vous au défi d'apprendre quelque chose de nouveau.

Articles connexes: