Alle Leistungen
Leistung · Backend-Entwicklung

Backends die unter Last halten. Nicht nur im Lasttest.

Peak-Traffic ist kein Zufall. Er kommt, zum Kampagnenstart, zum Saisonpeak, zum Ausfall des Wettbewerbers. Ich baue Backends für SaaS-Produkte und Plattformen, die diesen Moment überstehen: in Go und PHP 8, event-getrieben auf AWS, mit Mandantentrennung und Wiederanlauf im Entwurf statt im Nachtrag.

Golang & PHP 8AWS Solutions Architect Professional20+ Jahre Backend
Was Sie bekommen
  • Architektur und Service-Schnitt, der zu Ihren Domänen passt statt zu einem Buzzword
  • Produktionsreifer Code mit Tests, Pipeline und Deployment-Strategie
  • Lasttests mit belastbaren Zahlen. Sie wissen danach, was das System aushält
  • Monitoring, Alarme und Runbooks, mit denen Ihr Team den Betrieb führt
Umfang & Zusammenarbeit

Typischer Umfang 3–9 Monate, Teil- oder Vollzeit. Ein Architektur- oder Lastreview geht auch als abgeschlossenes Zwei-Wochen-Mandat.

Remote aus Deutschland. Direkt mit mir, ohne Agentur dazwischen.

Die Ausgangslage

Es läuft. Bis der Traffic kommt.

Die meisten Backends sind nicht falsch gebaut, sondern für eine andere Größenordnung gebaut. Was mit zehntausend Nutzern funktioniert kippt bei einer Million an Stellen die vorher niemand auf dem Schirm hatte: ein Datenbank-Lock, ein synchroner Aufruf in einer Schleife, ein Connection Pool der zu klein dimensioniert ist.

Dazu kommt der zweite Effekt: Systeme unter Last fallen nicht als Ganzes aus, sie werden langsam. Timeouts stapeln sich, Retries verstärken die Last, aus einem Engpass wird ein Totalausfall. Dagegen hilft kein größerer Server, sondern ein Entwurf der Rückstau aushält.

Typische Symptome
  • Deployments passieren nachts, weil sie tagsüber zu riskant sind.
  • Ein langsamer Downstream-Service reißt das ganze System mit.
  • Es gibt keine Zahl dafür, wie viel Last das System verträgt.
  • Ein großer Kunde beeinflusst die Antwortzeiten aller anderen.
  • Jede Integration an der API wird zum Sonderfall.
  • Nur eine Person versteht den kritischen Pfad wirklich.
Was ich mache

Entworfen.
Belastbar.
Übergeben.

01

Lastprofil und Engpassanalyse

Load TestingProfilingSLOLatenzbudget

Bevor Code entsteht klären wir, was das System aushalten muss: Requests pro Sekunde, Verhältnis von Peak zu Durchschnitt, Latenzbudget pro Aufruf. Danach messe ich, wo es heute bricht, mit Profiling und Lasttest, nicht mit Vermutungen.

02

Service-Schnitt und Entkopplung

EventBridgeSQSIdempotenzDomain-Schnitt

Was nicht synchron sein muss wird asynchron: Queues, Events, idempotente Verarbeitung, Dead-Letter-Queues für den Fall der Fälle. Der Schnitt folgt fachlichen Grenzen und nicht Teamgrenzen. Er entscheidet später über die Betriebskosten.

03

Services in Go für den heißen Pfad

GolanggRPCConcurrencyPHP 8

Wo Durchsatz und Latenz zählen ist Go die pragmatische Wahl: kleiner Speicher-Footprint, echte Nebenläufigkeit, schnelle Starts. Bestehendes in PHP bleibt dabei wo es hingehört und wird sauber angebunden, statt alles auf einmal anzufassen.

04

Mandantentrennung und Datenhaltung

Multi-TenancyPostgreSQLDynamoDBValkey / Redis

Mehrere Kunden auf einer Infrastruktur, ohne dass ein großer Mandant die Antwortzeiten der anderen bestimmt: Isolation auf Daten- und Lastebene, Indizes und Query-Pfade die mitwachsen, Caching als bewusste Entscheidung statt als Abkürzung.

05

Lastfestigkeit und Wiederanlauf

TimeoutsCircuit BreakerMulti-AZRunbooks

Jeder Aufruf bekommt ein Zeitbudget, jede Abhängigkeit einen Circuit Breaker, jede Last eine Grenze ab der kontrolliert abgewiesen wird. Multi-AZ als Standard, Wiederanlauf und Restore einmal mit gestoppter Uhr geprobt, damit im Ernstfall niemand raten muss.

06

APIs und ruhige Deployments

OpenAPI 3CI/CDBlue/GreenFeature Flags

