49
APM - Best Practices Rainer Schuppe - codecentric AG 1 Freitag, 11. November 2011

Apm best practices

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: Apm   best practices

APM - Best Practices

Rainer Schuppe - codecentric AG

1

Freitag, 11. November 2011

Page 2: Apm   best practices

2© CrunchCrea - sxc.hu

Freitag, 11. November 2011

Page 3: Apm   best practices

3© ross666 - sxc.hu

Freitag, 11. November 2011

Page 4: Apm   best practices

4© NLTeddy - sxc.hu

Freitag, 11. November 2011

Page 5: Apm   best practices

5© PetStarr - sxc.hu

Freitag, 11. November 2011

Page 6: Apm   best practices

6

Freitag, 11. November 2011

Page 7: Apm   best practices

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

7

Freitag, 11. November 2011

Page 8: Apm   best practices

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 8

Freitag, 11. November 2011

Page 9: Apm   best practices

DEVELOPMENT & QAPRODUCTION OPERATIONS

24/7 visibility to proactively determine root cause

Developers can focus on innovation

Freitag, 11. November 2011

Page 10: Apm   best practices

BusinessPressures

Development doing Monitoring

Can’t recreate the problem Endless war-

room calls

Long MTTR

Forced Re-starts

Unhappy Customers

PRODUCTION OPERATIONS

NoInnovation

DEVELOPMENT & QA

Freitag, 11. November 2011

Page 11: Apm   best practices

11

150+150+

© SupaJem - sxc.hu

Freitag, 11. November 2011

Page 12: Apm   best practices

Performance im Lifecycle - Entwicklung

• Awareness - Ist Performance in der Entwicklung ein Thema?

• Intern, extern oder Mischung?

• Agil oder Wasserfall?

• Non Functional Requirements?

• Einzelfall AnalyseLokal beim Entwickler

• CI Unterstützung?

12

© drouu - sxc.hu

Freitag, 11. November 2011

Page 13: Apm   best practices

Performance im Lifecycle - Test

• Fachtest oder Lasttest?

• Komplexität

• Expertise?• Non Functional Requirements?

• Testdaten = Produktionsdaten?• Problem Reproduktion

13

(c) Buzznet Media

Freitag, 11. November 2011

Page 14: Apm   best practices

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?

14© gabriel77 - sxc.hu

Freitag, 11. November 2011

Page 15: Apm   best practices

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

15

Freitag, 11. November 2011

Page 16: Apm   best practices

16

Kosten

Innovation

Skalierbarkeit

Ease of Use

Moderne Architekturen

Produktionsgeeignet

Freitag, 11. November 2011

Page 17: Apm   best practices

Fit für Produktions Umgebungen - Anforderungen

• Hohe Last (Anzahl Transaktionen)

• Anzahl der Applikationen• Expertise der Operator

• Wartungsfenster

• Vielfalt der Technologien• Problemszenarien nicht wiederholbar

17

Freitag, 11. November 2011

Page 18: Apm   best practices

18

Triage und Troubleshooting (Visibilität)

Kein Einfluss auf die Applikation (Overhead)

Automatisches Applikations-Mapping

Konfigurationsaufwand

Automatisches Baselining

Produktions-geeignet

Freitag, 11. November 2011

Page 19: Apm   best practices

19

Kein Einfluss auf die Applikation (Overhead)

Produktions-geeignet

• CPU Verbrauch

• Antwortzeit-Verlängerung• Server / 2. Overhead

• Verdichten der Daten auf dem Server zu Informationen

Freitag, 11. November 2011

Page 20: Apm   best practices

Sichtbarkeit

20

Freitag, 11. November 2011

Page 21: Apm   best practices

Sichtbarkeit

21

Freitag, 11. November 2011

Page 22: Apm   best practices

22

Monolithische 3-Tier Applikation

auch bei agilen Releases

Applikationen in der Cloud

Verteilte SOA Applikationen

Big Data

unterstützte Architekturen

Application Code & Frameworks (custom und Standard)

Freitag, 11. November 2011

Page 23: Apm   best practices

23

Amazon EC2 Public Cloud

VMware Private Cloud

• Cloud• Virtualization• SOA• Open-source

MQ

Tomcat

JBoss

Spring

Weblogic

unterstützte Architekturen

Freitag, 11. November 2011

Page 24: Apm   best practices

24

APM Solution – Wartungs- und Betreuungsaufwand

Wie schnell einsatzfähig (time to value)?

Wie intuitiv ist die Lösung?

Wird eine SaaS Option angeboten?

Wiederholbarkeit von Problemen?

Welches Knowhow braucht der User?

Ease of Use

Freitag, 11. November 2011

Page 25: Apm   best practices

25

Wie schnell einsatzfähig (time to value)?

Braucht man bei der InstallationUnterstützung des Herstellers?

Welche Expertise ist nötig,um die Lösung wirklich einsetzen zu können?

SaaS Angebot?

© lusi sxc.hu

Ease of Use

Freitag, 11. November 2011

Page 26: Apm   best practices

26

APM Solution – Wartungs- und Betreuungsaufwand

Tägliche Wartung / Betreuung nötig?

Versionsabhängigkeiten der Komponenten?

SaaS Angebot?

(c) sanja gjenero

Ease of Use

Freitag, 11. November 2011

Page 27: Apm   best practices

27

Hardwareanforderungen?

Wieviele Agenten pro Management Server?

Wie kann skaliert werden? Hardware?

Speicherplatz für 1 Jahr?

Benötigte Netzwerkbandbreite?

Lastverhalten: Peak oder gleichmässig?

Skalierbarkeit

Freitag, 11. November 2011

Page 28: Apm   best practices

28

