Accéder au contenu
Cloud hybride & multi-cloud

Donnez-vous les moyens : Réussir dans un environnement distribué multicloud

17 janvier 2021
https://storage.googleapis.com/gweb-cloudblog-publish/images/Screenshot_2021-01-19_at_6.56.27_PM.max-1500x1500.jpg
Richard Seroter

Chief Evangelist at Google Cloud

Essayer GCP

Les nouveaux clients peuvent explorer et évaluer Google Cloud avec des conditions exceptionnelles.

Essayer

Pourquoi utilisons-nous plus d'une solution pour répondre à un besoin donné ? Parfois, c'est parce que nous n'avons pas le choix. Par exemple, tous mes actifs financiers ne sont pas regroupés au même endroit, car le compte de retraite ouvert par mon employeur en mon nom n'est pas rattaché à la même institution financière que mon compte personnel. D'autres fois, nous prenons volontairement la décision de nous diversifier. Je pourrais acheter tous mes vêtements dans un même lieu, mais en fonction de mes goûts et des circonstances ou simplement pour des questions pratiques, j'achète mes chaussures dans un magasin (et souvent, différentes paires de chaussures dans différents magasins), mes tee-shirts dans un deuxième et mes manteaux dans un troisième.

Cela vous rappelle le service informatique de votre entreprise ? Selon la dynamique de votre organisation, vos anciens choix technologiques et les demandes actuelles de vos clients, je suis prêt à parier que vous avez recours à plusieurs solutions pour chaque problème donné. On observe une situation similaire concernant l'utilisation des clouds publics : les statistiques montrent que la plupart des entreprises font appel à plus d'un fournisseur.

Cependant, tous les clouds publics ne se valent pas. Ils partagent évidemment certains points communs : chacun propose des ressources de calcul virtuel, de stockage et de mise en réseau, ainsi que des services de middleware comme une messagerie. Ce qui les différencie, ce sont les services novateurs qu'ils sont les seuls à offrir, ainsi que la région géographique dans laquelle ils opèrent. Certains de ces clouds proposent des fonctionnalités hybrides, de souveraineté des données ou de sécurité qui leur sont propres. Par ailleurs, l'expérience utilisateur (par exemple, les outils pour les développeurs, les portails Web ou les fonctionnalités d'automatisation) n'est pas toujours la même, et les équipes de votre entreprise peuvent se diviser sur ce point.

Même s'il est de plus en plus courant d'utiliser plusieurs clouds, ce n'est pas facile à mettre en place. En effet, il existe différents outils et paradigmes à adopter, et diverses compétences à acquérir. Mais n'ayez crainte, vous n'avez pas besoin de former vos développeurs aux spécificités de chaque cloud, ni de faire passer la valeur ajoutée que vous proposez à vos clients au second plan. Cependant, vous devez faire en sorte que vos équipes techniques soient prêtes à exploiter pleinement le multicloud. Alors, quel est votre rôle en tant que responsable de ces équipes techniques ? Vous trouverez dans cet article certains conseils avisés pour choisir la meilleure façon d'adopter le multicloud. Et n'oubliez pas : il n'existe pas de solution universelle. Vous devez trouver la solution la plus adaptée à votre entreprise à l'instant T.

Concentrez-vous sur les compétences transférables

Vos logiciels ne sont pas définis par le cloud que vous choisissez. Je ne devrais probablement pas dire cela, sachant que je travaille pour un fournisseur de cloud public, mais c'est la vérité. La plupart des éléments qui font un bon logiciel ne se limitent pas à la cible de déploiement.

Voici les compétences en développement logiciel qui comptent vraiment :

● Approfondissez vos connaissances dans un ou plusieurs langages de programmation afin d'écrire du code efficace, modifiable et testable.

● Optimisez votre environnement de développement, y compris votre IDE, vos bacs à sable de test et votre flux de contrôle source.

● Apprenez à utiliser un framework d'interface comme Angular ou Flutter.

● Étudiez les cas d'utilisation pour savoir quand opter pour une base de données relationnelle ou pour une base de données sans schéma.

● Identifiez les meilleures façons d'empaqueter les applications, y compris comment utiliser les conteneurs.

● Actualisez vos connaissances sur l'architecture des microservices, des micro-interfaces, du traitement par flux d'événements, de la JAMstack, des API et du maillage de services.

● Informez-vous sur la façon de construire un pipeline d'intégration continue complet qui offrira un retour rapide à votre équipe.

Ces connaissances à la fois précieuses et transférables n'ont pas grand-chose à voir avec le cloud que vous décidez d'utiliser.

Ne vous méprenez pas : vous devez tout de même acquérir des compétences en lien avec des services cloud novateurs. Chaque cloud ayant ses spécificités, il existe des différences justifiées en ce qui concerne les processus d'authentification, de provisionnement et d'utilisation de chacun de ces services puissants. C'est pourquoi une application optimisée pour un cloud s'exécutera plus difficilement sur un autre. Pensez donc à faire votre choix en fonction de vos logiciels et de vos clients. Les clouds publics existent pour vous rendre service, et non le contraire.

Utilisez une TVP pour tous vos environnements

Trop souvent, les entreprises mettent en place des plates-formes lourdes et opaques avec l'espoir que leurs développeurs les utiliseront. Il s'agit pourtant d'un anti-modèle, et une meilleure façon de procéder commence à s'imposer.

Les auteurs du livre Team Topologies présentent le concept de TVP (Thinnest Viable Platform, soit la plate-forme la plus minimaliste possible) comme solution pour accélérer le développement. De nombreuses entreprises font de Kubernetes le point de départ de leur TVP, car il offre une API complète et performante pour leurs charges de travail conteneurisées. Il semble logique d'ajouter Knative à cette TVP pour proposer aux développeurs une interface centrée sur les applications qui masque la complexité sous-jacente de Kubernetes. Vous pouvez ensuite intégrer un maillage de services au cluster afin que les développeurs n'aient pas besoin de rédiger de code centré sur l'infrastructure (par exemple, équilibrage de charge côté client, détection de services, nouvelles tentatives, ruptures de circuit, etc.). (Vous remarquerez d'ailleurs que si vous combinez ces éléments et que vous en ajoutez quelques-uns, vous obtenez Anthos, si vous voyez ce que je veux dire.)

