Une personne ayant passé l’essentiel de sa carrière dans les opérations IT à gérer des datacenters ne manquera pas d’énumérer, à juste titre, toutes les bonnes raisons qui font que les clouds privés présentent des avantages par rapport aux clouds publics, comme la fiabilité, l’évolutivité et la sécurité. Elle vous dira aussi qu'ils peuvent répondre à des normes plus élevées, car ils permettent un contrôle sur la sélection, le déploiement et la gestion de l'infrastructure. Pour un DSI, les avantages des clouds privés et de l’architecture multicloud hybride sont ailleurs. Celui-ci parlera plutôt de la variabilité des coûts du cloud public, de la nécessité de prendre en charge les systèmes existants pendant une période prolongée et de la réalité des contrats à long terme des datacenters.

Les DSI pro-datacenters et les développeurs pro-cloud pblic

De façon générale, les DSI d’entreprise savent mieux gérer les datacenters que les architectures de cloud public et ils veulent éviter le lock-in d’un fournisseur de cloud public, quel qu’il soit. Les grandes entreprises ne peuvent pas changer de stratégie au pied levé, et le DSI doit fixer des priorités en fonction de l'impact commercial et du délai de rentabilisation avant de se lancer dans la modernisation des applications. Comme l'a déclaré Keith Townsend, co-fondateur de The CTO Advisor, sur Twitter : « Le fait de transférer toutes mes applications Oracle sur Amazon RDS va-t-il générer une valeur commerciale nette, ou alors, n’ai-je pas intérêt à utiliser ces ressources pour créer de nouvelles applications et soutenir différentes initiatives commerciales, le problème étant qu’aujourd’hui, il s’agit des mêmes ressources ? »

Si l’on pose ces mêmes questions aux développeurs de logiciels, beaucoup d'entre eux répondront qu’ils préfèrent créer des applications qui se déploient dans les clouds publics et qui exploitent des architectures serverless. Ils peuvent ainsi automatiser le déploiement des applications avec du CI/CD, configurer l'infrastructure avec de l’Infrastructure as Code (IaC), et laisser le support de l'infrastructure de bas niveau au fournisseur de cloud public et aux autres fournisseurs de services gérant nativement du cloud.

Et une entreprise pourrait-elle standardiser ses opérations sur un seul cloud public ? Probablement pas. Les acquisitions peuvent introduire dans son activité des clouds publics qui sortent de ses pratiques, et de nombreuses applications commerciales ne fonctionnent que sur des clouds publics spécifiques. Autant dire qu’une entreprise a de fortes chances d’être multicloud, même si elle s'efforce de l'éviter. Alors, en quoi une architecture de cloud hybride peut apporter des avantages techniques par rapport à une architecture de cloud privé stricte ou à plusieurs clouds publics ? Les différents scénarios abordés ci-dessous tentent de répondre à cette question.

Architecture et stratégie multicloud hybride

De façon générale, les développeurs préfèrent souvent externaliser l'infrastructure et les services gérés connexes vers les clouds publics, alors que les opérations IT poussent à construire des clouds privés qui tirent parti de leur expertise et de l'infrastructure existante des datacenters. Dans les entreprises, les DSI doivent s'adapter aux réalités pratiques où se mêlent architecture multicloud hybride et pratiques opérationnelles. Pour bien comprendre la terminologie, le terme multicloud signifie que l’entreprise exploite plusieurs plates-formes de cloud, par exemple AWS et Azure. Et le terme multicloud hybride signifie que l’entreprise exploite un mix de clouds privés et publics et qu’elle doit orchestrer la connectivité et la sécurité entre eux. Un cloud privé peut soit fonctionner dans le datacenter de l’entreprise ou être hébergé chez un fournisseur de services.

Reste à savoir dans quel environnement déployer de nouvelles applications et moderniser les applications héritées ? Pour répondre à cette question, une collaboration entre les décideurs informatiques, les architectes, les développeurs et les ingénieurs s’impose afin d'examiner les meilleures pratiques et modèles d'architecture. Comme l'a déclaré le consultant Sarbjeet Johal, « l'objectif d'une stratégie multicloud hybride est de gagner en agilité tout en assurant la stabilité, en d'autres termes, de cibler la bonne charge de travail au bon endroit ». Selon le consultant, la consommation de cloud repose sur trois principes. Avec cependant de nombreuses exceptions : d’abord, ne jamais construire soi-même des systèmes d’enregistrement (SoR), mais provisionner un SaaS ; ensuite, s’appuyer sur un SaaS extensible (avec PaaS) pour les systèmes d'engagement/différenciation (SoE/SoD) ; enfin, utiliser les cloud publics pour les systèmes d'innovation (SoI).

Ces lignes directrices offrent quelques repères si l’entreprise choisit d’acheter et de configurer des solutions SaaS plutôt que de construire des applications en interne. De nombreux systèmes existants doivent demeurer dans le datacenter jusqu'à ce que des opportunités et des motifs commerciaux justifient leur modernisation. Mais dans certaines situations, les entreprises sont amenées à exécuter des applications dans des cloud privés pour des raisons de coût, de conformité, de sécurité et d'autres considérations opérationnelles. Enfin, Sarbjeet Johal suggère d'utiliser les cloud publics pour les applications porteuses d'innovation. Les développeurs peuvent les lancer sous forme de petits POC et d'expériences, utiliser les services cloud pour développer rapidement des fonctionnalités et faire évoluer l'infrastructure en fonction de l’usage. Ed Featherston, éminent technologue de Cloud Technology Partners, une entreprise de Hewlett Packard Enterprise (HPE), a une bonne idée de ce que peut être une stratégie de cloud hybride. Selon lui, « tout est affaire de compromis ». « L’entreprise doit définir ses priorités et les compromis acceptables pour atteindre son objectif. La conception et la planification sont encore nécessaires. Le fait de ne pas en tenir compte aboutit à des échecs de mises en œuvre ».

