Gedanken
Technische Artikel und Einblicke zu Engineering, KI und Softwarearchitektur.
Infrastructure as Code heißt nicht Terraform. CDK, Pulumi und die Frage, die wirklich entscheidet
Irgendwann um 2019 wurde „Infrastructure as Code“ in den meisten Gesprächen zum Synonym für Terraform, so wie „Suche“ Google bedeutet. Das ist ein vernünftig...
Queues ohne Kafka: SQS, EventBridge und die eine Stelle, an der wir wirklich einen Stream brauchten
Jede Plattform erreicht den Moment, in dem eine Anfrage zu viel tut. Der Checkout-Handler verschickt eine E-Mail, aktualisiert den Suchindex, benachrichtigt ...
Rate Limiting: am Rand, im Gateway oder in der App? Drei Schichten, drei Aufgaben
„Rate Limiting hinzufügen“ ist ein Einzeiler-Ticket, das drei verschiedene Probleme verbirgt. Jemand hämmert von einer IP auf die Login-Route: Das ist Missbr...
Health Checks, die lügen: sechs Arten, wie Ihr Dienst „bereit“ sagt, wenn er es nicht ist
Ein Health Check ist ein Vertrag zwischen Ihrer Anwendung und dem, was ihr Traffic zuweist. Der Router fragt „kannst du einen Request annehmen?“, und die Anw...
Backups, die Sie nie wiederhergestellt haben, sind keine Backups. Eine Restore-Übung, gestoppt.
Jeder AWS-Datenspeicher hat Backups standardmäßig oder per Häkchen aktiviert. Aurora hält automatische Backups. DynamoDB hat Point-in-Time-Recovery. S3 hat V...
Ein Incident-Runbook für ein Team ohne Bereitschaftsdienst
Große Unternehmen haben On-Call-Rotationen, Incident Commander, Schweregradmatrizen und ein passendes Tooling-Budget. Ein Dreierteam hat einen Gruppenchat un...
Das Datenbankpasswort ohne Ausfall rotieren: das, was Sie schon lange aufschieben
Alle sind sich einig, dass das Datenbankpasswort rotieren sollte. Bei fast niemandem tut es das, und der Grund ist nicht Faulheit. Es ist, dass beim ersten V...
WAF für eine Next.js-App: die Managed Rules, die legitimen Traffic blockieren, und was wir dagegen getan haben
AWS WAF vor einer Webanwendung einzuschalten ist ein CDK-Construct und eine Handvoll Häkchen bei Managed Rule Groups. Es ist außerdem, nach unserer Erfahrung...
Secrets in CDK: Secrets Manager, Parameter Store, und niemals etwas im Template
Ein CloudFormation-Template ist eine Textdatei. Es wird von CloudFormation gespeichert, liegt in cdk.out auf der Festplatte jedes Entwicklers, steht in den C...
Reserved, Savings Plans oder nichts: wann sich ein Einjahres-Commitment im Kleinen tatsächlich lohnt
AWS gibt Ihnen bis zu 72 % Rabatt auf Compute, wenn Sie versprechen, drei Jahre lang weiter dafür zu zahlen. Die Zahl ist echt und steht in jeder Kostenoptim...
Das NAT Gateway ist der teuerste Posten, den Sie nicht sehen
Er steht nicht auf der Rechnung. Jedenfalls nicht als „NAT Gateway“. Er steht unter EC2-Other, als Nutzungstyp NatGateway-Hours neben einem weiteren namens N...
Zero-Downtime-Deploys sind kein Plattform-Feature. Sie sind eine Disziplin bei Schemamigrationen.
Jede Container-Plattform wird Ihnen sagen, dass sie Zero-Downtime-Deployments beherrscht. App Runner, Fargate, Cloud Run, Kubernetes: alle starten neue Insta...
Dev, Staging und Prod vom ersten Tag an: warum ein Dreierteam nicht warten sollte
„Wir trennen die Umgebungen später, wenn wir Nutzer haben.“ Diesen Satz haben wir von jedem kleinen Team gehört, mit dem wir gearbeitet haben, und wir haben ...
Sie brauchen kein Kubernetes. Sie brauchen ein gutes Dockerfile und einen Ort, an dem es läuft.
Alle paar Monate fragt uns ein Team von drei bis fünf Engineers, ob es auf Kubernetes umziehen sollte. Die Anwendung ist ein Web-Frontend, eine API, ein paar...
Was verwaltete Observability bei 100 GB am Tag wirklich kostet: Datadog, Grafana Cloud, selbst gehostet
Die Observability-Rechnung ist die, die zweimal überrascht. Das erste Mal, wenn sie eintrifft und ein Drittel der Compute-Rechnung ausmacht. Das zweite Mal e...
Alarme, die nicht wissen, in welcher Cloud sie laufen
Jede Cloud verkauft Ihnen Alarme. CloudWatch Alarms, Azure-Monitor-Alarmregeln, Cloud-Monitoring-Alerting-Policies: jeder ist vorkonfiguriert, jeder ist ein ...
Auch Ihre Traces sollten nicht wissen, in welcher Cloud sie laufen
Wir haben dargelegt, dass Anwendungslogs nicht der Cloud gehören sollten: die App emittiert, ein Agent stempelt die Cloud darauf, ein neutrales Backend speic...
Gleiches Tag, kein Deploy: warum cdk deploy mit unverändertem Image nichts tut, und das 300-Zeilen-Skript, das wir darum herum geschrieben haben
Zwei Geschichten über dieselbe Deploy-Pipeline, gemeinsam erzählt, weil die zweite wegen der ersten existiert. Die erste ist ein Bug, der keiner ist: wir hab...
CloudWatch Data Protection Policies: PII maskieren, bevor sie in Ihren Logs landen
Ein Support-Engineer bat um ein Debug-Log auf einer API-Route, „nur für eine Woche“, um einem Bug in der Adressvalidierung nachzujagen. Die Log-Zeile war der...
Aurora Serverless v2 nach sechs Monaten: die 0,5-ACU-Untergrenze und der Auto-Pause-Mythos
Aurora Serverless v2 wird mit einem Satz verkauft: zahlen Sie für die Datenbankkapazität, die Sie nutzen, skaliert in Sekundenbruchteilen. Sechs Monate Betri...
Das 500-Ressourcen-Limit von CloudFormation, und wie wir einen Stack ohne Datenverlust aufgeteilt haben
cdk deploy scheiterte mit einer Meldung, die wir noch nie gesehen hatten: Template format error: Number of resources, 503, is greater than maximum allowed, 5...
GitHub OIDC statt Access Keys: eine Deploy-Rolle pro AWS-Konto, null Secrets in CI
In den Repository-Secrets Ihres GitHub-Projekts liegt ein langlebiger AWS Access Key. Angelegt hat ihn, wer die erste Pipeline aufgesetzt hat, er hat Adminis...
Preview-Umgebungen pro Pull Request auf AWS, ohne Vercel
Code-Review hat eine Obergrenze. Ein Reviewer kann einen Diff lesen und darüber nachdenken, aber er kann nicht darauf klicken. Für ein Produkt mit UI ist der...
Die AWS-Rechnung eines Drei-Personen-Startups, Zeile für Zeile
Alle veröffentlichen Architekturdiagramme. Niemand veröffentlicht die Rechnung. Das ist schade, denn auf der Rechnung wird die Architektur ehrlich: der Diens...
Ihre Logs sollten nicht wissen, in welcher Cloud sie laufen
Es ist 02:40 Uhr und die Bestell-Pipeline verliert Events. Die API läuft auf EKS. Der Worker, der Bestellungen anreichert, ist letztes Quartal nach GKE umgez...
AWS App Runner nach sechs Monaten in Produktion: eine ehrliche Bewertung
Wir betreiben seit März 2026 drei Next.js-Anwendungen auf AWS App Runner, verteilt auf Dev-, Staging- und Produktionskonten, für eine Kundenplattform mit ech...
Der Tag, an dem CloudFormation unsere App-Runner-Services löschte: ein Post-Mortem und die vier Sicherheitsnetze, die wir eingebaut haben
Am 30. April 2026 löschte ein einziger cdk deploy-Lauf von einem Laptop aus sämtliche App-Runner-Services in unserer Dev-Umgebung. Es gingen keine Daten verl...
Drei AWS-Konten, eine CDK-Codebasis: wie wir verhindern, dass sich Dev, Staging und Prod gegenseitig kontaminieren
Die meisten AWS-Artikel in diesem Blog waren bisher Anleitungen: was ein Dienst macht, wie man ihn einrichtet, was er kostet. Dieser Artikel ist anders. Er d...
Wie wir Cloud & DevOps bauen — zuverlässige Infrastruktur, die skaliert
AWS, Azure, Docker, CI/CD-Pipelines. Wir richten Ihre Infrastruktur für Zuverlässigkeit, Sicherheit und Auto-Scaling ein.
Containerisierte Anwendungen auf AWS ECS Fargate bereitstellen: Ein Praxisleitfaden
Der Betrieb von Containern in Produktionsumgebungen erfordert zuverlassige Orchestrierung, nahtlose Skalierung und minimalen operativen Aufwand. AWS Elastic ...