Best practices pour l’optimisation des applications et de l’infrastructure dans le cloud

Offrez une expérience client optimale, en monitorant l’ensemble de vos applications et votre infrastucture lors de votre transformation digitale.

Cloud around a lightbulb, made out of different types of construction paper

Présentation

Malgré son impact positif, l’essor de l’informatique dans le cloud a créé de nombreux défis nouveaux pour le développement et l’exploitation des applications. Mais ces défis représentent aussi une opportunité sans précédent pour les entreprises, qui peuvent en profiter pour fondamentalement repenser la façon dont elles développent, surveillent et maintiennent leurs environnements informatiques. L’une des opportunités les plus notables est peut être l’occasion de s’attaquer enfin à l’approche d’optimisation des différents environnements que vous exploitez. 

Malgré des progrès conséquents dans le monitoring, de nombreuses entreprises effectuant le passage au cloud n’ont pas réussi à se débarrasser de leurs mauvaises habitudes de surveillance des applications et de l’infrastructure. D’après une enquête récemment réalisée par Gartner, 80 % des entreprises ne sont pas structurées ou souffrent de lacunes conséquentes dans la gestion quotidienne de leurs nouvelles solutions cloud. 

What is your ability to monitor your cloud environment chart

Les anciennes applications ont été développées à l’époque où les outils de surveillance étaient souvent considérés comme compliqués et onéreux, et par conséquent de nombreuses entreprises ont fait le choix délibéré de ne pas se pencher sur la question. Mais cette décision a un prix : pannes plus fréquentes et plus longues, remaniements confus débouchant sur des régressions ratées et, dans de nombreux cas, un état d’esprit « ne touchez à rien » qui bride l’innovation et bloque les objectifs commerciaux. Mais avec la plateforme New Relic, ce compromis n’est plus nécessaire ni même acceptable. Il est temps de prendre un nouveau départ et de faire face aux nouveaux défis liés au cloud. 

Quelle que soit l’étape que vous avez atteinte dans votre aventure dans le cloud, cet article vous fournit des meilleures pratiques pour vous aider à éviter cet écueil courant. En mettant l’accent sur une surveillance pragmatique avant, pendant et après le passage au cloud, vous avez de meilleures chances de profiter de tous les avantages du cloud et de fournir une expérience client numérique fiable et agréable. 

Nous nous aborderons essentiellement trois questions clés : 

  1. Comment garantir une migration réussie des applications existantes ? 
  2. Comment optimiser l’ensemble de vos systèmes et vos applications dans le cloud ? 
  3. Comment continuer à moderniser votre entreprise en innovant plus rapidement ?

Question 1 : Comment garantir une migration réussie des applications ?

Pour la plupart des entreprises, commencer de zéro dans le cloud est un luxe qu’elles ne peuvent pas se permettre. Généralement, des années de travail ont été consacrées aux applications sur site existantes, l’objectif initial étant donc de les importer dans le cloud. Cela se traduit souvent par un déploiement direct du code base sur site sur des machines virtuelles cloud (migration de type « lift and shift » ou portage virtuel) ou un remaniement direct du code tout en conservant les interfaces existantes (« réarchitecture »). Dans les deux cas, ces meilleures pratiques peuvent vous aider à réussir le passage au cloud. 

Établissez votre référence du point de vue de vos utilisateurs finaux

Pour comprendre si les performances de vos applications se sont améliorées ou ont empiré dans le cloud, vous devez savoir ce qu’elles étaient avant la migration. La première étape de cette migration doit donc être la définition des performances de référence de vos solutions sur site. 