Mais notre confrère Isaac Sacolick, également développeur, voulait aller plus loin dans cette exploration. Il y a des milliers de raisons pour lesquelles il aurait choisi les clouds publics pour déployer de nouvelles applications et micro-services. Alors, dans quels cas est-il préférable de construire et de déployer de nouvelles applications ou de nouveaux services dans les clouds privés ? Pour le savoir, il a cherché des cas d’usage où les clouds privés permettaient d'obtenir des avantages techniques et concurrentiels au-delà des considérations opérationnelles.

Échapper à la gravité des données grâce à la proximité

Si vous étiez prêt à déployer un modèle de machine learning à grande échelle fonctionnant sur TensorFlow, vous pourriez supposer que la meilleure option est de le déployer dans un cloud public. Amazon SageMaker, Azure Machine Learning et TensorFlow Enterprise de Google Cloud Platform (GCP) sont autant d'options à la disposition des data scientists pour expérimenter, développer, tester et déployer des modèles d'apprentissage en production. L'une de ces options de cloud public est-elle optimale ? Il faut également savoir que le modèle nécessite un réapprentissage tous les 30 jours par rapport à un ensemble de données de plusieurs pétaoctets hébergé dans plusieurs entrepôts et lacs de données dans le datacenter de l'entreprise.

Est-il plus efficace et plus rentable de déplacer toutes ces données vers un cloud public pour entrainer le modèle d'apprentissage ? Ou est-il préférable d’entrainer ce modèle dans un cloud privé à proximité de l'endroit où se trouvent toutes les données ? Et si l’on configurait un système de contrôle basé sur une architecture pilotée par les événements ? Dans le cas d’une grande agence de publicité collectant des données comportementales à partir de dizaines de plates-formes SaaS, notre confrère préconiserait plutôt un déploiement dans un cloud public. Mais dans le cas d’un fabricant qui aurait besoin de gérer des événements provenant de milliers de capteurs IoT, et dont l’usine se trouverait dans une zone éloignée, en Amérique du Sud par exemple, la meilleure solution serait-elle aussi de déployer un cloud privé à la périphérie pour effectuer ce traitement des données ?

Ces exemples illustrent deux concepts importants quand on envisage des déploiements de clouds publics par rapport aux clouds privés. Le premier concept est celui de la gravité des données. Ce terme suggère que les grands ensembles de données ont une attraction gravitationnelle sur la consommation des applications et des services. Le déploiement de ces applications et services, à proximité des grands ensembles de données dont ils dépendent, leur permet de fonctionner plus rapidement, à moindre coût et de manière plus fiable. Le second concept est celui de la latence. Elle a son importance quand les opérations se déroulent dans des endroits éloignés, et que la sécurisation d'une large bande passante et d'une connectivité fiable n'est pas disponible ou coûteuse. Dans ces situations, le déploiement de clouds privés en périphérie offre des avantages en termes de performances et de coûts.

Quand la sécurité des personnes change l’approche

Étant donné que la plupart des applications de e-commerce bien architecturées peuvent fonctionner de manière fiable dans les cloud publics ou privés, la décision repose souvent sur le coût, la conformité et d'autres facteurs opérationnels. Il en va de même pour les nombreuses applications de workflows, d’analyses, de transactions et de collaborations. Mais si l’on introduit la sécurité des personnes dans le design des applications, le point de vue change rapidement. Les hôpitaux exigent que les systèmes médicaux fonctionnent sur site, car personne ne voudrait qu'une opération chirurgicale assistée par robot soit interrompue à cause d'une panne du cloud public. Les architectes de bâtiments et de villes intelligentes doivent envisager de répartir stratégiquement les services entre les clouds privés et publics, et cherchent très certainement à déployer des services vitaux selon des modèles hybrides.

Une architecture au croisement des mondes numérique et physique

Au cours de la prochaine décennie, de plus en plus d'applications serviront d’interface entre les mondes physique et numérique. Les architectes d'entreprise doivent envisager des architectures hybrides qui optimisent les paramètres des applications à la limite de ces deux mondes, notamment l'expérience utilisateur, les performances, la fiabilité, l'évolutivité et la maintenabilité. Todd Mazza, vice-président de l'architecture d'entreprise chez Rockwell Automation, a évoqué dans un tweet, les compromis à envisager. « Dans les cinq prochaines années environ, certains éléments de mon atelier de fabrication ne passeront probablement pas au cloud hybride ou public. Mais je pourrai peut-être passer à l'hybride plus rapidement si je peux démontrer que je suis en mesure de livrer plus de produits, de manière plus fiable, et à moindre coût ». L’importance de ces enjeux augmente alors que de plus en plus d’entreprises développent des applications qui tirent parti de l’IoT, de la 5G et de l'IA à l'échelle. Cela signifie qu’il faudra de plus en plus tenir compte de considérations relatives à l'architecture, au cloud et à l'infrastructure au moment de la conception des applications. On a peu de chance de se tromper si l’on décide d’implémenter une preuve de concept ou une application mobile légère sur un cloud public. Par contre, des applications plus critiques, vitales et gourmandes en données nécessiteront probablement des déploiements hybrides multicloud.