Dans un contexte où les entreprises ont recours à des clouds issus de différents fournisseurs – ce chiffre pouvant aller jusqu’à huit clouds pour certaines entreprises -, l’objectif est de garantir que, d’ici 2023, 94% des grandes entreprises soient capables d’effectuer leurs tâches sur une multitude de clouds distincts.
L’approche « multicloud » offre des bénéfices certains puisque, grâce à ses nombreuses offres de services de qualité, les développeurs peuvent continuer à innover et à soutenir la compétitivité et la résilience des entreprises.
Cependant, opter pour une stratégie multicloud présente également certains inconvénients. Un assemblage de différents clouds peut s’avérer complexe à gérer et à sécuriser ; sans parler des coûts considérables que peut entraîner l’harmonisation de toutes ces plateformes.
Il est recommandé d’attribuer des compétences et des connaissances à des clouds spécifiques, ou de les distribuer sur l’ensemble des clouds, même si cela peut entraîner une distribution inefficace des ressources.
Il est également important de suivre les dépenses liées à chaque plateforme pour s’assurer que le rapport qualité-prix est satisfaisant, ce qui peut devenir un exercice d’analyse important.
Alors, comment se positionner face à un tel paradoxe ?
La solution consiste à revoir la manière dont les applications sont développées, en les considérant comme une plateforme intégrale gérée par une seule console plutôt que comme un ensemble de composants techniques (tels que des clusters, des conteneurs, Kubernetes ou des maillages de services). Grâce à cette démarche, les employés non techniques peuvent facilement avoir accès à l’univers du DevSecOps et prendre des décisions commerciales éclairées en disposant des informations opérationnelles nécessaires.
L’attribution du budget est un élément crucial pour réussir une stratégie multicloud, car il n’y a pas de méthode universelle pour gérer les clusters exécutés sur différents clouds. Il est nécessaire de respecter des règles et des processus spécifiques pour chaque cloud, tels que l’approvisionnement, les accords de niveaux de service, les systèmes d’exploitation, les « patch cycles » (cycles de correction), les types de stockage et les systèmes de mise en réseau. Les outils utilisés sont également susceptibles de varier, ce qui complique la tâche de savoir où les coûts sont réellement engagés et quelle sera la rentabilité du projet, et ce, à mesure que l’entreprise se développe. Le risque ici est de ne pas détecter les zones de dépenses excessives ou de sous-dépenses, et de les délaisser.
De l’intérêt d’une plateforme unifiée d’applications
En revanche, la vue d’ensemble unique de tous les clusters que procure une même plateforme d’applications (NDLR : telle que Red Hat OpenShift) facilite l’identification des coûts et des éventuelles dépenses à optimiser. Lorsqu’une plateforme est en mesure d’agréger et d’augmenter les capacités des différents clouds, cela permet de réduire le gaspillage et de simplifier la mise en place de clusters normalisés et ciblés, qui n’utilisent que les données pertinentes pour chaque tâche. Les développeurs peuvent alors se concentrer sur la création d’applications complètes et performantes, sans être entravés par le processus de configuration, et d’apporter ainsi plus de valeur à l’entreprise.
Regrouper les workloads multicloud sur une plateforme commune peut aider à gérer la mise en conformité, une question sensible de nos jours alors que les données sont fortement réglementées en entreprise. Il est important de trouver un juste équilibre entre la liberté accordée aux développeurs et la nécessité d’une connaissance approfondie des données manipulées. Cela s’applique également à la question de la sécurité, car une configuration multicloud peut amplifier la surface d’attaque potentielle et compliquer la détection des vulnérabilités. Ainsi, protéger l’ensemble de l’infrastructure représente un véritable défi lorsque de nombreux domaines indépendants doivent être sécurisés, plutôt qu’un seul.
Dans un environnement multicloud, les plateformes d’applications jouent un rôle clé dans l’assurance de la conformité et de la sécurité. Grâce à la centralisation des politiques et des protocoles de sécurité, ces dernières aident à maintenir des normes cohérentes à travers les différents environnements cloud. L’importance de rendre visible ces données n’est pas seulement liée aux exigences de conformité, mais peut également être utilisée par les développeurs pour optimiser les flux de données entre les API. Une alternative récurrente est la mentalité « shift-left », qui inclut les considérations de sécurité lors de l’écriture du code par les développeurs. Cela permet d’accroître le time to market ainsi que l’agilité, et de fournir des caractéristiques fondamentales liées à la création d’applications modernes telles que la coopération, la réitération et la disponibilité.
La stratégie d’une organisation progresse du multicloud à un cloud hybride en incorporant cette fusion et cette orchestration entre les clouds. La croissance de l’edge computing contribue à renforcer les avantages du cloud hybride. Leur interaction forme un environnement varié et complexe. Les dispositifs en périphérie sont habituellement conçus avec l’objectif de remplir une mission bien précise et sont donc souvent fournis par plusieurs fournisseurs, ce qui peut introduire une certaine dose de chaos. Néanmoins, rassembler toutes les fonctionnalités sur une plateforme d’applications évolutive confère une cohérence et une souplesse propices à l’innovation.
Lorsque votre paysage informatique inclut des éléments sur site, la stratégie pour moderniser les applications existantes reste similaire. Les entreprises font face à des choix complexes pour mettre à jour ces applications. Utiliser une couche d’abstraction commune permet de rendre interopérables entre eux les environnements sur site et dans le cloud, contribuant à faciliter le processus de « lift and shift » ou le remaniement d’éléments spécifiques du code.
Toutefois, il est important de prendre conscience qu’une plateforme d’applications est un patchwork de différents protocoles et capacités. Les équipes informatiques peuvent ne pas avoir les ressources nécessaires pour construire une plateforme à partir de zéro et devoir réaliser d’importants investissements, s’accompagnant inévitablement de risques. De plus, la rapide évolution liée au DevOps signifie que toute plateforme doit être constamment mise à jour et améliorée afin de rester efficace.
Plutôt que de créer leur propre plateforme d’applications, les entreprises peuvent faire appel à des partenaires technologiques pour les aider à exploiter les nouvelles opportunités offertes par la technologie. En laissant plus de ressources disponibles pour le développement de première ligne, et moins à l’ingénierie back-end, l’efficacité de l’entreprise peut être améliorée, renforçant ainsi sa compétitivité sur le marché.
____________________________
Par Udo Urbantschitsch, senior director, EMEA Technology Sales & GTM, Red Hat