APM - Best Practices    Rainer Schuppe - codecentric AG                                       1Freitag, 11. November 2011
2  © CrunchCrea - sxc.huFreitag, 11. November 2011
3  © ross666 - sxc.huFreitag, 11. November 2011
4  © NLTeddy - sxc.huFreitag, 11. November 2011
5  © PetStarr - sxc.huFreitag, 11. November 2011
6Freitag, 11. November 2011
Agenda           APM - Worüber reden wir überhaupt?           Performance im Application Lifecycle           Prioritäten b...
Worüber reden wir?      APM = Application Performance Management /                        Monitoring     Monitoring = 24 x...
PRODUCTION OPERATIONS   DEVELOPMENT & QA                  Developers can focus          24/7 visibility to proactively    ...
Development                                Unhappy              doing Monitoring                           Customers      ...
150+                                    11  © SupaJem - sxc.huFreitag, 11. November 2011
Performance im Lifecycle -     Entwicklung• Awareness - Ist Performance  in der Entwicklung ein Thema?• Intern, extern ode...
Performance im Lifecycle - Test • Fachtest oder Lasttest? • Komplexität • Expertise? • Non Functional Requirements? • Test...
Performance im Lifecycle - Produktion     Hier wird Performance ein Business Thema           •   Service Level Agreements ...
Prioritäten bei der Auswahl              1. Fit für die Produktion?              2. Fit für moderne Architekturen?        ...
Produktionsgeeignet                             Moderne Architekturen                                 Ease of Use         ...
Fit für Produktions Umgebungen -     Anforderungen           •   Hohe Last (Anzahl Transaktionen)           •   Anzahl der...
Produktions-         geeignet                             Kein Einfluss auf die Applikation (Overhead)         Triage und ...
Produktions-         geeignet                             Kein Einfluss auf die Applikation (Overhead)     • CPU Verbrauch...
Sichtbarkeit                             20Freitag, 11. November 2011
Sichtbarkeit                             21Freitag, 11. November 2011
unterstützte      Architekturen                                   Monolithische 3-Tier Applikation                        ...
unterstützte       Architekturen   •   Cloud   •   Virtualization                                             Amazon EC2 P...
Ease of Use                                Wie schnell einsatzfähig (time to value)?             APM Solution – Wartungs- ...
Ease of Use                             Wie schnell einsatzfähig (time to value)?        Braucht man bei der Installation ...
Ease of Use                             APM Solution – Wartungs- und Betreuungsaufwand        Tägliche Wartung / Betreuung...
Skalierbarkeit                                Wieviele Agenten pro Management Server?                        Hardwareanfor...
Skalierbarkeit                             Wieviele Agenten pro Management Server?    • Welche Daten schicken die Agenten?...
Innovation                                    Hersteller fokussiert auf APM?                       Anzahl Releases pro Jah...
Innovation                              Hersteller fokussiert auf APM?    •   Ist die Lösung „integriert“ aus Zukäufen?   ...
Kosten                                            Lizenzen                Support & Wartung                               ...
Kosten                                        Ausbildung & Training               Implementierung Dienstleitung / Professi...
Kosten          Innovation         Skalierbarkeit                    Ease of Use     Architekturen      Prod Geeignet     ...
Vergleich der Technologien und                   Architekturen           • Technologien zur Datenermittlung           • Me...
Technologien zur Datenermittlung        Bytecode Instrumentierung            • Hat Zugriff auf die Ausführungsanzahl      ...
Technologien zur Datenermittlung        Sampling            • Stabiler Overhead, der hauptsächlich durch das Samplinginter...
Technologien zur Datenermittlung             • JMX / PMI                   • Geeignet zur Begleitung             • ARM    ...
Identity                           ERP                                                                Manager             ...
Methodologie     Komponenten Monitoring    Alt - nicht mehr für moderne Architekturen geeignet        • JVM Check (CPU, He...
© marcphelan - sxc.hu      40Freitag, 11. November 2011
Methodologie    Transaktions-Monitoring             • Einstieg über definierte Fachlichkeiten (Business               Tran...
Architektur - Agenten           •   Aktiv / passiv           •   Java / nativ           •   Einer für alles           •   ...
Architektur - Server    •   Einzelner zentraler Server    •   Cluster mit Management Server          © Linuxgeek - sxc.hu ...
Agent             Agent                                          GUI             Agent                                    ...
Agent                             Collector                                            Aux.           GUI                 ...
Architektur - Datenhaltung           •   Database           •   Filesystem           •   Kombination aus beidem           ...
Architektur - Integration           •   APIs für Input und Output für Daten?           •   Java APIs?           •   Script...
User Interface           • Fat client oder Web-GUI?           • Dashboards                © vgarcias - sxc.hu             ...
Fazit    Es gibt viele Werkzeuge, aber nur wenige brauchbare Lösungen       für den Produktionseinsatz    Jede Organisatio...
Upcoming SlideShare
Loading in …5
×

Apm best practices

3,049 views
2,965 views

Published on

Eine Zusammenfassung der wichtigen Kriterien zur Auswahl einer APM Lösung für produktive Java Applikationen. Vortrag auf der WJAX 2011 in München von Rainer Schuppe, codecentric AG

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
3,049
On SlideShare
0
From Embeds
0
Number of Embeds
2,034
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Apm best practices

  1. 1. APM - Best Practices Rainer Schuppe - codecentric AG 1Freitag, 11. November 2011
  2. 2. 2 © CrunchCrea - sxc.huFreitag, 11. November 2011
  3. 3. 3 © ross666 - sxc.huFreitag, 11. November 2011
  4. 4. 4 © NLTeddy - sxc.huFreitag, 11. November 2011
  5. 5. 5 © PetStarr - sxc.huFreitag, 11. November 2011
  6. 6. 6Freitag, 11. November 2011
  7. 7. Agenda APM - Worüber reden wir überhaupt? Performance im Application Lifecycle Prioritäten bei der Auswahl 6 Hauptkriterien für die Auswahl Vergleich der Technologien und Architekturen Fazit 7Freitag, 11. November 2011
  8. 8. Worüber reden wir? APM = Application Performance Management / Monitoring Monitoring = 24 x 7 Überwachung = Produktion / Datenerfassung / Protokollierung Management = Service Level / Kapazität / Alarm / Historisch / Berichte Application = Services die zusammen eine Business Funktion bilden Performance = Durchsatz und Geschwindigkeit 8Freitag, 11. November 2011
  9. 9. PRODUCTION OPERATIONS DEVELOPMENT & QA Developers can focus 24/7 visibility to proactively on innovation determine root causeFreitag, 11. November 2011
  10. 10. Development Unhappy doing Monitoring Customers Long MTTR Can’t recreate the problem Endless war- room calls Forced No Re-starts Innovation Business Pressures DEVELOPMENT & QA PRODUCTION OPERATIONSFreitag, 11. November 2011
  11. 11. 150+ 11 © SupaJem - sxc.huFreitag, 11. November 2011
  12. 12. Performance im Lifecycle - Entwicklung• Awareness - Ist Performance in der Entwicklung ein Thema?• Intern, extern oder Mischung?• Agil oder Wasserfall?• Non Functional Requirements?• Einzelfall Analyse Lokal beim Entwickler• CI Unterstützung? © drouu - sxc.hu 12Freitag, 11. November 2011
  13. 13. Performance im Lifecycle - Test • Fachtest oder Lasttest? • Komplexität • Expertise? • Non Functional Requirements? • Testdaten = Produktionsdaten? • Problem Reproduktion (c) Buzznet Media 13Freitag, 11. November 2011
  14. 14. Performance im Lifecycle - Produktion Hier wird Performance ein Business Thema • Service Level Agreements • Umsatzrelevant • Expertise in Operations • Wieviele Applikationen? • Verteilung (selbes Gebäude, Stadt, Land, Kontinent) • DevOps? • Landschaft hetero- oder homogen? © gabriel77 - sxc.hu 14Freitag, 11. November 2011
  15. 15. Prioritäten bei der Auswahl 1. Fit für die Produktion? 2. Fit für moderne Architekturen? 3. Wie einfach einzusetzen? 4. Skalierbarkeit 5. Innovation 6. Gesamtkosten 15Freitag, 11. November 2011
  16. 16. Produktionsgeeignet Moderne Architekturen Ease of Use Skalierbarkeit Innovation Kosten 16Freitag, 11. November 2011
  17. 17. Fit für Produktions Umgebungen - Anforderungen • Hohe Last (Anzahl Transaktionen) • Anzahl der Applikationen • Expertise der Operator • Wartungsfenster • Vielfalt der Technologien • Problemszenarien nicht wiederholbar 17Freitag, 11. November 2011
  18. 18. Produktions- geeignet Kein Einfluss auf die Applikation (Overhead) Triage und Troubleshooting (Visibilität) Konfigurationsaufwand Automatisches Applikations-Mapping Automatisches Baselining 18Freitag, 11. November 2011
  19. 19. Produktions- geeignet Kein Einfluss auf die Applikation (Overhead) • CPU Verbrauch • Antwortzeit-Verlängerung • Server / 2. Overhead • Verdichten der Daten auf dem Server zu Informationen 19Freitag, 11. November 2011
  20. 20. Sichtbarkeit 20Freitag, 11. November 2011
  21. 21. Sichtbarkeit 21Freitag, 11. November 2011
  22. 22. unterstützte Architekturen Monolithische 3-Tier Applikation auch bei agilen Releases Verteilte SOA Applikationen Applikationen in der Cloud Application Code & Frameworks (custom und Standard) Big Data 22Freitag, 11. November 2011
  23. 23. unterstützte Architekturen • Cloud • Virtualization Amazon EC2 Public Cloud • SOA • Open-source Tomcat JBoss MQ VMware Spring Private Cloud Weblogic 23Freitag, 11. November 2011
  24. 24. Ease of Use Wie schnell einsatzfähig (time to value)? APM Solution – Wartungs- und Betreuungsaufwand Wird eine SaaS Option angeboten? Wie intuitiv ist die Lösung? Wiederholbarkeit von Problemen? Welches Knowhow braucht der User? 24Freitag, 11. November 2011
  25. 25. Ease of Use Wie schnell einsatzfähig (time to value)? Braucht man bei der Installation Unterstützung des Herstellers? Welche Expertise ist nötig, um die Lösung wirklich einsetzen zu können? SaaS Angebot? © lusi sxc.hu 25Freitag, 11. November 2011
  26. 26. Ease of Use APM Solution – Wartungs- und Betreuungsaufwand Tägliche Wartung / Betreuung nötig? Versionsabhängigkeiten der Komponenten? SaaS Angebot? (c) sanja gjenero 26Freitag, 11. November 2011
  27. 27. Skalierbarkeit Wieviele Agenten pro Management Server? Hardwareanforderungen? Speicherplatz für 1 Jahr? Wie kann skaliert werden? Hardware? Benötigte Netzwerkbandbreite? Lastverhalten: Peak oder gleichmässig? 27Freitag, 11. November 2011
  28. 28. Skalierbarkeit Wieviele Agenten pro Management Server? • Welche Daten schicken die Agenten? • Wie oft? • Benötigte Netzwerkbandbreite • LAN / WAN / DSL geeignet? • Direkte Kommunikation oder gestaffelt? • Collector Architektur? 28Freitag, 11. November 2011
  29. 29. Innovation Hersteller fokussiert auf APM? Anzahl Releases pro Jahr? Unterstützung für Ihre aktuelle Platform? Ist der Hersteller als erster mit neuen Features auf dem Markt? 29Freitag, 11. November 2011
  30. 30. Innovation Hersteller fokussiert auf APM? • Ist die Lösung „integriert“ aus Zukäufen? • Wie alt ist die Architektur? • Was deckt die Lösung noch ab? • Wie gross ist der APM Anteil? • Baukästen und Frameworks funktionieren nur mit viel Arbeit 30Freitag, 11. November 2011
  31. 31. Kosten Lizenzen Support & Wartung Hardware Implementierung Dienstleistung / Professional Services Ausbildung & Training Administration für Ausbau und Wartung 31Freitag, 11. November 2011
  32. 32. Kosten Ausbildung & Training Implementierung Dienstleitung / Professional Services • Wieviele PT nötig für die Inbetriebnahme? • Wieviel Training und wie oft ist es nötig? • Neues Training bei neuen Releases notwendig? 32Freitag, 11. November 2011
  33. 33. Kosten Innovation Skalierbarkeit Ease of Use Architekturen Prod Geeignet 150,0 112,5 75,0 37,5 0 Lösung 3 Lösung 2 Lösung 1Freitag, 11. November 2011
  34. 34. Vergleich der Technologien und Architekturen • Technologien zur Datenermittlung • Methodologien • Komponenten-Monitoring • Transaktions-Monitoring • Architektur • Agenten • Server • Datenhaltung • Integration • User InterfaceFreitag, 11. November 2011
  35. 35. Technologien zur Datenermittlung Bytecode Instrumentierung • Hat Zugriff auf die Ausführungsanzahl • Genaue tatsächliche/max/min/durchschnittliche Ausführungszeit • Genaue Ausführungsreihenfolge • Benötigt Konfiguration der zu messenden Codestellen • Konfiguration muss ausbalanciert sein • Massenhaft aufgerufene Methoden sind auszuschließen • Genauso Methoden mit Ausführungszeit kürzer als die Messcode-Zeit • Produziert große DatenmengenFreitag, 11. November 2011
  36. 36. Technologien zur Datenermittlung Sampling • Stabiler Overhead, der hauptsächlich durch das Samplingintervall, nicht durch den gemessenen Code, bestimmt wird • Ausführungshotspots werden anstelle einer feingranularen Codereihenfolge gemessen • Kann unbekannten Code aufspüren • Läuft effizient auf Mehrkernsystemen http://blog.codecentric.de/?p=9528Freitag, 11. November 2011
  37. 37. Technologien zur Datenermittlung • JMX / PMI • Geeignet zur Begleitung • ARM • Logging • Network Sniffing / SPAN-PortFreitag, 11. November 2011
  38. 38. Identity ERP Manager CRM Order Load Network Firewall Balancer Portal Mainframe Router Database Switch Web Applications End User Servers Web Services Databases 3rd Party Applications 38Freitag, 11. November 2011
  39. 39. Methodologie Komponenten Monitoring Alt - nicht mehr für moderne Architekturen geeignet • JVM Check (CPU, Heap, Health Check) • Servlets, EJB, SpringBeans, etc. • Evtl. mit Bezug zwischen 2 Ebenen (Servlet - EJB) • JMX • Meist in Frameworks zu finden • Ergänzung der System Monitoring Tools • Kein Kontext -> Expertenwissen benötigt 39Freitag, 11. November 2011
  40. 40. © marcphelan - sxc.hu 40Freitag, 11. November 2011
  41. 41. Methodologie Transaktions-Monitoring • Einstieg über definierte Fachlichkeiten (Business Transaktionen) • Verfolgung über JVM Grenzen hinweg • Identifizierung der beteiligten Komponten / Architektur • End User Experience Integration 41Freitag, 11. November 2011
  42. 42. Architektur - Agenten • Aktiv / passiv • Java / nativ • Einer für alles • Gruppe von Agenten für verschiedene Perspektiven? • Autarker Agent • Gar kein Agent? • Transaktionskontext? 42Freitag, 11. November 2011
  43. 43. Architektur - Server • Einzelner zentraler Server • Cluster mit Management Server © Linuxgeek - sxc.hu • Staffelung und Arbeitsverteilung mit Management Server • SaaS geeignet oder nur lokale Installation? • Sichere Anbindung der Agenten (Verschlüsselung)? • HA / Failover? 43Freitag, 11. November 2011
  44. 44. Agent Agent GUI Agent GUI Management Agent Server GUI GUI Agent Database Agent 44Freitag, 11. November 2011
  45. 45. Agent Collector Aux. GUI Server Agent Server GUI Agent Collector Server Management Agent Server GUI Agent Collector GUI Server Database Agent 45Freitag, 11. November 2011
  46. 46. Architektur - Datenhaltung • Database • Filesystem • Kombination aus beidem • Wie viel Platz wird über 1 Jahr gebraucht? © runrunrun - sxc.hu 46Freitag, 11. November 2011
  47. 47. Architektur - Integration • APIs für Input und Output für Daten? • Java APIs? • Script basiert? • Einfachheit • Service Provider / REST? © gozdeo - sxc.hu 47Freitag, 11. November 2011
  48. 48. User Interface • Fat client oder Web-GUI? • Dashboards © vgarcias - sxc.hu • Customizable - Mustomizable? • Für Operator OOTB verwendbar? • Mandantenfähig? 48Freitag, 11. November 2011
  49. 49. Fazit Es gibt viele Werkzeuge, aber nur wenige brauchbare Lösungen für den Produktionseinsatz Jede Organisation muss die Kriterien selbst gewichten Automatisierung und Ease of Use sind die Schlüssel für schnelles, effektives Arbeiten 49Freitag, 11. November 2011

×