Pour ce faire, beaucoup d’entreprises se concentrent sur les services individuels de l’infrastructure sous-jacente, mais c’est l’expérience qu’ont vos utilisateurs finaux de l’application qui est la plus importante. En vous limitant à la surveillance de composants individuels, vous risquez de rater des problèmes importants, comme la latence du réseau ou l’échec des équilibreurs de charge. En définissant vos références initiales avec un outil comme New Relic Synthetics (requêtes programmatiques émulant les utilisateurs finaux) ou New Relic Browser (surveillance du trafic réel représentant l’expérience de vos utilisateurs), vous obtenez une mesure de la réussite ou de l’échec de votre migration vers le cloud. 

Voici quelques-unes des mesures spécifiques sur lesquelles vous concentrer : 

  1. Temps de réponse : combien de temps le chargement de ma page prend-il depuis le serveur backend ? 
  2. Taux d’erreurs : à quelle fréquence les requêtes envoyées à mon application se soldent-elles par un échec ? 
  3. Services externes : combien de temps faut-il à mon application pour communiquer avec d’autres services (internes et externes) ? 

N’évaluez vos mesures de migration vers le cloud que si c’est nécessaire

Si vous effectuez une migration de type portage virtuel, votre application devrait être plus ou moins identique à l’application sur site équivalente. Il devrait donc être assez simple de répéter le processus d’instrumentation à partir de vos mesures de référence pour votre application cloud et donc de comparer les mêmes mesures. Cependant, en cas de réarchitecture de votre application pour le cloud, ne perdez pas de temps à dupliquer les mesures de référence des microservices individuels quand les architectures ne sont plus alignées. N’oubliez pas que le suivi de l’expérience de bout en bout est ce qui compte vraiment et faites preuve de pragmatisme quant à la valeur des éléments spécifiques de votre surveillance. 

Soyez prêt à ce que tout arrête de fonctionner, car cela se produira probablement

La surveillance de l’expérience de vos utilisateurs finaux est une priorité, mais ce n’est aussi qu’un début. Quand vous déplacez des parties de vos applications vers et dans le cloud, vous ferez face à des pannes et vous devrez être capable de voir tout ce qui est nécessaire pour résoudre ces problèmes rapidement. Il vous faudra donc une visibilité sur l’ensemble des applications. 

Plus votre surveillance est proche de l’expérience de vos utilisateurs finaux, plus il sera facile de rapidement identifier les régressions dans l’expérience globale que vous fournissez. Mais plus votre surveillance est proche du code et de l’infrastructure sous-jacents, plus vous pourrez rapidement détecter exactement pourquoi ces régressions ont eu lieu. La solution est d’appareiller chaque niveau de votre pile (frontend, backend, infrastructure) et de vous familiariser avec les comportements normaux. Ainsi, vous serez préparé quand des anomalies surviendront. C’est là que l’ensemble de la plateforme New Relic—de New Relic APM à New Relic Infrastructure— peut s’avérer extrêmement précieuse. 

Ne perdez pas de temps à établir des mesures de référence pour l’infrastructure sur site

Bon nombre d’entreprises pensent qu’il est nécessaire d’établir des mesures de référence pour leur infrastructure sur site avant de passer au cloud, mais cela n’apporte pas grand-chose. Est-il vraiment important de savoir si vos hôtes ont une utilisation de la mémoire ou du processeur différente dans le cloud que celle qu’ils avaient dans le centre de données ? Cela ne signifie pas que vous ne devez jamais appareiller votre infrastructure sur site, mais si vos mesures de référence de l’expérience utilisateur de vos applications sont cohérentes ou meilleures, les modifications de l’infrastructure sous-jacente n’ont que peu d’importance. Dans de nombreux cas, vous avez même besoin de caractéristiques de performances différentes dans le cloud que celles dont vous aviez besoin sur site. 

 

Traitez les coûts comme une mesure

