Les indicateurs de fonctionnalités et la configuration dynamique comptent parmi les outils les plus puissants de la livraison de logiciels, permettant aux équipes de déployer des fonctionnalités progressivement, de tester en production et de minimiser les risques. Mais même avec une planification minutieuse, les déploiements de fonctionnalités peuvent mal se passer. Les taux d’erreur augmentent, la latence s’accroît ou des comportements inattendus apparaissent. Cela signifie que les équipes doivent répondre vite.
Aujourd’hui, nous annonçons une nouvelle intégration entre AWS AppConfig et New Relic Workflow Automation qui rend les déploiements des indicateurs de fonctionnalités plus sûrs en permettant des retours en arrière automatiques et intelligents optimisés par des données d’observabilité en temps réel.
AWS et New Relic
Le manque de sécurité des indicateurs de fonctionnalités
AWS AppConfig est un service qui aide les équipes à agir plus rapidement et en toute sécurité. Les indicateurs de fonctionnalités et la configuration dynamique vous permettent d'ajuster le comportement du logiciel en production sans déploiement de code. Les indicateurs de fonctionnalités permettent aux développeurs de contrôler la façon dont ils publieront de nouvelles fonctionnalités et capacités, en séparant un lancement d'un déploiement de code. De plus, les kill switches d'AWS AppConfig permettent un rollback immédiat si un problème inattendu survient. AWS AppConfig est utilisé à l'échelle au sein d'Amazon, et les fonctionnalités proposées reflètent la façon dont AWS conçoit l'utilisation appropriée des indicateurs de fonctionnalités.
Malheureusement, les équipes peuvent sous-estimer le danger de modifier la configuration ou les indicateurs de fonctionnalités. Comme quand un ingénieur dit : « je ne change qu'une ligne de code, ce n'est pas important », une modification de l'indicateur de fonctionnalité peut sembler anodine. Et 99,99 % du temps, le changement ne pose aucun problème. Mais parfois, ces petits changements peuvent provoquer une panne massive. De nombreuses pannes récentes très médiatisées ont été causées par des changements de configuration. Ainsi, les développeurs doivent mettre en place les bons garde-fous de sécurité avec l'automatisation pour éviter ces impacts inattendus.
Les déploiements progressifs et le monitoring constituent l'un de ces garde-fous de sécurité clés. L'une des fonctionnalités essentielles d'AWS AppConfig est de déployer des indicateurs de fonctionnalités en toute sécurité à l'aide de déploiements progressifs. Vous pouvez déployer une fonctionnalité graduellement auprès de 10 % des utilisateurs, puis de 20 %, puis de 50 % au cours de plusieurs minutes et heures tout en monitorant l'état de santé du système à chaque étape. Cette approche réduit considérablement la portée de l'impact potentiel par rapport à un déploiement en une seule fois. Par contre, le monitoring est également essentiel pendant ce déploiement progressif. Bien qu’AWS AppConfig offre de puissantes capacités de déploiement progressif et de rollback, et que New Relic excelle dans l’observabilité, connecter ces deux systèmes dans un workflow automatisé a généralement nécessité du code et une infrastructure personnalisés. Notez qu'AWS AppConfig disposait déjà d’un rollback automatisé en cas d’alarme Amazon CloudWatch, mais pour les clients New Relic, les rollbacks étaient manuels avant ce partenariat.
Que se passe-t-il quand un problème survient lors de ce déploiement progressif ?
Auparavant, les équipes devaient :
- Constater des métriques dégradées dans leur outil de monitoring
- Corréler la chronologie avec le déploiement de l'indicateur de fonctionnalité
- Déclencher manuellement un rollback dans AWS AppConfig
- Attendre que le rollback se propage
Même avec de bons outils et des runbooks clairs, ce processus peut prendre plusieurs minutes, voire plus, mais en production, chaque minute compte : une panne qui dure moins d'une minute a un impact opérationnel et réputationnel bien moindre qu'une panne de dix minutes.
Boucler la boucle : de la détection au rollback automatique
La nouvelle intégration entre AWS AppConfig et New Relic Workflow Automation élimine ce cycle de réponse manuel. Voici comment cela fonctionne :
Lors du déploiement d'indicateurs de fonctionnalités ou de configuration dynamique
Lorsque vous déployez un indicateur de fonctionnalité à l’aide de la stratégie de déploiement progressif d’AWS AppConfig, New Relic Workflow Automation monitore l’état de santé de votre application en continu tout au long de la fenêtre de déploiement. Le workflow évalue l’état de votre application par rapport aux conditions d’alerte configurées, y compris la vérification des taux d’erreur, la latence, la sévérité des alertes et toutes les métriques personnalisées que vous définissez à l’aide des données télémétriques unifiées et uniformisées de New Relic.
Quand des problèmes sont détectés
Lorsque les conditions d'alerte de votre application sont déclenchées pendant le déploiement, ce qui peut indiquer que l'indicateur de fonctionnalité pourrait causer des problèmes, le workflow New Relic envoie immédiatement un message de notification à votre file d'attente AWS SQS (Simple Queue Service).
Le résultat : la sécurité automatisée du déploiement
Ce qui nécessitait auparavant une détection, une corrélation et une réponse manuelles se produit désormais automatiquement en quelques secondes. L'indicateur de fonctionnalité est annulé avant que la plupart des utilisateurs ne soient impactés, et votre équipe obtient une piste d'audit complète sur ce qui s'est passé et pourquoi.
Architecture : comment fonctionne l'intégration
L'intégration utilise une architecture simple et sécurisée :
- AWS AppConfig déploie votre indicateur de fonctionnalité en utilisant une stratégie de déploiement progressif (par exemple, 20 % linéaire pendant 2 heures).
- New Relic Workflow Automation évalue en continu l’état de santé de votre application par rapport aux conditions d’alerte définies pendant la fenêtre de déploiement. Lorsque les conditions d’alerte sont remplies (indiquant un état de santé dégradé), le workflow se déclenche automatiquement. Ce monitoring utilise la plateforme de télémétrie unifiée et uniformisée de New Relic, fournissant un contexte système complet, y compris la santé de l’application, les métriques d’infrastructure et les données sur l’expérience utilisateur.
- La logique conditionnelle dans le workflow évalue si l’application reste robuste ou entre dans un état dégradé.
- AWS SQS reçoit un message de notification du workflow si l'état se dégrade.
- AWS Lambda vérifie la présence de messages dans la file d'attente SQS et notifie AWS AppConfig pour déclencher un rollback si un message est présent (invoqué par AppConfig toutes les 15 secondes pendant le déploiement).
- AWS AppConfig exécute le rollback, rétablissant immédiatement l’indicateur de fonctionnalité à son état précédent.
L'authentification est gérée de façon sécurisée à l'aide de rôles AWS IAM dotés d'autorisations appropriées et limitées aux seules actions nécessaires.
Diagramme d'AWS AppConfig & New Relic Workflow Automation
Étude de cas tirée du monde réel : e-commerce
Imaginez un scénario : vous déployez un nouvel indicateur de fonctionnalité pour le processus de paiement sur votre plateforme d'e-commerce. Vous utilisez AWS AppConfig pour le déployer progressivement pendant 2 heures, en commençant par 5 % du trafic. Pendant ce temps, vous monitorez les métriques clés pour vous assurer que les résultats correspondent à vos attentes et qu’aucun impact négatif ne se produit.
Sans automatisation : 45 minutes après le début du déploiement (à 20 % du trafic), les taux d’erreur bondissent de 0,1 % à 2,5 %. Quelqu'un le remarque dans Slack 10 minutes plus tard. 5 minutes supplémentaires pour investiguer et confirmer que c'est lié à l'indicateur de fonctionnalités. 2 minutes supplémentaires pour trouver le déploiement AWS AppConfig et déclencher le rollback. Cela représente plus de 17 minutes d'erreurs élevées affectant 20 % des clients. Cela peut avoir un impact significatif sur les revenus ou la réputation.
Avec l’intégration : 45 minutes après le début du rollout, les taux d’erreur grimpent en flèche de 0,1 % à 2,5 %. En moins d’une minute, le workflow détecte la dégradation de l’état, envoie une notification à SQS, et AWS AppConfig lance automatiquement un rollback. Cela correspond à moins de 2 minutes d'erreurs élevées, et la plupart des clients ne voient jamais le problème.
C'est une amélioration de 15 minutes pour la protection des revenus, la confiance des clients et les performances de l'équipe d'ingénierie.
Au-delà des indicateurs de fonctionnalités : la situation globale
Cette intégration démontre ce qui devient possible lorsque vous fermez la boucle entre l'observabilité et l'action. Les indicateurs de fonctionnalités AWS AppConfig ne sont qu'un cas d'utilisation. New Relic Workflow Automation prend en charge un écosystème d'intégrations en pleine croissance :
- Prestataires cloud : AWS (EC2, ECS, Lambda, SQS, etc.)
- Gestion des incidents : PagerDuty, Jira
- Communication : Slack
- Personnalisé : toute API HTTP
Monitorez avec un contexte d'observabilité complet, détectez les problèmes intelligemment et déclenchez la remédiation automatiquement. Cela s'applique à la scalabilité automatique de l'infrastructure, au redémarrage des services défaillants, au déclenchement de tests de résilience par le chaos et à d'innombrables autres scénarios opérationnels.
Et ce n'est que le début de notre partenariat. Nous explorons d'autres moyens d'intégrer les services AWS à la plateforme d'observabilité intelligente New Relic, ce qui permet à nos clients communs de créer plus facilement des systèmes fiables et résilients qui réagissent intelligemment aux conditions changeantes.
Démarrer dès aujourd'hui ⤵
L'intégration AWS AppConfig + New Relic est désormais disponible. Si vous utilisez déjà les deux plateformes, vous pouvez déployer l'intégration rapidement en consultant la documentation.
Pour les clients AWS :
- Explorez la documentation d’AWS AppConfig
- Inscrivez-vous pour essayer New Relic gratuitement
Pour les clients de New Relic :
- Explorez la documentation sur l'automatisation des workflows
- En savoir plus sur les intégrations AWS avec New Relic et la solution de monitoring AWS de New Relic
Les opinions exprimées sur ce blog sont celles de l'auteur et ne reflètent pas nécessairement celles de New Relic. Toutes les solutions proposées par l'auteur sont spécifiques à l'environnement et ne font pas partie des solutions commerciales ou du support proposés par New Relic. Veuillez nous rejoindre exclusivement sur l'Explorers Hub (discuss.newrelic.com) pour toute question et assistance concernant cet article de blog. Ce blog peut contenir des liens vers du contenu de sites tiers. En fournissant de tels liens, New Relic n'adopte, ne garantit, n'approuve ou n'approuve pas les informations, vues ou produits disponibles sur ces sites.