Macmillan Publishing Group

Macmillan nutzt AppDynamics zur Überwachung von Windows Azure-Anwendungen

Die Macmillan Publishing Group ist ein Verlag unter dem Dach der Verlagsgruppe Georg von Holtzbrinck. Holtzbrinck ist eins der weltweit größten Unternehmen im Bereich Print- und elektronische Medien für den Lehr- und Fachbuchmarkt sowie Belletristik. Im Besitz der Gruppe aus Stuttgart befinden sich etwa 40 Unternehmen, darunter Buch-, Zeitschriften- und Zeitungsverlage sowie Unternehmen aus dem Bereich neue Medien.

Tiefgreifenderes Verständnis der Anwendungsleistung unter Windows Azure

Macmillan produziert unter anderem hochwertige Lehrbücher für Tausende von Schülern und Studenten weltweit. Zusätzlich zu diesem Lehrbüchern bietet Macmillan Onlinekurse und weitere zugehörige Aktivitäten. Diese Anwendungen werden von Macmillan in Großbritannien entwickelt, gepflegt und unterstützt. Die Aufgabe besteht darin, dafür zu sorgen, dass diese Anwendungen weltweit schnell und skalierbar sind.
Um die erforderliche globale Reichweite für seine Anwendungen zu erreichen, setzt Macmillan in seinen regionalen Rechenzentren die Windows Azure-Cloud von Microsoft als Host ein. Da in sämtlichen Rechenzentren dieselben Versionen der einzelnen Anwendungen zum Online-Lernen bereitgestellt werden, kann Macmillan gewährleisten, dass jeder Benutzer an jedem Standort dasselbe Angebot erhält.

Mit AppDynamics können wir viel besser visualisieren, was genau in den Anwendungen abläuft.

Aufgrund der komplexen Architektur der .NET-Anwendungen von Macmillan war das Erkennen von Leistungsengpässen mithilfe der Überwachungstools von Windows Azure bislang schwierig. „Die Überwachungsberichte in Windows Azure beziehen sich auf eine sehr hohe Ebene“, sagt James Graham, Project Manager bei Macmillan. „Deshalb war es nicht einfach, zu erkennen, ob ein Problem durch eine Anwendung oder durch ein Netzwerk verursacht wurde, geschweige denn, welcher Dienst betroffen war.“ Grahams Team begab sich auf die Suche nach einem Application Performance Management (APM)-Tool, das mehr Transparenz für die Anwendungen in Windows Azure bot.

AppDynamics eignet sich optimal für verteilte .NET-Anwendungen

Grahams Auswahlmöglichkeiten waren eingeschränkt, da nur sehr wenige APM-Tools für die Windows Azure-Umgebung entwickelt werden. Er stellte fest, dass die AppDynamics-Plattform die am besten geeignete Überwachungslösung für die komplexe, verteilte .NET-Anwendungsstruktur in Windows Azure ist. „Mit dem APM-Tool von AppDynamics können wir erkennen, wie die unterschiedlichen Dienste interagieren. Nun haben wir die Möglichkeit, die Daten zu sortieren und die entscheidenden Probleme zu beheben“, so Graham.

„Die Integration und Bereitstellung in Windows Azure war ganz einfach“, ergänzt Graham. Bereits Stunden nach der Eingabe der Lizenzschlüssel konnten die Entwickler von Macmillan ein Problem identifizieren, nach dessen Ursache sie bereits länger als einen Monat gesucht hatten. „Es hat sich herausgestellt, dass bei einer der Datenbankabfragen eine große Datenmenge aus der Datenbank angefordert wurde, die Ausgabe jedoch nur klein war“, erläutert Graham. „Dies hat nicht nur zu einem unnötigen Overhead geführt. Die gesamte Anwendung wurde auf Benutzerseite verlangsamt. Ohne die AppDynamics-Lösung wären wir niemals darauf gekommen“, so Graham.

Manche Aufrufe durch Endbenutzer, die früher 10 bis 15 Sekunden dauerten, erfordern jetzt nur nur noch 2 bis 3 Sekunden.

Leistungsoptimierung statt Problembehebung

Zunächst verwendete Graham die AppDynamics-Plattform als Tool zur Problembehandlung. Bald ging er jedoch dazu über, sie zur Leistungsoptimierungen und sogar für die Kapazitätsplanung zu nutzen. „Wir sehen uns die Daten des APM-Tools von AppDynamics jeden Monat an und überlegen, welcher Code umgestaltet werden muss oder wie die Datenbank zugunsten einer verbesserten Leistung optimiert werden kann“, erklärt Graham. „Außerdem können wir die Daten dazu nutzen, die mögliche Leistung unserer Anwendung für den Fall zu berechnen, dass sie anstelle von 80.000 von beispielsweise 500.000 Studierenden verwendet wird. Auf diese Weise können wir unseren zukünftigen Bedarf an Ressourcen kalkulieren.“

Zudem erhält Macmillan durch die AppDynamics-Plattform Einsicht in die Aufrufe von Drittanbieterdiensten. „Jetzt können wir den Drittanbieter-Unternehmen zeigen, worin das jeweilige Problem besteht. Wir haben bereits mit einigen unserer Partner zusammengearbeitet, um deren Dienste zu optimieren. Das hat sich sehr gelohnt – manche Aufrufe durch Endbenutzer, die früher 10 bis 15 Sekunden dauerten, erfordern jetzt nur nur noch 2 bis 3 Sekunden.“

„Mit AppDynamics können wir viel besser visualisieren, was genau in den Anwendungen abläuft“, sagt Graham. „Wir sehen jetzt den Unterschied zwischen dem, was im Code steht und den Vorgängen, die während der Laufzeit in der Anwendung dann tatsächlich ausgeführt werden. Das Ergebnis ist eine verbesserte Benutzerfreundlichkeit.“