Dans le monde des applications sur site, vous ne prenez généralement pas les coûts en compte. La majorité des coûts se trouvent dans les ressources déjà réquisitionnées par votre entreprise (si le coût est un problème, vous serez bloqué ou prévenu par une personne chargée de surveiller la capacité). Dans le cloud, vous avez accès à des ressources quasi infinies, mais si vous les utilisez n’importe comment, vous risquez de vous retrouver avec des factures inutilement élevées. Les coûts peuvent, et devraient, être surveillés comme toute autre mesure. Avec les intégrations AWS natives de New Relic Infrastructure, vous pouvez facilement suivre vos coûts et budgets cloud dans New Relic Insights

Ne jetez pas votre travail

Une fois que vous avez établi des références solides, suivez les mesures essentielles comme le temps de réponse et le taux d’erreur, et profitez de la possibilité de vous plonger dans des sessions de débogage détaillées à la volée. Ne jetez pas tout juste parce que vous avez terminé votre migration vers le cloud. Il est inévitable que des régressions dans ces services aient lieu à un moment ou un autre et si vous conservez ces références, vous pourrez plus facilement détecter les problèmes qui surviendront. Donc, au lieu de les supprimer une fois votre migration terminée, exploitez-les en créant des alertes New Relic et des tableaux de bord New Relic Insights. Ces fonctionnalités gratuites peuvent vous aider à utiliser les références que vous avez créées pour offrir une expérience de qualité constante à vos utilisateurs finaux. Vous voulez d’autres conseils et astuces pour réussir une migration vers le cloud fluide ? Consultez la publication de Lee Atchison sur le blog Amazon, « Measurement at the Moment of Truth » (Les mesures au moment de vérité). 

  • Pour en savoir plus sur la migration des applications vers le cloud, consultez notre guide de migration, Successful Cloud Migration in 3 Easy Steps (Une migration vers le cloud réussie en 3 étapes simples). 
  • Vous trouverez des conseils sur les tests de mesure et d’acceptation de la migration dans notre didacticiel Measure Twice, Cut Once (Mesurez deux fois, coupez une fois). 

Question 2 : Comment optimiser l’ensemble de vos systèmes et vos applications dans le cloud ?

Réfléchissez à cette question un instant. Pour la plupart des entreprises, il s’agit de « après avoir reçu un ticket d’un client frustré, je plonge dans mes machines, regarde les logs et finis par essayer de deviner quel est le problème ». Mais imaginez que vous n’avez pas accès aux machines sous-jacentes, comme c’est souvent le cas dans le cloud. Ou que votre application évolue de façon dynamique et que les logs sont éphémères. Ou encore que votre application se compose d’un grand nombre de microservices, distribués sur plusieurs hôtes différents. Tout le temps que vous consacrez à ces problèmes n’aide pas vos clients à mieux utiliser vos applications ni votre entreprise à gagner de l’argent. Une recherche et une résolution efficaces des problèmes sont cruciales pour les entreprises numériques modernes, et les meilleures pratiques présentées ici peuvent vous aider à vous préparer à toute éventualité. 

La surveillance n’est pas votre secteur d’activité, alors ne la traitez pas comme telle

N’oubliez pas que la résolution du problème de surveillance par vous-même n’apporte aucune valeur ajoutée à votre entreprise. Investir lourdement dans des solutions maison, surtout pour les plateformes cloud commercialisées, est synonyme d’énorme gaspillage d’argent pour une solution qui sera inévitablement moins robuste que celle proposée par un fournisseur spécialisé. Le développement d’une solution de surveillance comme la plateforme New Relic implique plusieurs types de données et systèmes de stockage, des problèmes d’évolutivité conséquents, une sécurité de niveau entreprise et des connaissances techniques approfondies d’une vaste gamme de technologies. 

 

Soyez prêt à plonger en eaux profondes et à vous lancer dans le débogage horizontal

