IT-Beratung seit 17 Jahren

Probleme sichtbar machen. Ursachen verstehen. Systeme verbessern.

IT-Beratung für Softwareentwicklung, Betrieb und Datenbanken. Ich finde die Ursache dort, wo sie liegt: im Betrieb, in der Datenbank oder im Anwendungscode.

mongodb_cpu_usage{env="prod"}praxisbeispiel
fix: Page → Stream
vorher70 %
nachher15 %
Portrait Jonas Hahn
Jonas Hahn
Freiberuflicher IT-Berater · München
// vorgehen

Vom Symptom zur Ursache – und zur Lösung.

Instabile Dienste, langsame Abfragen, unerklärliche Ausfälle: Die Ursache liegt oft nicht dort, wo das Symptom sichtbar wird. Ich untersuche das Zusammenspiel von Anwendung, Datenbank und Infrastruktur und behebe die Ursache dort, wo sie liegt – im Betrieb, in der Datenbank oder im Anwendungscode.

01 · detect

Probleme erkennen

Monitoring und aussagekräftige Metriken machen Schwachstellen sichtbar, bevor sie zum Ausfall führen.

02 · analyse

Ursachen verstehen

Analyse des Zusammenspiels von Anwendung, Datenbank und Infrastruktur.

03 · resolve

Verbesserungen umsetzen

Betrieb anpassen, Performance verbessern und bei Bedarf bestehende Software grundlegend überarbeiten.

// postmortem · branche versicherungen

Langsame Verarbeitung trotz Codeänderungen

symptom
Die Verarbeitung einer MongoDB-basierten Anwendung war wiederholt zu langsam. Codeänderungen auf Verdacht brachten keine Besserung, weil die Ursache unbekannt war.
sichtbar machen
Ein detailliertes Monitoring der MongoDB-Metriken zeigte eine hohe CPU-Last der Datenbank, obwohl die Services lediglich große Ergebnismengen lasen.
ursache
Die Code-Analyse ergab, dass die Paginierung von Spring Data MongoDB für jede Seite eine neue Abfrage an die Datenbank schickte, statt die Ergebnisse über einen Cursor zu lesen.
lösung
Umstellung von Page auf Stream, das einen Cursor nutzt. Ich setzte die Lösung beispielhaft in einem Service um und dokumentierte die Hintergründe ausführlich, sodass das Entwicklungsteam des Kunden die übrigen Services selbstständig umstellen konnte.
ergebnis
CPU-Last der Datenbank: 70 % → 15 %
// leistungen · einzeln buchbar

Fünf Leistungen, jede mit eigenem Ergebnis.

Die folgenden Leistungen sind auch einzeln buchbar.

svc/01

Monitoring, Analyse und Stabilisierung

Ich baue Monitoring und Alerting mit Prometheus und Grafana auf, entwickle anwendungsspezifische Metriken und Exporter und analysiere Instabilitäten bis zur eigentlichen Ursache. So wird der Zustand Ihrer Systeme jederzeit nachvollziehbar.

PrometheusGrafanaAlerting
svc/02

Cloud Operations und Systemadministration

Ich konzipiere, installiere und betreue Server- und Cloud-Infrastrukturen mit Kubernetes, OpenShift und Terraform – vom Aufbau neuer Umgebungen bis zum stabilen Betrieb Ihrer existierenden oder neu entwickelten Software.

KubernetesOpenShiftTerraform
svc/03

Datenbanken und Datenplattformen

Ich konzipiere Datenbanken und Datenflüsse, berate bei der Auswahl passender Systeme, führe Migrationen durch und optimiere die Performance – von relationalen Datenbanken bis zu analytischen Plattformen wie Apache Druid und Apache Doris.

PostgreSQLMongoDBKafkaDruidDoris
svc/04

Individuelle Softwareentwicklung mit Java Spring

Wo Standardsoftware nicht passt, entwickle ich Individuallösungen mit Java Spring und Java Enterprise: skalierbar, robust und wartungsfreundlich. Bestehende Anwendungen analysiere ich und überarbeite sie dort, wo Betrieb und Performance es erfordern.

Java SpringPythonGo
svc/05

Dokumentation, Knowledge Transfer, Schulungen

Es geht nicht nur darum, eine für Ihr Geschäft optimale Lösung zu finden, sondern auch alle Beteiligten zu befähigen, die Lösung langfristig zu warten und bestmöglich zu nutzen. Durch klare Dokumentationen und gezielte Schulungen bleibt erworbenes Wissen nicht nur bei mir.

DokumentationWorkshopsSchulungen
net/allwerker

Starkes Netzwerk: allwerker eG

Als Mitglied der Freelancing-Genossenschaft allwerker eG kann ich bei Bedarf auf erfahrene IT-Expert:innen aus verschiedenen Fachbereichen zurückgreifen – so lassen sich auch größere und komplexere Projekte realisieren.

allwerker eG
// tail -f blog.log

Aus dem Blog

alle beiträge →
// on-call

Ihr System läuft nicht so, wie es soll?

Kontaktieren Sie mich – wir finden gemeinsam heraus, woran es liegt.