Die API wird vor der Implementierung spezifiziert. OpenAPI für REST, Protobuf für gRPC, damit Integrationen ohne Rückfragen gelingen. Dazu CI/CD mit Tests, Blue/Green-Deployments, Feature Flags für riskante Änderungen und ein Rollback der geübt ist. Ein Release soll ein Nicht-Ereignis sein.

Ihr Backend soll den nächsten Peak überstehen?

Lassen Sie uns in 30 Minuten über Ihr Lastprofil sprechen.

Termin buchen
Termin buchen
Ablauf

Vom Lastprofil zum laufenden System.

Kein Wasserfall. Jeder Abschnitt endet mit etwas das Sie in der Hand halten: einer Zahl, einer Umgebung oder einem Release.

SCHRITT 01

Zielbild klären

Was soll das System aushalten, wer betreibt es, was ist gesetzt. 30 Minuten reichen für die Einschätzung ob es passt.

SCHRITT 02

Analyse und Entwurf

Lastprofil, Engpassmessung, Zielarchitektur mit Service-Schnitt. Ergebnis ist ein Plan mit Reihenfolge und Aufwand.

SCHRITT 03

Bauen in Inkrementen

Geliefert wird in Schritten die einzeln in Produktion gehen können. Tests, Pipeline und Terraform entstehen mit, nicht danach.

SCHRITT 04

Härten und übergeben

Lasttest gegen die vereinbarten Zahlen, Wiederanlauf geprobt, Runbooks, Pairing bis der Betrieb ohne mich sitzt.

Das Ergebnis

Was Sie danach haben.

Belastbare Zahlen statt Hoffnung

Sie wissen was Ihr System aushält, wo die nächste Grenze liegt und was es kostet sie zu verschieben.

Ausfälle bleiben lokal

Ein überlasteter Teil zieht den Rest nicht mit. Rückstau wird abgefangen statt weitergereicht.

Ein Betrieb der im Team bleibt

Dokumentierte Entscheidungen, Runbooks und ein Team das weiterbauen kann. Kein Wissen das an einer Person hängt.

Eingesetzte Technologien

Bewährte Tools. Kein Experiment.

Sprachen
  • Golang
  • PHP 8
  • TypeScript
  • SQL
Plattform
  • ECS Fargate
  • Lambda
  • EventBridge
  • SQS
  • Terraform
Daten
  • PostgreSQL
  • MySQL
  • DynamoDB
  • Valkey / Redis
Betrieb
  • OpenTelemetry
  • CloudWatch
  • CI/CD
  • Blue/Green
Aus der Praxis
Häufige Fragen

Bevor Sie fragen.

Bauen Sie auch das Frontend?

Nein. Ich baue Backend, Schnittstellen und Infrastruktur. Für Frontend und Design arbeite ich mit Ihrem Team oder den Dienstleistern zusammen, die Sie schon haben. Die Abstimmung läuft über den API-Contract, der vorher steht. Wenn Sie jemanden für das komplette Produkt inklusive Oberfläche suchen, bin ich der Falsche und sage das im Erstgespräch.

Müssen wir dafür auf Microservices umstellen?

Nein. Ein gut geschnittener Monolith ist vielen verteilten Systemen überlegen und deutlich billiger im Betrieb. Ich zerlege nur dort wo es einen konkreten Grund gibt: unterschiedliche Lastprofile, unterschiedliche Release-Zyklen oder Teamgrenzen die sonst dauerhaft blockieren.

Brauchen wir Kubernetes?

Oft nicht. Kubernetes ist ein gutes Werkzeug, wenn Sie mehrere Teams, viele Services und Menschen haben die den Cluster betreiben können. Für die meisten Setups ist ECS Fargate schneller am Ziel und günstiger im Betrieb. Ich entscheide das anhand Ihres Teams und Ihrer Last, nicht anhand des Trends.

Warum Go und nicht unsere bestehende Sprache?

Meistens bleibt die bestehende Sprache. Go setze ich gezielt dort ein wo Durchsatz, Latenz und Speicherverbrauch zählen, als zusätzlicher Service neben dem Bestand, angebunden über gRPC oder Queue. Wie das ohne Komplettumbau funktioniert, habe ich in einem eigenen Artikel beschrieben.

Schreiben Sie selbst Code oder beraten Sie nur?

Ich schreibe Code. Der Entwurf entsteht am Anfang, aber der größte Teil der Zeit fließt in Implementierung, Tests und Pipeline. Beratung ohne Umsetzung führt in meiner Erfahrung zu Dokumenten die niemand liest.

Arbeiten Sie mit unserem bestehenden Team zusammen?

Ja, und das ist der Regelfall. Ich arbeite im Pairing, dokumentiere Entscheidungen als ADR im Repository und übergebe bevor ich gehe. Das Ziel ist nicht Abhängigkeit von mir, sondern ein Team das selbst weiterbauen kann.

Weitere Leistungen

Womit ich sonst helfe.