BLOG
BETA
← Zurück

AWS für Echtzeit-Alerting: Architektur eines Katastrophenschutz-MVP

Code auf Bildschirm

Wie wir mit Lambda, EventBridge und SNS ein skalierbares Alerting-System für Wetterwarnungen aufgebaut haben.

Der Auftrag

Ein Kunde aus dem öffentlichen Sektor brauchte ein System zur automatisierten Alarmierung bei Extremwetterereignissen. Die Anforderungen:

  • Echtzeit-Verarbeitung von Wetterdaten
  • Regelbasierte Alarmierung (Schwellwerte, Kombinationen)
  • Multi-Channel-Benachrichtigung (SMS, E-Mail, Push)
  • Audit-Trail für alle Entscheidungen
  • Hohe Verfügbarkeit (99.9%)

Timeline: 6 Wochen für ein funktionierendes MVP.

Die Architektur

Datenquellen

Wetterdaten kommen aus verschiedenen Quellen:

  • DWD Open Data: Offizielle Warnungen des Deutschen Wetterdienstes
  • Sensornetzwerk: Lokale Messstationen (Temperatur, Niederschlag, Wind)
  • Pegelstände: Wasserstände von Flüssen

Ingestion Layer

┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│  DWD API   │     │  Sensoren   │     │   Pegel     │
└──────┬──────┘     └──────┬──────┘     └──────┬──────┘
       │                   │                   │
       ▼                   ▼                   ▼
┌──────────────────────────────────────────────────────┐
│                   API Gateway                        │
└──────────────────────────┬───────────────────────────┘
                           │
                           ▼
┌──────────────────────────────────────────────────────┐
│              Lambda: Data Normalizer                 │
└──────────────────────────┬───────────────────────────┘
                           │
                           ▼
┌──────────────────────────────────────────────────────┐
│                    EventBridge                       │
└──────────────────────────────────────────────────────┘

Processing Layer

EventBridge routet Events basierend auf Typ und Region:

  • Rule Engine Lambda: Prüft definierte Schwellwerte
  • Aggregation Lambda: Kombiniert mehrere Datenpunkte
  • Decision Lambda: Entscheidet über Alarmierung

Notification Layer

┌─────────────────────────────────────────────────────┐
│              Lambda: Notification Router            │
└───────────┬─────────────┬─────────────┬─────────────┘
            │             │             │
            ▼             ▼             ▼
       ┌────────┐    ┌────────┐    ┌────────┐
       │  SNS   │    │  SES   │    │ Pinpoint│
       │ (SMS)  │    │(E-Mail)│    │ (Push) │
       └────────┘    └────────┘    └────────┘

Technische Details

Latenz-Optimierung

Bei Katastrophenwarnungen zählt jede Sekunde. Unsere Maßnahmen:

  • Provisioned Concurrency: Keine Cold Starts für kritische Lambdas
  • Regional Deployment: eu-central-1 für minimale Latenz
  • Async Processing: Nicht-kritische Aufgaben entkoppelt

Zuverlässigkeit

  • Dead Letter Queues: Keine verlorenen Events
  • Retry-Strategien: Exponential Backoff mit Jitter
  • Multi-AZ: Automatisches Failover
  • Monitoring: CloudWatch Alarms für alle kritischen Metriken

Audit & Compliance

Jede Entscheidung wird dokumentiert:

  • Eingangsdaten
  • Angewandte Regeln
  • Ergebnis der Entscheidung
  • Ausgelöste Benachrichtigungen
  • Zustellstatus

Kosten

Serverless bedeutet: Pay per use. Bei typischer Last:

  • Lambda: ~$50/Monat
  • EventBridge: ~$10/Monat
  • SNS/SES: ~$30/Monat (abhängig von Alerts)
  • CloudWatch: ~$20/Monat

Gesamt: ~$110/Monat für ein hochverfügbares Alerting-System.

Lessons Learned

  1. EventBridge ist mächtig: Content-based Routing spart viel Code
  2. Teste Failure Modes: Was passiert, wenn SNS ausfällt?
  3. Observability first: Ohne gutes Monitoring bist du blind
  4. Dokumentiere Regeln: Warum wurde dieser Alert ausgelöst?

Sie brauchen ein zuverlässiges Alerting-System? Wir helfen.

PROJEKT BESPRECHEN →