AWS CodeDeploy nous aide à envoyer notre code aux clients plus rapidement et de manière plus fiable.
Nick Elser Director of Engineering

Instacart permet aux clients de faire leurs courses alimentaires en ligne en les mettant en relation avec des acheteurs personnels qui récupèrent les articles dans les magasins locaux favoris des clients et les déposent directement chez eux. Fondée à San Francisco en 2012, Instacart s'est rapidement développée jusqu'à gagner plus de 18 agglomérations et a mis en place des partenariats avec des dizaines de détaillants alimentaires, notamment des chaînes nationales populaires (Whole Foods Market, Costco et Petco), ainsi que des grossistes locaux et régionaux.

  • Instacart a initialement déployé chaque application à l'aide d'un outil de déploiement local. 
  • La surveillance et la maintenance de l'outil nécessitaient entre deux et trois heures de travail hebdomadaires de la part d'un ou deux développeurs, et ses fonctionnalités étaient limitées.
  • L'entreprise réalise des centaines de déploiements par jour sur des clusters de tailles différentes. Elle avait donc besoin d'un moyen fiable de déployer et de surveiller ces déploiements.
  • La société a commencé à utiliser AWS CodeDeploy pour déployer tous les services frontend et backend, notamment les sites Web destinés aux consommateurs, les API, les applications mobiles, les outils internes, l'infrastructure de messagerie et les systèmes de traitement.
  • CodeDeploy fonctionne avec la configuration du pipeline d'intégration et de livraison continues existant d'Instacart.
  • Les ingénieurs utilisent la console et les API CodeDeploy pour surveiller le statut de chaque déploiement.
  • Utilise les options de configuration de déploiement de CodeDeploy en fonction de l'application déployée et de son contrat de niveau de service (SLA) : mises à jour continues pour les services Web orientés client et mises à jour tout-en-un ou à moitié pour les systèmes de traitement des tâches en arrière-plan.
  • Utilise les hooks d'événements du cycle de vie de CodeDeploy pour déclencher automatiquement des scripts à différentes étapes de chaque déploiement, en s'assurant que la configuration et les bibliothèques appropriées sont automatiquement installées, en vérifiant que les applications sont démarrées correctement et en les informant en cas d'échec des mises à jour restaurées.
  • CodeDeploy déploie de manière fiable les applications frontend et backend d'Instacart sur AWS pour les 50 à 60 ingénieurs qui l'utilisent quotidiennement.
  • Les développeurs peuvent se concentrer sur le produit principal et moins se soucier des opérations de déploiement.
  • L'équipe Instacart n'a plus besoin de consacrer du temps et des ressources à la maintenance de son propre outil de déploiement interne.
  • La vue de la console de CodeDeploy fournit des mises à jour en temps réel sur le statut de chaque déploiement, du début à la fin, ce qui aide les ingénieurs à mieux comprendre et à résoudre les problèmes liés aux opérations de déploiement.
  • Les configurations de déploiement permettent à Instacart de choisir une méthode de déploiement adaptée à l'application et à la situation. Par exemple, la configuration de mise à jour continue réduit les risques liés au déploiement, ainsi que les temps d'arrêt pour les services Web critiques destinés aux consommateurs.

Pour en savoir plus sur la manière dont AWS peut aider à automatiser les opérations de déploiement, consultez notre page de détails sur AWS CodeDeploy.