Luc Pâquet
Client
LOGISCO est un groupe immobilier œuvrant depuis plus de 50 ans dans la construction et la gestion d’immeubles résidentiels et commerciaux. En plus d’offrir des espaces locatifs de qualité à des emplacements stratégiques, LOGISCO sélectionne avec soin des terrains, autant sur la Rive-Sud que sur la Rive-Nord de Québec. Le modèle totalement intégré de l’entreprise passe par l’acquisition de terrains, la conception et la construction de bâtiments et la gestion immobilière.
LE DÉFI
Une dimension cruciale des opérations du groupe réside dans les interfaces orientées client qui gèrent le parcours des utilisateurs. Des solutions numériques sont déployées pour la commercialisation, la vente et le suivi client. Comme l’ingénierie logicielle et les technologies numériques ne sont pas au cœur de son champ d’expertise, elle a eu des difficultés à offrir de la valeur à ses clients. Le délai de mise en marché, la qualité et la sécurité ont notamment posé problème, puisque LOGISCO ne disposait pas des compétences de DevOps et infonuagiques nécessaires. Le manque d’expertise en DevOps empêchait le déploiement fluide de valeur auprès des clients, rallongeant le délai de mise en marché de manière inacceptable, et le groupe tentait d’accélérer ses processus d’affaires sans stratégie claire. Ses équipes manquaient également d’expérience avec les services infonuagiques publics d’AWS, ce qui explique les difficultés rencontrées en matière de qualité et de sécurité. Tous ces problèmes appelaient une véritable transformation infonuagique et DevOps.
LA SOLUTION
La solution proposée par Levio à LOGISCO comprenait la mise en place de différentes pratiques de DevOps dans l’environnement AWS pour optimiser les processus de création des infrastructures, le développement et le déploiement. Levio a commencé par remplacer les procédés d’installation et de configuration d’infrastructures, lesquels n’étaient pas normalisés ni répétables, par des pratiques d’infrastructure codifiée (IaC). L’automatisation de ces procédés grâce à HashiCorp Terraform a permis d’en assurer la répétabilité, la sécurité et la bonne gouvernance. Un flux de travail IaC a été mis en place pour configurer toutes les infrastructures nécessaires sur l’écosystème infonuagique d’AWS. À l’aide de ce flux de travail propulsé par GitLab, toutes les ressources infonuagiques déployées dans les comptes AWS de LOGISCO sont installées et paramétrées avec efficience par un exécuteur auto-hébergé sur des instances Spot, ce qui contribue à réduire les coûts. Pour garantir une séparation des tâches et une gouvernance optimales, quatre environnements distincts et sécurisés (services, DevOps, non-PROD et PROD) ont été créés avec AWS Control Tower. Pour renforcer davantage les normes de sécurité, Levio a également configuré des rôles de gestion centralisée de l’identité et de l’accès (IAM), et connecté AWS Single Sign-On (SSO), identification unique de Microsoft, à l’Azure Active Directory de LOGISCO.
Pour minimiser les délais de lancement (vélocité) et les problèmes de qualité, Levio a conçu et intégré des flux de travail de CI/CD à l’aide de la solution SaaS de GitLab afin de simplifier et d’automatiser la programmation, les tests et le déploiement des logiciels. Les runners GitLab déployés dans le compte DevOps assurent l’exécution sécurisée et contrôlée des différentes étapes des flux de travail, en conformité avec les pratiques exemplaires de contrôle d’accès basé sur le rôle (RBAC) et le principe du moindre privilège. La mise en place de pratiques exemplaires en matière d’évaluation du code au niveau des infrastructures et des applications a grandement amélioré la qualité des processus. Le code Terraform est stocké dans un répertoire GitLab, puis passé en revue par deux ingénieurs avant d’être déployé dans l’environnement de développement. Des processus d’intégration continue ont été mis en place, avec des tests et des vérifications de qualité et d’infrastructure à chaque mise à jour du code au répertoire (plan de Terraform). Par souci d’uniformité, des images Docker sont créées automatiquement, envoyées à l’Amazon Elastic Container Registry (ECR) et marquées adéquatement pour le suivi des changements.
LES SERVICES ET SOLUTIONS AWS
Nous avons choisi d’utiliser les services infonuagiques publics d’AWS pour ce projet. La solution déployée par Levio utilise stratégiquement plusieurs services gérés d’AWS pour réduire les coûts de maintenance, simplifier les opérations et faciliter la prise en main. Le but était à la fois d’atteindre ces objectifs et d’accélérer la réalisation des projets. Par ailleurs, l’intégration fluide d’un ensemble d’applications tierces comme GitLab/GitLab Pipeline (SaaS), HashiCorp Terraform et Cloudflare (coupe-feu d’applications Web, ou CAW) offre un écosystème de déploiement complet et efficient à LOGISCO.
Pour mettre en place une solution purement infonuagique, résiliente, sécurisée et facile d’utilisation, nous avons utilisé les services AWS suivants :
- Instances Spot Amazon EC2 (pour l’exécuteur GitLab)
- ECS Fargate pour le calcul
- AWS Lambda
- ECR
- RDS
- SNS
- SQS
- DocumentDB
- API Gateway
- AWS Organizations
- AWS SSO
- CloudWatch
LES RÉALISATIONS
La solution offerte par Levio a été synonyme de transformation pour LOGISCO. L’automatisation de la configuration de l’infrastructurelui a permis de se reposer sur un système homogène, auditable, résilient, plus sécuritaire et mieux administré. Les mesures de sécurité en place ont été grandement renforcées par l’intégration du contrôle d’accès basé sur le rôle (RBAC) et du principe du moindre privilège. Plusieurs scripts (IaC) avec des propriétaires distincts ont été mis en place pour catégoriser les composants du réseau, les services d’infrastructure partagés et les composants propres aux applications. Cette séparation permet d’approcher la gestion d’infrastructure de manière sécurisée et organisée.
En outre, nous avons ajouté des flux de travail CI/CD pour améliorer la vélocité et la qualité du déploiement. Des contrôles de la qualité automatisés interrompent le déploiement du code en cas d’échec pour empêcher la propagation de bogues, et plusieurs environnements ont été créés pour consolider les processus.
Nous avons éliminé les procédés manuels pour simplifier et mieux contrôler les versions, les étapes de test et les processus de déploiement, et ainsi aider LOGISCO à offrir à ses clients des services rapides, sécurisés et de haute qualité.
Grâce à l’automatisation de la création et du paramétrage d’infrastructures, le temps de déploiement des environnements est passé à un délai rapide et uniforme de 6 minutes. Elle a également permis d’établir de nouvelles normes de gouvernance et de sécurité.
Avant l’intervention de Levio, les délais trop longs affectaient grandement la vélocité et la capacité de LOGISCO à déployer de nouvelles fonctionnalités en production. Ces délais ont été ramenés à 16 minutes et comprennent maintenant une vérification de la qualité et de la sécurité du code. Le temps nécessaire pour que les modifications du code soient disponibles dans l’environnement cible a également été réduit pour que les développeurs puissent obtenir des rétroactions plus rapidement et résoudre les problèmes de qualité en début de cycle. Les taux de défaillance en production sont maintenant virtuellement nuls.
À PROPOS DE LEVIO
Levio est une entreprise de services-conseils qui accompagne les organisations dans leur transformation numérique. Partenaire fiable du début jusqu’à la fin, nous avons pour objectif une transformation à long terme adaptée à votre modèle d’affaires. Nous proposons une approche personnalisée et une exécution fluide pour une transformation numérique qui crée de la valeur et donne des résultats mesurables.