Dans le cloud, surtout dans les architectures où il est prioritaire, les applications se transforment souvent de monolithes verticaux en microservices très distribués, assemblés avec des composants de plateforme en utilisant plusieurs hôtes et même plusieurs fournisseurs cloud. Pour gérer ces systèmes complexes, assurez-vous que votre système de surveillance permet une visibilité sur tous les niveaux. De nombreux systèmes se concentrent sur des plongées profondes ciblées, mais dans le cloud, vous devez d’abord savoir où chercher. Des outils comme New Relic Service Maps et Health Map sont conçus pour vous aider à trouver la proverbiale « aiguille dans une botte de foin » en commençant par une vue d’ensemble, puis en vous permettant de zoomer sur les composants qui se comportent bizarrement. 

 

Recueillez des données pertinentes

Certaines solutions de surveillance traditionnelles prennent des raccourcis quand elles doivent travailler à grande échelle. Vous devez leur indiquer quels types de données recueillir et elles ne stockent que ces morceaux fragmentés. Vous devez donc identifier à l’avance les données qui seront les plus utiles pour répondre à des questions que vous ne connaissez pas encore. Dans le cloud, vous devez recueillir toutes les informations pertinentes que vous pouvez. Heureusement, New Relic Insights vous permet d’inspecter la vaste gamme de données non agrégées et multidimensionnelles que New Relic recueille pour vous. Cela vous permet de formuler les questions importantes à la volée. Vous pouvez même enregistrer votre question et la placer dans un tableau de bord pour ne plus jamais avoir à la poser. 

Garantissez un débogage cloud et sur site pour les solutions hybrides

Malgré la croissance extraordinaire du cloud, il n’y a pas de fournisseur cloud parfait dans toutes les situations et il est peu probable que vous puissiez complètement abandonner les applications et l’infrastructure sur site dans un avenir proche. Pour les meilleurs résultats, embrassez cette diversité et choisissez une solution de surveillance pour laquelle l’emplacement où est hébergé votre code n’a pas d’importance. Sur site, dans le cloud, sur votre portable, même sur un Raspberry Pi, vous pouvez compter sur New Relic. 

 

N’attendez pas qu’un problème survienne

Beaucoup d’entreprises hésitent à ajouter la surveillance jusqu’à ce qu’elles rencontrent un problème grave. Ne faites pas comme elles. Travaillez plutôt à obtenir la visibilité nécessaire partout où vous le pouvez. Le coût des outils sera souvent compensé par une résolution plus rapide des problèmes et par une identification et une connaissance faciles des goulets d’étranglement qui risquent autrement de passer inaperçus. Les seules choses que vous pouvez vous permettre de ne pas surveiller sont les choses sans importance pour vous. 

 

Surveillez l’infrastructure sous-jacente

Pourquoi surveillez-vous un serveur ? Juste parce que vous vous souciez de la santé de vos machines virtuelles ? Probablement pas. En fait, vous surveillez les serveurs car ils sont essentiels à vos applications. N’appareillez pas trop votre infrastructure sans choisir des outils qui relient les informations à ce qui leur donne de la valeur : les applications. L’utilisation moyenne des processeurs pour toutes vos machines est un « factoïde », l’utilisation moyenne des processeurs pour les machines hébergeant une application spécifique dans une région spécifique peut devenir une information de débogage essentielle. 

Question 3 : Comment continuer à moderniser votre entreprise en innovant plus vite ?

Le cloud a ouvert de nombreuses portes, mais comme toute innovation géniale, il faudra du temps pour que son plein potentiel soit reconnu. Quand vous choisissez une solution de surveillance, pensez à l’avenir pour ne pas avoir à recommencer le processus dans quelques années. Les meilleures pratiques ci-dessous sont conçues pour vous aider à vous tenir au courant des derniers développements et vous éviter de vous retrouver coincé face aux tendances de demain. 

 

Soyez prêt pour les grosses comme les petites « bêtes »

