5 min
lire
Migrer vers AWS avec ECS : Etude de cas ChargeMap
Chez Technofy, nous sommes ravis de partager avec vous le cas de la migration de ChargeMap vers AWS. Cet article décrit les défis auxquels ils ont été confrontés et les solutions que nous avons proposées en tant que partenaire de confiance pour assurer une migration fluide et efficace vers AWS.
Le défi
ChargeMap est une startup en forte croissance qui propose aux conducteurs de véhicules électriques (professionnels et particuliers) des services tels que la géolocalisation des bornes de recharge et une solution de paiement.
ChargeMap a fait face à des problèmes récurrents de disponibilité de leur service avec leur précédent cloud provider, ceux-ci entrainant d'importantes perturbations opérationnelles et entravant leur capacité à servir efficacement leurs clients.
Ils étaient donc à la recherche d'une solution fiable et évolutive capable d'assurer une haute disponibilité et un temps de fonctionnement optimal de leurs services.
Business Pain & Challenges
Chargemap était confronté aux problèmes suivants avec son précédent cloud provider:
- Problèmes de disponibilité : Des interruptions fréquentesperturbent leurs opérations.
- Manque d'évolutivité et de flexibilité
- Manque de support et d'expertise du cloud provider.
Défis techniques
- Migrer une infrastructure composée de plus de 175 microservices:
1. Workloads : s'assurer que toutes les applications fonctionnent sans problème dans les conteneurs.
2. Migration des données, comprenant les bases de données, Redis et Elastic Search, en minimisant l'impact sur la disponibilité opérationnelle des services.
- Mettre en place des flux de déploiement automatisés (CI/CD) pour l'infrastructure et les applications.
- Manager toute l'infrastructure avec de l'Infrastructure-as-Code (Terraform).
- Mettre en œuvre les meilleures pratiques liées à AWS, au DevOps et à la sécurité.
- Assurer la maîtrise des coûts : optimiser l'infrastructure pour plus d'efficacité.
- Support : être présent en soutien aux équipes de ChargeMap tout au long de la migration afin d’assurer une transition efficiente.
La solution
Afin de fournir une solution fiable et évolutive, les mesures suivantes ont été prises :
1. Une POC avec ECS: Nous avons validé la faisabilité de la conteneurisation et du déploiement des applications de ChargeMap sur AWS en utilisant Amazon Elastic Container Service (ECS).
2. Étude approfondie de l'infrastructure et des applications : Un examen approfondi a permis de créer l'architecture cible et un plan de migration.
3. Migration vers AWS (Build)
4. Procédures de migration : Des procédures complètes ont été définies pour chaque composant.
5. Transfert de connaissances et support continu : Nous accompagnons les équipes de ChargeMap tout au long du processus de migration afin d'assurer un transfert efficace.
Architecture overview
Flux de travail architectural:
Le processus de déploiement de ChargeMap commence lorsque les développeurs marquent leur code dans le dépôt Git. Cette action déclenche une série de procédures automatisées, notamment la compilation du code, l'archivage dans ECR et le déploiement dans le cluster ECS.
Un équilibreur de charge frontal répartit la charge de travail entre les tâches et les services du cluster, les tâches ECS pouvant accéder à divers services AWS tels qu'OpenSearch, Elasticache for Redis et les bases de données RDS.
Structure organisationnelle:
L'organisation AWS consiste en un compte principal / maître / de facturation, avec des comptes supplémentaires organisés en équipes au sein d'unités organisationnelles distinctes.
Chaque environnement fonctionne sur un compte distinct, complété par un compte de services partagés, afin de rationaliser les ressources entre les équipes et les environnements.
Tech stack
Les technologies suivantes ont été utilisées lors de la migration vers AWS :
- Amazon Elastic Container Service (ECS): Utilisé pour gérer et déployer des applications conteneurisées à grande échelle.
- Amazon Relational Database Service* (RDS) : utilisé pour héberger et gérer des bases de données relationnelles dans le nuage.
- Amazon CloudWatch: Utilisé pour surveiller et gérer les ressources et les applications AWS.
- Gestion des identités et des accès (IAM) d'AWS: Utilisé pour gérer l'accès aux services et ressources AWS.
- Amazon SNS*: Service de notification simple utilisé pour envoyer des notifications et des alertes à des points d'extrémité ou à des clients abonnés dans le cadre d'une architecture de microservices.
- Amazon SQS* : Service de file d'attente de messages entièrement géré utilisé pour découpler et mettre à l'échelle des applications distribuées et des microservices.
- Amazon DMS: Service de migration des bases de données utilisé pour migrer les bases de données de l'ancien fournisseur de cloud vers AWS RDS.
- Amazon OpenSearch*: Amazon OpenSearch est un moteur de recherche et d'analyse open-source, compatible avec Elasticsearch, conçu pour l'indexation, la recherche et l'analyse efficaces des données au sein de diverses applications et services.
- AWSSingle Sign-On (AWS SSO): simplifie l'accès des utilisateurs à plusieurs comptes AWS et applications professionnelles avec un seul jeu d'identifiants, renforçant ainsi la sécurité et l'efficacité de la gestion.
- Amazon ECR : Elastic Container Registry utilisé pour stocker, gérer et déployer des images de conteneurs Docker.
- Terraform: Outil logiciel open-source d'infrastructure en tant que code utilisé pour construire, modifier et versionner l'infrastructure.
* composants déjà utilisés dans l'infrastructure d'origine
Résultats attendus
La migration vers AWS est actuellement en cours, et après la mise en place d'une architecture hautement disponible, nous prévoyons les résultats suivants:
- Amélioration de la disponibilité des services
- Évolutivité et flexibilité accrues pour répondre à l'évolution des besoins de l'entreprise.
- Sécurité et contrôle d'accès renforcés pour les données sensibles.
- Amélioration du monitoring et de la gestion des ressources et des applications AWS (notifications)
- Amélioration de la gestion de l'infrastructure: contrôle des versions et déploiement automatisé.
En conclusion, la migration vers AWS devrait pour ChargeMap, améliorer les normes opérationnelles, améliorer le service client et permettre d'atteindre les objectifs commerciaux avec une efficacité et une fiabilité accrues.