Macmillian

Macmillan choisit AppDynamics pour surveiller les applications Windows Azure

Macmillan Publishing Group est une société d'édition mondiale, détenue par Verlagsgruppe Georg von Holtzbrinck. Holtzbrinck est l'une des premières sociétés de médias au monde ciblée sur les médias papier et électronique, en délivrant des informations, diffusant des connaissances et en répondant aux besoins des marchés éducatifs, professionnels et de lectorat grand public. Basée à Stuttgart, en Allemagne, elle détient environ 40 entreprises incluant des éditeurs de livres, magazines et journaux, et des sociétés de nouveaux médias.

Défi : mieux comprendre la performance applicative sous Windows Azure

Une partie de l'activité d'édition de Macmillan consiste à fournir des manuels haut de gamme à des milliers d'étudiants dans le monde entier. Outre des manuels imprimés, Macmillan propose des supports et activités en ligne pour compléter l'apprentissage des étudiants. Les équipes responsables des applications de Macmillan au Royaume-Uni ont la charge de créer, d'assurer la maintenance et l'assistance d'applications rapides et évolutives où que se trouvent ses utilisateurs dans le monde.

Pour parvenir à une couverture mondiale nécessaire à ses applications, Macmillan a décidé de les héberger dans le cloud Windows Azure de Microsoft, avec des centres de données dans tous les principaux secteurs de la société. C'est en hébergeant des versions identiques des applications d'apprentissage en ligne dans chaque centre de données, que Macmillan a pu garantir une expérience utilisateur similaire à tous les étudiants, où qu'ils se trouvent.

L'architecture des applications .NET de Macmillan étant relativement complexe, il était difficile d'identifier les goulots d'étranglement de performance avec les outils de suivi disponibles dans Windows Azure. « Les rapports de suivi de Windows Azure sont de très haut niveau », déclare James Graham, chef de projet chez Macmillan. « Mais nous avions du mal à déterminer si les problèmes provenaient de l'application ou du réseau, et encore plus de quel service ils étaient issus. » L'équipe de M. Graham s'est donc mis en quête d'un outil de gestion des performances applicatives (APM) capable de leur apporter une meilleure visibilité sur leurs applications sous Windows Azure.

AppDynamics s'est avéré être idéal pour les applications .NET distribuées

M. Graham n'a pas eu à chercher très longtemps, car très peu d'outils d'APM sont conçus pour fonctionner dans l'environnement Windows Azure. Parmi ceux-ci, il s'est rendu compte que la plateforme AppDynamics offrait la meilleure solution pour surveiller une structure applicative .NET complexe distribuée sous Windows Azure. « L'APM AppDynamics nous montre comment les différents services interagissent et nous permet de passer les données en revue afin de résoudre les véritables problèmes », explique M. Graham.

AppDynamics nous apporte une bien meilleure vision du fonctionnement de nos applications.

« Elle a été très simple à installer et à déployer sous Windows Azure », ajoute M. Graham. Quelques heures après l'obtention des clés de licence, les développeurs de Macmillan ont pu identifier un problème qu'ils tentaient de localiser depuis plus d'un mois. « Nous nous sommes rendu compte que l'une de nos requêtes de base de données renvoyait une grande quantité de données de la base de données, mais que seule une petite partie était pertinente », déclare M. Graham. « Ce problème entraînait une surcharge inutile et un ralentissement de l'application pour l'utilisateur final. » Selon M. Graham, sans la solution AppDynamics, « nous n'aurions pas pu le savoir. »

Du dépannage à l'optimisation de la performance

M. Graham a tout d'abord utilisé la plateforme AppDynamics comme un outil de dépannage, mais s'est ensuite attelé à optimiser la performance et même à planifier la capacité. « Nous consultons tous les mois les données reçues de l'APM AppDynamics pour savoir quelle partie du code reconcevoir ou quelles optimisations apporter dans la base de données en vue d'améliorer la performance », explique M. Graham. « Nous pouvons également utiliser ces données pour découvrir le comportement de l'application si nous envisagions de l'adapter, de 80 000 à 500 000 étudiants par exemple. Cette fonctionnalité nous permet de planifier les ressources dont nous aurons besoin à l'avenir. »

Certains appels d'utilisateurs finaux qui duraient généralement entre 10 et 15 secondes ne prennent maintenant plus que 2 à 3 secondes.

La plateforme AppDynamics a également offert à Macmillan une meilleure visibilité des appels de services tiers. « Nous sommes maintenant capables de montrer aux sociétés tierces avec lesquelles notre application interagit où se trouvent les problèmes. Nous avons collaboré avec certains de nos partenaires afin d'optimiser leurs services, ce qui nous a permis de dégager des gains importants. Certains appels d'utilisateurs finaux qui prenaient 10 à 15 secondes ne prennent plus que 2 à 3 secondes. »

« AppDynamics nous apporte une bien meilleure vision du fonctionnement de nos applications », déclare M. Graham. « Elle vous montre la différence entre les changements que l'on pense apporter au code et les changements qui sont effectivement adoptés lors de l'exécution de l'application. En fin de compte, cette solution nous a permis d'améliorer l'expérience d'utilisateur final de nos étudiants. »