L’univers sur site est l’univers des petites bêtes, des serveurs spécifiques avec des noms spécifiques qui méritent des lignes spécifiques dans votre solution de surveillance. Mais dans le cloud, vous risquez de rencontrer des grosses bêtes : des serveurs éphémères, sans nom, interchangeables, dont le seul intérêt individuel est la relation au groupe. Vous aurez probablement affaire aux deux pendant un moment, et il vous faut donc une solution de surveillance capable de les gérer également. Découvrez comment New Relic Infrastructure permet une visibilité simple sur tous les niveaux informatiques grâce au filtrage dynamique et au regroupement par libellés. Des hôtes sur site traditionnels aux machines virtuelles IaaS, en passant par les conteneurs Docker et même les fonctions AWS Lambda sans serveur, vous pouvez compter sur New Relic Infrastructure

 

N’ignorez pas les composants de plateforme

Dans le cloud, vous devez comprendre que votre application n’est plus un simple processus s’exécutant sur un hôte. Les composants de la plateforme cloud sont importants : ils peuvent jouer un rôle aussi crucial pour les performances et le succès de votre application que la machine virtuelle sur laquelle elle est déployée. Si vous utilisez un équilibreur de charge, un cache, une banque de données NoSQL, une file d’attente ou tout autre composant de plateforme, traitez-les comme n’importe quel service interne que vous avez développé vous-même. Mais n’oubliez pas de les relier aux applications qu’ils soutiennent afin de connaître leur véritable valeur. Les intégrations New Relic Infrastructure vous permettent non seulement de voir les composants qui sont importants, mais aussi le contexte dans lequel ils sont importants. Et vous pouvez combler toutes les lacunes que vous risquez d’avoir à gérer avec le SDK Intégrations de New Relic Infrastructure

Ne limitez pas votre surveillance à un seul fournisseur d’infrastructure cloud

Personne ne devrait se limiter à un seul fournisseur d’infrastructure cloud. Même si vous êtes satisfait d’un fournisseur aujourd’hui, vous voudrez peut-être un jour profiter des innovations d’un autre fournisseur, même si vous continuez d’utiliser votre fournisseur initial. La question est la suivante : quand vous serez prêt à évoluer, votre solution de surveillance sera-t-elle prête à vous suivre ? De nombreux fournisseurs cloud offrent une surveillance gratuite « allégée », mais que se passera-t-il si vous voulez passer à plusieurs fournisseurs cloud ou si vous devez vous relier au service sur site d’une autre équipe ? Il vaut mieux choisir une plateforme pour laquelle le fournisseur n’a pas d’importance, comme New Relic, dès le début. 

 

Surveillez votre activité

La surveillance est souvent considérée comme une exigence exclusivement technique, mais c’est une vue à court terme. Grâce au cloud, votre équipe n’a plus à surveiller les composants de l’infrastructure backend et ainsi libérée, elle peut se concentrer sur les mesures qui sont importantes pour votre activité. Quand vous choisissez une solution de surveillance pour le cloud, recherchez la capacité à suivre ce qui compte vraiment pour vous et votre entreprise. Les agents New Relic ont des API puissantes pour vous permettre de créer des rapports sur les mesures, les attributs et les événements personnalisés au sujet de votre système et de l’expérience des utilisateurs finaux. Vous pouvez élargir les informations que vous opérationnalisez par le biais d’alertes, de tableaux de bord et de requêtes NRQL afin d’inclure des signaux spécifiques à votre entreprise et même d’établir les liens entre les performances et les résultats commerciaux.

Prochaines étapes

Quels que soient vos objectifs dans le cloud, si vous suivez ces meilleures pratiques pour la surveillance des applications et de l’infrastructure cloud, cela vous aidera à vous débarrasser de vos mauvaises habitudes et à y arriver plus rapidement, avec une meilleure visibilité sur le fonctionnement de tous les composants. Avec une solution de surveillance moderne, vous aurez toujours accès aux informations dont vous avez besoin pour effectuer la migration de vos applications existantes, dépanner vos applications et votre infrastructure dans le cloud et continuer à moderniser votre entreprise.