Un de nos Architecte Cloud & DevOps accompagne notre client, un acteur majeur du secteur financier en France, dans la transformation de solutions on-premise vers le Cloud.
J’ai intégré l’équipe de gouvernance Cloud créée en 2018, à l’initiative du programme Cloud First. Notre mission est d’instaurer toutes les lignes directives du Cloud public pour toutes les filiales du client. Nous avons actuellement quatre projets en production, et d’autres projets sont en cours.
J’occupe le poste du Coach Cloud : j’aide à définir l’infrastructure et l’architecture cible qui répond à un besoin spécifique du client, pour, par la suite, accompagner les équipes opérationnelles du projet. Je suis dans une position à la fois de conseil et d’implémentation.
Les challenges et les enjeux du Client
Avant le Cloud, notre client travaillait sur des infrastructures On-premises, Legacy. Le Cloud public était quelque chose de nouveau pour eux. Ils avaient besoin d’avoir une vision claire, et d’un conseil stratégique, pour savoir s’ils étaient sur la bonne voie et pour pouvoir avancer.
Notre équipe est en charge du :
- Build : il s’agit de construire le socle technique de base sur le Cloud pour les métiers
- Run : c’est assurer l’exploitation Cloud par le traitement des incidents, gestion des accès et le maintien en condition opérationnelle de toute la plateforme.
- Accompagnement : Accompagnement des projets dans leur migration et ce par l’aide aux choix techniques et aux orientations cloud.
- Gouvernance : Maintien du catalogue de service et la définitions des orientations Cloud pour le groupe
Un des challenges les plus importants était d’assurer la sécurité du Cloud. Dans le secteur bancaire, il y a plusieurs réglementations concernant la confidentialité des données et leur classification.
Nous devons donc assurer un niveau très élevé de sécurité sur toutes les briques constituant les solutions dans le Cloud et ce en couplant avec les outils interne déjà utilisés chez le client et le Cloud.
Les solutions d’Agyla.cloud
Pour chaque projet, notre équipe doit d’abord définir si le projet peut s’opérer sur le Cloud. Si cela est possible, on accompagne le client sur deux volets :
- Sur le volet conseil
- Sur le volet opérationnel.
Chaque projet passe par plusieurs phases : conception, développement, qualification, et ensuite production.
Sur le volet opérationnel, et donc d’architecture, nous rencontrons les Business Units (BUs) : le chef du projet et l’équipe métiers. Ils nous expriment leurs besoins fonctionnels, leurs souhaits et contraintes :
- de sécurité
- de coûts
- d’interopérabilité de la solution avec l’écosystème du client.
Je travaille avec l’architecte du projet pour définir l’architecture cible qui va répondre aux limitations et aux besoins fonctionnels des métiers.
Un travail en amont est assuré pour évaluer tout aspect sécurité de cette architecture et du projet en général : classification, intégrité, confidentialité et preuve de la donnée.
A l’issue de cette phase de design, c’est un travail d’accompagnement opérationnel avec toutes les équipes qui s’enchaine dans un cycle agile et en perpétuel développement et optimisation : développement, sécurité, FinOps et automatisation
Les sujets Cloud amènent de nouveaux paradigmes qui ne sont parfois pas évident à assimiler et adopter par les équipes. Dans ce sens, nous accompagnons aussi ces équipes dans la conduite du changement. Nous les aidons à mieux développer directement sur la plateforme Cloud, à développer en microservices, et à utiliser les APIs du Cloud, pour pouvoir bénéficier de toutes les capacités du Cloud et apporter de la valeur ajoutée aux projets.
Nous travaillons dans le cadre d’une culture DevOps où tous les silos sont cassés et où la communication développeurs/exploitants est fluide, tester et livrer rapidement est donc un vrai atout pour le client.
Ceci s’est rendu possible grâce à une chaîne CI/CD full automatisée et sécurisée (cheers DevSecOps 😉 ). Ainsi, les développeurs n’ont plus besoin d’attendre les exploitants ou les recommandations sécurité en fin de cycle: ils peuvent déployer leur code automatiquement pour réaliser des tests, avant même d’arriver à la fin de la phase de développement.
Nous accompagnons les Ops dans la définition des procédures d’exploitation, et nous les testons pendant ce que l’on appelle les Gamedays : une fois que les métiers auront fini de tester, pendant quelques jours, nous allons injecter des pannes dans la plateforme, pour faire dérouler les procédures d’exploitation.
Ainsi nous arrivons à aligner toutes les équipes autour d’un objectif commun, celui de livrer des produits de qualité irréprochable et avec une véritable valeur ajoutée.
Technologies et applications Cloud AWS utilisées
Je travaille à la fois avec des services PaaS, IaaS, ainsi qu’avec un volet Serverless.
Sur tous les projets, j’ai principalement travaillé avec des services PaaS. C’est là où l’on trouve de la valeur ajoutée pour le client, parce qu’il n’a pas à gérer un parc informatique avec des serveurs et toutes les problématiques qui tournent avec. Notre stratégie est PaaS d’abord, et s’il n’est pas possible d’utiliser du PaaS, nous utilisons du IaaS.
Sur les trois projets en cours, j’utilise AWS Elastic Beanstalk. Cela nous permet d’avoir un PaaS qui tourne sur un moteur de développement, par exemple du PHP ou du Java, et qui est prêt à l’emploi.
Nous avons également paramétré plusieurs services de sécurité sur AWS, à savoir :
- AWS Config
- AWS CloudTrail
- VPC Flow Logs.
En ce qui concerne l’accès des utilisateurs, nous avons mis en place un système de fédération qui doit approuver chaque utilisateur lors de sa connexion à la plateforme AWS. Cela est fait à travers des identités et des groupes de sécurité.
Les résultats de notre travail, les avantages pour le client
Grâce aux solutions mises en place, notre client a réalisé un gain important en termes d’agilité, de rapidité et de sécurité.
Tout d’abord, nous avons le bénéfice de l’agilité. Le time-to-market est réduit et devient beaucoup plus intéressant, comparé à ce que l’on peut avoir en interne. L’amélioration de l’infrastructure et de l’architecture est beaucoup plus facile sur le Cloud. En plus, les services du Cloud répondent à toutes les exigences en termes de sécurité.
Un autre bénéfice important, c’est la maîtrise des coûts : le client ne paie que ce qu’il a consommé, et il a une visibilité très détaillée sur sa consommation grâce aux solutions de suivi FinOps mises en place. Cela permet de faire des estimations en temps réel.
Au delà de tous les aspects techniques et organisationnels, Il ne faut pas négliger la démarche FinOps qui commence au début de chaque projet, et qui intervient tout au long :
- À la phase du design, nous donnons au projet une estimation globale du coût de l’infrastructure et définissons les axes d’amélioration;
- À l’avancement du projet, il y a un suivi de la consommation en continu;
- À la fin du projet, nous avons un rôle d’optimisation. Par exemple, si le client utilise des capacités surdimensionnées, il est très facile d’analyser et de corriger cela, sans à aucun moment impacter la qualité du service.
Un autre avantage du Cloud, c’est son élasticité et sa scalabilité. Si besoin, les capacités peuvent être facilement diminuées, ce qui réduit donc les coûts.
Suivi en continu
Agyla fait un suivi régulier auprès du client, à peu près deux fois par mois, afin de répondre aux besoins du client et fournir ainsi un service de qualité.
Après la mise en service, il y a un travail d’accompagnement, d’amélioration et de vérification en continu, pour s’assurer que la solution répond aux contraintes et aux besoins du client. Le monitoring et l’alerting deviennent particulièrement importants : nous devons nous assurer que chaque application fonctionne correctement, qu’elle est disponible et opérationnelle.
En outre, il peut arriver que la portée du projet évolue en fonction des besoins. Par exemple, s’il s’agit d’une plateforme qui doit communiquer avec d’autres plateformes, parfois il faut ajouter des briques supplémentaires. Dans ce cas-là, nous créons un autre cycle, plus court. Nous faisons en sorte que cela n’impacte pas beaucoup l’avancement du projet et les délais.
Parfois il y a des améliorations d’architecture qui peuvent se faire post-production. Par exemple, pour un projet qui est déjà entamé, si AWS lancent un service qui répond mieux aux besoins du client, l’équipe Cloud communique avec les métiers pour leur proposer cette nouvelle solution.
“La perfection est atteinte, non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer.”
Antoine de Saint-Exupéry