Wieviele Agenten pro Management Server?Skalierbarkeit

• Welche Daten schicken die Agenten?

• Wie oft?• Benötigte Netzwerkbandbreite

• LAN / WAN / DSL geeignet?

• Direkte Kommunikation oder gestaffelt?• Collector Architektur?

Freitag, 11. November 2011

Page 29: Apm   best practices

29

Anzahl Releases pro Jahr?

Hersteller fokussiert auf APM?

Ist der Hersteller als erster mit neuen Features auf dem Markt?

Unterstützung für Ihre aktuelle Platform?

Innovation

Freitag, 11. November 2011

Page 30: Apm   best practices

30

Hersteller fokussiert auf APM?

Innovation

• 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

Freitag, 11. November 2011

Page 31: Apm   best practices

31

Support & Wartung

Lizenzen

Implementierung Dienstleistung / Professional Services

Hardware

Ausbildung & Training

Administration für Ausbau und Wartung

Kosten

Freitag, 11. November 2011

Page 32: Apm   best practices

32

Implementierung Dienstleitung / Professional Services

Ausbildung & TrainingKosten

• Wieviele PT nötig für die Inbetriebnahme?

• Wieviel Training und wie oft ist es nötig?

• Neues Training bei neuen Releases notwendig?

Freitag, 11. November 2011

Page 33: Apm   best practices

0

37,5

75,0

112,5

150,0

Lösung 1Lösung 2

Lösung 3

Kosten Innovation SkalierbarkeitEase of Use Architekturen Prod Geeignet

Freitag, 11. November 2011

Page 34: Apm   best practices

Vergleich der Technologien und Architekturen

• Technologien zur Datenermittlung

• Methodologien

• Komponenten-Monitoring• Transaktions-Monitoring

• Architektur• Agenten

• Server

• Datenhaltung• Integration

• User Interface

Freitag, 11. November 2011

Page 35: Apm   best practices

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 Datenmengen

Freitag, 11. November 2011

Page 36: Apm   best practices

Technologien zur Datenermittlung

Sampling• Stabiler Overhead, der hauptsächlich durch das Samplingintervall,

nicht durch den gemessenen Code, bestimmt wird

• Ausführungshotspots werden anstelle einer feingranularenCodereihenfolge gemessen

• Kann unbekannten Code aufspüren

• Läuft effizient auf Mehrkernsystemen

http://blog.codecentric.de/?p=9528

Freitag, 11. November 2011

Page 37: Apm   best practices

Technologien zur Datenermittlung

• JMX / PMI• Geeignet zur Begleitung

• ARM

• Logging

• Network Sniffing / SPAN-Port

Freitag, 11. November 2011

Page 38: Apm   best practices

38

Applications

FirewallNetwork

Switch

Load Balancer Portal

Identity Manager

End User

Web Servers

Router

ERP

CRM

Order

3rd Party Applications

Databases

Mainframe

Database

Web Services

Freitag, 11. November 2011

Page 39: Apm   best practices

MethodologieKomponenten 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

39

Freitag, 11. November 2011

Page 40: Apm   best practices

40© marcphelan - sxc.hu

Freitag, 11. November 2011

Page 41: Apm   best practices

MethodologieTransaktions-Monitoring

• Einstieg über definierte Fachlichkeiten (Business Transaktionen)

• Verfolgung über JVM Grenzen hinweg• Identifizierung der beteiligten Komponten / Architektur

• End User Experience Integration

41

Freitag, 11. November 2011

Page 42: Apm   best practices

Architektur - Agenten

• Aktiv / passiv

• Java / nativ• Einer für alles

• Gruppe von Agenten für verschiedene Perspektiven?

• Autarker Agent• Gar kein Agent?

• Transaktionskontext?

42

Freitag, 11. November 2011

Page 43: Apm   best practices

Architektur - Server

• Einzelner zentraler Server

• Cluster mit Management Server• Staffelung und Arbeitsverteilung mit Management Server

• SaaS geeignet oder nur lokale Installation?

• Sichere Anbindung der Agenten (Verschlüsselung)?• HA / Failover?

43

© Linuxgeek - sxc.hu

Freitag, 11. November 2011

Page 44: Apm   best practices

44

Management Server

GUI

GUI

GUI

GUI

Agent

Agent

Agent

Agent

Agent

Agent

Database

Freitag, 11. November 2011

Page 45: Apm   best practices

45

Management Server

GUI

GUI

GUI

GUI

Agent

Agent

Agent

Agent

Agent

Agent

Collector Server

Collector Server

Collector Server Aux.

Server

Database

Freitag, 11. November 2011

Page 46: Apm   best practices

Architektur - Datenhaltung

• Database

• Filesystem• Kombination aus beidem

• Wie viel Platz wird über 1 Jahr gebraucht?

46

© runrunrun - sxc.hu

Freitag, 11. November 2011

Page 47: Apm   best practices

Architektur - Integration

• APIs für Input und Output für Daten?

• Java APIs?• Script basiert?

• Einfachheit

• Service Provider / REST?

47

© gozdeo - sxc.hu

Freitag, 11. November 2011

Page 48: Apm   best practices

User Interface

48

• Fat client oder Web-GUI?

• Dashboards• Customizable - Mustomizable?

• Für Operator OOTB verwendbar?

• Mandantenfähig?

© vgarcias - sxc.hu

Freitag, 11. November 2011

Page 49: Apm   best practices

FazitEs gibt viele Werkzeuge, aber nur wenige brauchbare Lösungen

für den Produktionseinsatz

49

Jede Organisation muss die Kriterien selbst gewichten

Automatisierung und Ease of Use sind die Schlüssel für schnelles, effektives Arbeiten

Freitag, 11. November 2011