
von
Mergim Esati
Cloud Engineer
Cloud Engineer
Serverless Coffee Tracker: Infrastruktur, Code und Integration mit Microsoft Teams
Wie viel Koffein steckt wirklich in deinem Arbeitstag? Unser serverloser Coffee Tracker zeigt, wie moderne Cloud-Technologien mit AWS, Terraform und Microsoft Teams spielerisch Alltag und IT verbinden – smart, skalierbar und ganz ohne Server.
Serverless-Architekturen ermöglichen es, Anwendungen schnell und flexibel zu entwickeln, ohne sich um die Verwaltung von Servern kümmern zu müssen. Unser Coffee-Tracker-Projekt nutzt eine Vielzahl von AWS-Services wie API Gateway, Lambda, DynamoDB und SNS, um den Kaffeekonsum im Team effizient zu erfassen und zu überwachen – und das komplett als Infrastructure-as-Code mit Terraform.
Funktionsweise
Die Anwendung ist so konzipiert, dass sie sich nahtlos in den Arbeitsalltag integrieren lässt: Über einen Shortcut in Microsoft Teams wird ein REST-Endpunkt aufgerufen, der die Kaffeedaten (z. B. Espresso, Anzahl) übermittelt. Eine Lambda-Funktion verarbeitet die Anfrage, prüft die Eingaben, speichert den Eintrag in DynamoDB und stösst über SNS eine Benachrichtigung an, die wiederum von einer weiteren Lambda-Funktion genutzt wird, um eine Adaptive Card direkt in Microsoft Teams zu posten. So bleibt das Team immer informiert – und niemand überschreitet unbemerkt das Koffeinlimit.
Technischer Aufbau
- API Gateway: Stellt REST-Endpunkte bereit, die von Teams oder anderen Clients angesprochen werden können.
- Lambda (Python 3.13): Vier Funktionen übernehmen das Tracken, Auslesen, Protokollieren und Benachrichtigen.
- track_coffee.py: Validiert und speichert Einträge, triggert SNS.
- get_user_entries.py: Listet die letzten Einträge eines Nutzers auf.
- notify_teams.py: Sendet Benachrichtigungen als Adaptive Card an Teams.
- logging_utils.py: Loggt Lambda-Ereignisse direkt in CloudWatch-Loggruppen.
- DynamoDB: Zwei Tabellen – eine für die Kaffee-Einträge, eine für die Deduplizierung von Teams-Nachrichten.
- SNS: Vermittelt Events zwischen den Komponenten.
- IAM & CloudWatch: Sichern die Umgebung ab und sorgen für Logging.
- Terraform: Mit Infrastructure as Code erfolgt die Bereitstellung der gesamten Umgebung deklarativ und automatisiert – Änderungen und Rollouts sind dadurch schnell und kontrolliert möglich.

Beispiel für einen JSON-Eintrag in DynamoDB
{
"userId": "employee1",
"timestamp": "2025-09-12T10:15:00Z",
"type": "espresso",
"amount": 2
}
Vorteile und Herausforderungen
Die Lösung ist vollständig serverless, benötigt keine eigene Infrastruktur und skaliert automatisch mit der Nutzung. Dank DynamoDB lassen sich Konsumtrends einfach auswerten, z. B. mit QuickSight. Die grösste Herausforderung bestand darin, die Lösung möglichst einfach und benutzerfreundlich zu halten – ohne unnötige Komplexität, aber mit allen wichtigen Funktionen. Die Integration in Microsoft Teams hat sich als besonders praktisch erwiesen, da sie direkt im Arbeitsalltag genutzt werden kann.
Projektaufbau und Einstieg
Wer den Coffee-Tracker selbst ausprobieren möchte, kann direkt loslegen:
- Repository klonen oder Dateien herunterladen
Enthalten sind alle Terraform-Dateien und der Python-Code für die Lambda-Funktionen.
Link: https://github.com/amanoxsolutions/serverless-coffeetracker - Lambda-Code paketieren
Die Lambda-Skripte werden als ZIP-Archiv bereitgestellt, das Terraform automatisch deployt. - Microsoft Teams vorbereiten und Terraform variables.tf anpassen
Erstellen Sie zunächst einen „Incoming Webhook“ in dem gewünschten Microsoft Teams-Kanal. Tragen Sie anschliessend die entsprechende URL in Ihrer variables.tf-Datei ein.

- Terraform initialisieren und ausführen
Terraform erstellt alle Ressourcen automatisch im eigenen AWS-Account.terraform init terraform apply
- API-Endpunkt verwenden
Nach erfolgreicher Bereitstellung erhält man einen API-Endpunkt, über den Kaffee-Einträge direkt – z. B. aus Microsoft Teams – erfasst werden können. Testhalber kann auch curl verwendet werden, um mit dem API-Endpunkt zu interagieren.
- Benachrichtigungen erhalten
Wird ein Kaffeekonsum protokolliert, so erfolgt automatisch eine Benachrichtigung über das konfigurierte SNS-Topic und Microsoft Teams.

Hinweis zur Erweiterbarkeit
Die Lösung ist flexibel und kann jederzeit erweitert werden – etwa um weitere Auswertungen, Authentifizierung, Rate Limiting oder zusätzliche Integrationen. Der vollständige Code ist offen und individuell anpassbar.
Fazit
Mit diesem Projekt zeigen wir, wie einfach und effizient sich moderne Serverless-Architekturen mit AWS und Terraform umsetzen lassen – und wie sich alltägliche Prozesse wie das Kaffeetrinken spielerisch digitalisieren lassen.
Disclaimer
Um das Projekt überschaubar zu halten, wurden bei dieser Lösung bewusst keine wichtigen Sicherheitsaspekte wie Authentifizierung, Autorisierung oder API-Rate-Limiting implementiert. Wenn Sie diese Lösung in einer produktiven Umgebung einsetzen möchten, stellen Sie bitte sicher, dass Sie Ihre API Gateways und alle weiteren Komponenten gemäss den aktuellen Security Best Practices schützen. Gerne unterstützen wir Sie dabei – kontaktieren Sie uns für eine unverbindliche Demo oder individuelle Beratung.