Ce qui est vraiment intéressant, c'est le fait d'avoir une plate-forme de base composée d'éléments Open Source standards. Pas simplement Open Source, mais bien Open Source standards. Vous savez, il s'agit de ces projets qui sont compatibles avec un vaste écosystème de solutions et s'y intègrent parfaitement : Kubernetes, Istio, Envoy, Tekton, packs de création cloud natifs, et j'en passe. Ainsi, vous avez la possibilité d'exécuter une plate-forme identique sur l'ensemble de vos cibles de déploiement, et d'intégrer des infrastructures et services de pointe. Vos développeurs peuvent alors se concentrer sur les fonctionnalités à valeur ajoutée de chacun de vos environnements sans se préoccuper des fondations sur lesquelles ils reposent.

Choisissez un cloud (et des services) en fonction des besoins de votre application

Récapitulons : vous vous concentrez sur l'acquisition de compétences transférables, et vous disposez d'une plate-forme de base qui vous permet d'exécuter votre logiciel simplement et de manière cohérente dans tous les environnements. Vous devez maintenant choisir l'emplacement d'exécution du logiciel.

Il est possible que vos développeurs créent un logiciel indépendant du cloud pouvant être exécuté dans n'importe quel environnement. Ce n'est pas une mince affaire, mais si c'est le cas, ils n'auront pas de décision difficile à prendre en amont. Voici quelques exemples de cas dans lesquels vous avez besoin de connaissances préalables sur l'environnement cible :

● Votre application repose sur des fonctionnalités uniques (pour l'IA, le traitement des données ou l'IoT) ou des API spécifiques à des secteurs d'activité (par exemple, les médias ou la santé).

● Votre application doit être hébergée dans une zone géographique particulière, et vous devez donc choisir un cloud, un centre de données ou un site partenaire spécifique.

● Votre application doit se trouver à côté d'une source de données spécifique (par exemple, un système SaaS, les centres de données d'un partenaire ou des utilisateurs mobiles), et vous devez donc choisir l'hôte le plus proche.

Vous devez mettre en place un arbre de décision éprouvé afin d'aider vos équipes à choisir entre des services novateurs ou courants, et à identifier le cloud le plus adapté à leur charge de travail. Vous pourriez avoir besoin de l'aide d'un expert pour choisir le cloud et les services adéquats. Si c'est le cas, contactez les experts Google, ou collaborez avec notre vaste réseau de partenaires talentueux qui pourront vous donner des conseils avisés pour effectuer votre transition. La balle est dans votre camp.

Publié dans