Un consultant Cloud & DevOps Agyla.cloud, en mission chez un acteur majeur du secteur du Luxe, nous raconte son expérience dans l’accompagnement de notre client sur un projet de regroupement des sites régionaux sur un seul site.
J’ai commencé ma mission chez notre client, acteur majeur dans le secteur du Luxe, le 1er mai 2020. Je travaille dans l’équipe qui s’occupe du provisionning des environnements sur AWS, du déploiement des environnements sur TFS/ADO, de la mise en production et intervention en cas d’urgence, ainsi que de la gestion des projets et implémentation du monitoring des applications.
Dans le cadre de ma mission, je suis à 50% sur du run, c’est-à-dire, les tâches du jour au jour, qui varient beaucoup, et 50% sur des tâches de fond, ou des projets à long terme qui durent 3 ou 4 mois.
Côté run, je fais du déploiement. Le client a souvent besoin de déployer des nouveaux environnements sur TFS, qui nécessitent notre intervention s’il y a un bug, un problème de système, ou un problème de build. Nous gérons également les accès SSH, les accès Azure DevOps et les accès Hybris des développeurs.
Les tâches de fond comprennent l’automatisation des actions manuelles et l’optimisation du coût des ressources AWS.
Les besoins du client et les solutions d’Agyla.cloud
- Le run
Commençons d’abord par la partie run. Actuellement, je suis le premier point de contact côté SRE (site reliability engineer) parmi les nombreux développeurs qui travaillent chez le client, pour effectuer le provisionning, le build et le déploiement de leurs environnements, ainsi que le debugging, s’il y a un problème, et les refresh des RDS des lowers environments à partir des PRD. Avant mon arrivée, il y avait un besoin d’accompagner les développeurs sur l’investigation des erreurs de déploiement, de refresh, etc. Mon intervention leur a permis de se concentrer sur des tâches de fond.
Les catalogues de produits du client sont gérés avec Hybris; il y a donc un travail important de création, d’export et de synchronisation de catalogues.
- Les tâches de fond
En ce qui concerne les tâches de fond, il y avait une quinzaine d’étapes des refresh des environnements qui étaient manuels. Depuis, j’ai tout automatisé dans un seul script, qui exécute toutes les étapes d’une façon automatique. Ainsi, nous avons pu effectuer des gains en termes de temps, d’efficacité et de coût. Nous gagnons environ 20 à 25 minutes à chaque fois qu’on effectue un refresh.
Par ailleurs, notre client travaillait beaucoup avec des hébergeurs de services externes. Afin de gérer les environnements de manière plus indépendante et de ne pas dépendre des infogérants et des third parties, le client avait besoin de migrer toute l’infrastructure du TFS (Team Foundation Server) vers ADO (Azure DevOps). Le travail de migration est presque fini et nous allons bientôt pouvoir tout gérer nous-mêmes.
Pour ces projets, j’utilise Azure DevOps, Terraform, Amazon Relational Database Service (Amazon RDS), S3, et Amazon CloudWatch, GIT, Ansible et Scripting Shell. Au début, notre équipe travaillait uniquement avec AWS et TFS, mais nous avons vu qu’Azure DevOps répondait mieux à nos besoins en termes de rapidité et d’efficacité du déploiement. Nous avons donc commencé une migration vers Azure DevOps, afin d’accélérer le déploiement.
En ce qui concerne le provisionning, Amazon Web Services répond très bien à nos besoins quant à la facilité de gestion et l’optimisation des coûts.
- L’automatisation du process de déploiement
Depuis décembre 2020 j’ai commencé un nouveau projet, dont le but principal est d’automatiser le process de déploiement, afin de gagner du temps et d’optimiser les coûts.
Après chaque déploiement, il y avait des scripts qui étaient exécutés de façon manuelle, ainsi qu’un clear cache manuel, ce qui était très peu efficace, avec beaucoup d’erreurs suite à des oublis. Pour remédier à cela, nous avons automatisé tous les scripts. Nous avons un gain de temps et d’efficacité important, et les erreurs de l’exécution manuelle sont maintenant éliminées. Nous allons également effectuer l’intégration de toutes les APIs, ce qui est une solution plus sécurisée.
Nous utilisons Script Shell, soit avec Azure DevOps, soit avec AWS, soit avec Hybris.
- L’arrivée de nouvelles équipes en 2021
En 2021 il y aura trois équipes de développeurs qui vont nous rejoindre, et elles auront besoin d’environnements. Pour cela, nous devons tout faire à partir de zéro :
- Créer des comptes AWS
- Ajouter des stacks sur Azure DevOps
- Provisionner des environnements avec Ansible, Terraform et AWS
- Procéder aux refresh pour donner une base de données à ces nouveaux environnements,
- Faire des déploiements avec des configurations bien spécifiques, en prenant en compte les besoins de chaque nouvelle équipe.
- Donner des accès SSH, Azure DevOps et Hybris.
Nous créons le déploiement et le build sur Azure DevOps, et les instances sur AWS.
Les avantages des solutions d’Agyla.cloud
Les avantages de nos solutions sont multiples :
- Des gains de temps et de réactivité considérables
- Une accélération et optimisation des process
- Des économies au niveau du budget
- L’élimination des erreurs humaines.
Pour le run, j’estime que mon travail a apporté un gain de temps de 25%. Pour les autres projets, ce chiffre est d’entre 15 et 20%.
Au niveau du budget, nous avons effectué une optimisation importante grâce à une meilleure gestion des environnements et des bases de données. Avant, ils restaient allumés le soir et le weekend, alors que, dans la plupart des cas, ce n’était pas nécessaire. J’ai étudié la situation en détail et j’ai modifié les start et stop des environnements, ce qui a fait considérablement baisser le coût mensuel.
De mon côté, ce projet a nécessité une montée en compétences rapide. Avant, je ne connaissais pas du tout Hybris : c’est un outil très complexe sur lequel j’ai dû apprendre rapidement. J’ai également beaucoup appris au niveau de l’organisation de mon travail : pour être efficace à la fois sur le côté run et sur les tâches de fond, il faut savoir bien s’organiser. Par ailleurs, mon niveau d’anglais m’a permis d’être très efficace dès le début de ma mission : l’anglais est la langue de travail principale dans ma mission.