Willkommen zu allesnurgecloud.com – Ausgabe #169
Heute bin ich wegen gestern einen Ticken später dran, dafür ist der Newsletter sehr gut mit diversen Themen gefüllt.
Zudem konnte ich mit Podcast Folge 100 ein Bucket List item checken und musste mich selber erstmal kneifen.
Nächste Woche kommt dann schon die letzte Ausgabe für das Jahr und dann ist erstmal etwas Ruhe angesagt.
Bevor du aber deine Ruhe hast – ein kleiner Weihnachtswunsch von mir: Bitte leite den Newsletter an einen Menschen weiter, für den die Inhalte relevant und interessant sein könnten, Mir hilft es enorm, wenn dieser Newsletter ein bisschen wächst – vielen Dank!
Happy Bootstrapping Podcast – Folge 100
Zwei Jahre nach dem Launch hab ich Podcast Folge 100 veröffentlicht und Philipp Westermeyer von OMR für ein Interview gewinnen können. Wir sprechen über das OMR Festival, den OMR Podcast und die Podstars Produktionen, das SaaS Business von OMR Reviews, OMR Education und wie sich die Geschäftsmodelle gegenseitig ergänzen. OMR ist komplett bootstrapped und mit 350 MA und 60-70 Millionen Euro Umsatz zusammen mit MyDealz und MYPOSTER der bisher „größte Podcast Gast“ gewesen was die reinen Zahlen betrifft.
Wir sprechen im Podcast aber auch über Höhen und Tiefen von Bootstrapping und ein paar verpasste Chancen – ist echt ne coole und interessante Folge geworden und hier und da hab ich Philipp dann doch überraschen können – hör es dir gerne mal an.
allesnurgecloud.com ist ein kuratierter Newsletter mit Inhalten aus der Open-Source, Cloud und IT-Welt.
Für weiteren Content folge mir gerne auf Twitter, Mastodon oder LinkedIn.
Möchtest du den Newsletter wöchentlich per E-Mail erhalten?
Einfach hier abonnieren:
Black Friday Zahlen von Vercel
Auf Vercel hacke ich ja hier und da herum, da das Pricing manchmal etwas schwierig ist – diesmal gibt es was positives – Insights zum Black Friday bei Vercel.
Vercel hat während der Black Friday / Cyber Monday Shopping-Tage 2024 neue Rekorde aufgestellt und präsentierte die Performance-Daten ihrer Plattform über ein Live-Dashboard. Mit über 86 Milliarden Requests und einer Uptime von 99,9992% bewies der Cloud-Anbieter seine Zuverlässigkeit für E-Commerce Anwendungen.
Allgemeine Traffic-Zahlen:
- 86,7 Milliarden Requests insgesamt
- 1,93 Millionen Requests pro Sekunde (Spitzenwert)
- 270.000+ legitime Requests/Sekunde (Spitzenlast)
- 99,9992% Uptime während BFCM
- 80% Wachstum bei Peak-Requests im Vergleich zu 2023
99,9992% Uptime? Hä – 0,0008% von 86400 Sekunden = 0,691 Sekunden – dass muss man auch erstmal so genau messen können.
Sicherheit & Firewall:
- 3,05 Milliarden System-Firewall Blocks
- 519,8 Millionen kundenspezifische WAF Blocks
- 1,75 Mio DDoS Requests/Sekunde wurden abgewehrt
Deployments & Functions:
- 2,45 Millionen Deployments
- 28,9 Mrd+ Function-Aufrufe – da klingeln dann die Kassen
MIt Vercel scheint man sich bei den Deployments am „Black Friday“ Freitag ja recht sicher zu fühlen, wie die Zahlen zeigen.
E-Commerce spezifische Zahlen:
- 60 Mio+ Requests zu Checkout-Pfaden
- 734 Mio+ Verbindungen zu E-Commerce Plattformen
Vercel setzte auf eine Reihe fortschrittlicher technischer Features, um die hohe Last zu bewältigen – von automatischem Region-Failover und dynamischem Auto-Scaling bis hin zu Edge Middleware für Personalisierung und Incremental Static Regeneration (ISR).
Namhafte Kunden wie Under Armour, Fanatics, Sonos und ASICS nutzten die Plattform erfolgreich während der Shopping-Tage. Die Zahlen demonstrieren die Skalierbarkeit und Zuverlässigkeit der Vercel-Infrastruktur auch unter Extremlast.
Billions of dollars, billions of requests: Black Friday-Cyber Monday 2024
„Talk Python“ Blog migriert von DigitalOcean zu Hetzner US
Talk Python hat nach fast 10 Jahren bei DigitalOcean seine komplette Infrastruktur in das neue US-Rechenzentrum von Hetzner in Virginia umgezogen. Die Migration umfasst über 20 Applikationen, APIs, Background Services und Datenbanken.
Der Grund für den Umzug? Die Kosten bei DigitalOcean sind in 10 Jahren nicht gesunken – man bezahlt heute den gleichen Preis wie vor 10 Jahren für den gleichen Server. Bei Hetzner bekommt man für 25,20 € einen Server mit 8 vCPUs und 16 GB RAM – der gleiche Server kostet bei Digital Ocean 112 $, bei AWS 205 $ und bei Azure sogar 320 $ pro Monat.
Nach ersten Tests scheint der Umzug die richtige Entscheidung gewesen zu sein:
- Bandbreite ist 8x schneller als bei DigitalOcean
- CPU-Performance ist 1,2x schneller
- monatlichen Kosten sind 4,5x günstiger
Talk Python spart durch den Umzug etwa 1.500 $ pro Jahr – bei besserer Performance der Server und des Netzwerks. Der Umzug war auch deshalb so einfach möglich, da man die Deployment-Modelle bereits zuvor Provider-unabhängig aufgesetzt hatte. Solange ein Linux-Server zur Verfügung steht, läuft alles wie gewünscht. Ich weiß, „Booring Technology„, aber da bin ich ja eh ein Fan von.
Sponsored
Monitoring as Code für LinkedIn, Crowdstrike und 1Password
Checkly ist eine code-first Monitoring-Lösung, die ein kundenzentrisches Monitoring ermöglicht und unter anderem bei LinkedIn, Crowdstrike, Finn.auto und 1Password im Einsatz ist.
Kundenzentrisches Monitoring?
Ja, „Customer Centric Monitoring“ – wie sieht eigentlich der Kunde meine Applikation?
Funktioniert der Login, ist die Suche nach einem Produkt schnell und kann man überhaupt ein Produkt in meinem Shop kaufen?
Das fängt schon beim HTTP Handshake und dem TLS-Zertifikat an und geht durch die ganze Traffic-Kette bis zum Kaufprozess inkl. aller externen APIs, die in deiner Anwendung verwendet werden.
Checkly verwendet hierfür die Open-Source-Browser-Automatisierung Playwright und simuliert damit einen Browser aus über 20 Standorten aus der Welt. Du bekommst damit neben der rein funktionalen Überwachung auch noch einen Einblick in die Performance und Uptime.
Dabei ist Checkly Code-first und bietet wirkliches „Monitoring as Code“ über einen eigenen Terraform Provider, eine Pulumi Integration und die hauseigene CLI an.
Als neues Feature bietet Checkly nun mit Checkly Traces eine nahtlose Integration in vorhandene „Open Telemetry Tracing“ Lösungen an – in einem Webinar vom Ende September kannst du dir hier auf YouTube anschauen, wie das Ganze funktioniert.
Starte jetzt mit dem kostenlosen Checkly Hobby Plan: mit dem Code „Andreas“ bekommst du 15% Rabatt auf die Paid Pläne!
Remote Teams und „Results“ vs. „Process Goals“
In einem lesenswerten Artikel erklärt Wayne Turmel den Unterschied zwischen Ergebnis- und Prozesszielen in Remote Teams. Während Ergebnisziele („Results Goals“) sich auf das große Ganze konzentrieren – beispielsweise „Verdopplung des Umsatzes im nächsten Jahr“ – schauen Prozessziele („Process Goals“) auf das „Wie“ der Zielerreichung.
Gerade in Remote Teams ist es wichtig, dass nicht nur das Ziel klar ist, sondern auch der Weg dorthin transparent kommuniziert wird. Denn wenn Teams verteilt arbeiten:
- Erhalten nicht alle zur gleichen Zeit die gleichen Informationen
- Sind Gespräche häufig weniger frequent oder konsistent
- Arbeitet jeder in seinem eigenen Tempo und Stil
Turmel empfiehlt daher, neben den Ergebniszielen auch klare Prozessziele zu definieren. Diese helfen:
- Meilensteine und Check-Ins zu etablieren
- Eine für alle funktionierende Kommunikationsfrequenz festzulegen
- Frühzeitig Probleme zu erkennen und gegenzusteuern
- Micromanagement zu vermeiden
Der Artikel erinnert mich stark an die Ergebnisse der Atlassian „State of Teams“ Studie aus der letzten Ausgaben, bei der viele Teams angaben, dass ihnen klare Ziele und Prioritäten fehlen. Die Kombination aus Ergebnis- und Prozesszielen könnte hier ein guter Ansatz sein.
So kann die Führungskraft Vertrauen und Unterstützung demonstrieren, ohne ständig „auf der Matte zu stehen“. Und die Mitarbeitenden wissen genau, was von ihnen erwartet wird – egal ob sie im Büro oder remote arbeiten.
Was hältst du von diesem Ansatz? Wie handhabt ihr das in eurem Team?
Redis Gründer antirez kehrt nach 4 Jahren zurück
Salvatore Sanfilippo (antirez), der Erfinder von Redis, kehrt nach über 4 Jahren Pause in einer neuen Rolle als „Evangelist“ zum Unternehmen zurück. Er möchte als Brücke zwischen Firma und Community fungieren und die Entwicklung der Redis Core wieder stärker in den Fokus rücken. Den kürzlich erfolgten Lizenzwechsel von BSD zu SSPL sieht er pragmatisch – auch wenn er selbst vielleicht eine andere Lizenz gewählt hätte, hält er die neue Lizenz für einen gangbaren Weg.
Besonders spannend ist seine Vision für neue Redis Features im Bereich KI und Vektordatenbanken. Er arbeitet bereits an einem Proof of Concept für „Vector Sets“ – eine neue Datenstruktur inspiriert von Redis Sorted Sets, die aber mit mehrdimensionalen Scores (Embeddings) und K-NN Matching arbeitet. Damit sollen Vektorsuchen und ähnliche KI-Anwendungsfälle optimal unterstützt werden.
Der Entwickler betont, dass er auf eigene Initiative zur Firma zurückkehrt und dies keine PR-Aktion ist. Er wird ein reguläres Gehalt beziehen (plus die üblichen Aktienoptionen) und möchte vor allem dabei helfen, Redis technisch und als Community-Projekt weiterzuentwickeln. Die Zeit der reinen Open Source Entwicklung unter BSD Lizenz sieht er rückblickend als positiv, hält aber auch die neue Lizenz für einen praktikablen Kompromiss zwischen Open Source und wirtschaftlichen Notwendigkeiten.
Antirez ist übrigens auf BlueSky vertreten, mich findest du hier.
Temporal: Learnings aus der AWS zu Google Cloud Migration
Temporal berichtet in einem ausführlichen Blog-Artikel über die Entwicklung ihrer Cloud-Plattform von einem reinen AWS-Service hin zu einer Multi-Cloud Lösung. Der erste zusätzliche Cloud Provider ist Google Cloud.
Die wichtigsten Gründe für den Multi-Cloud Ansatz:
- Kundenvorlieben für bestimmte Cloud Provider
- Regionale Compliance & Datenschutzanforderungen
- Risikominimierung & Disaster Recovery
- Markterweiterung in Regionen mit starker GCP-Präsenz
Die technischen Herausforderungen:
- Unterschiedliche APIs und Features der Cloud Provider
- Konsistente Deployments über verschiedene Plattformen hinweg
- Feature-Parität zwischen den Providern sicherstellen
- Speziallösungen für Provider-spezifische Dienste (z.B. OpenSearch Alternative in GCP)
Die technische Lösung: Temporal nutzte interessanterweise seine eigene Plattform für die Migration. Durch die Implementierung von cloud-agnostischen Workflows mit einem Factory Pattern konnte der Code sauber und wartbar gehalten werden. Zwei Control Planes helfen dabei:
- User Control Plane für logische Ressourcen
- Infrastructure Control Plane für die physische Infrastruktur
Status & Ausblick: Temporal Cloud ist nun in mehreren GCP Regionen verfügbar. Einige Features wie Private Connectivity und Multi-Region Namespaces sind noch in Entwicklung. Als nächster Schritt ist die Integration von Microsoft Azure geplant.
Ein spannender Einblick, wie ein Cloud-Native Unternehmen die Herausforderungen einer Multi-Cloud Strategie mit modernen Architekturmustern und den eigenen Tools meistert.
Multi-Cloud: That’s one small step for Temporal, one giant leap for reliability
GitHub analysiert CPU-Performance und Auslastung im Detail
Das Performance Engineering Team von GitHub hat in einer interessanten Studie untersucht, wie sich die CPU-Performance bei steigender Auslastung verhält. Die Erkenntnisse sollen helfen, die richtige Balance zwischen Ressourceneffizienz und Performance zu finden.
Wichtige Erkenntnisse der Studie:
Intel Turbo Boost Effekt:
- Bei niedriger CPU-Last (unter 30%) profitieren die Systeme von höheren Taktfrequenzen
- Mit steigender Auslastung sinkt die Taktrate aufgrund thermischer und Power-Limits
- Dies führt zu messbarer Performance-Verschlechterung bei höherer Last
Hyper-Threading Einfluss:
- Der Linux Kernel versucht Last über virtuelle Cores zu verteilen
- Ab einem gewissen Auslastungsgrad können beide virtuellen Cores nicht mehr voll genutzt werden
- Dies resultiert in zusätzlichen Performance-Einbußen
„Goldene Mitte“ der CPU-Auslastung:
- Zu niedrige Auslastung verschwendet Ressourcen
- Zu hohe Auslastung führt zu Performance-Problemen
- GitHub identifizierte ~61% als optimalen Auslastungsgrad für ihre Workloads
Ein interessanter Problemfall wurde während der Tests entdeckt: Einige Instanzen erreichten nicht die beworbene Turbo Boost Frequenz aufgrund deaktivierter CPU C-States. Nach Aktivierung der Power-Saving Features verbesserte sich die Performance deutlich.
Die Studie wurde in einer speziellen Testumgebung namens „Large Unicorn Collider“ (LUC) durchgeführt, die produktionsnahe Tests ermöglicht ohne den Live-Betrieb zu gefährden. Die Erkenntnisse helfen GitHub nun dabei, ihre Infrastruktur effizienter zu dimensionieren.
Breaking down CPU speed: How utilization impacts performance
Wie incident.io sich selbst alarmiert, wenn incident.io ausfällt
Ein interessanter Artikel beschreibt, wie das Incident Management Unternehmen incident.io das klassische Bootstrapping-Problem löst: Wie alarmiert man das Team, wenn das Alarmsystem selbst ausgefallen ist?
Die Lösung ist ein „Dead Man’s Switch“ System mit folgender Funktionsweise:
Doppelte Alarmierung:
- Jeder Alert geht parallel an incident.io und einen Backup-Provider
- Der Backup-Alert wird mit 1 Minute Verzögerung ausgelöst
Automatische Acknowledgement:
- Wenn ein Engineer den Alert in incident.io bestätigt, wird der Backup-Alert automatisch deaktiviert
- Erfolgt keine Bestätigung innerhalb einer Minute, löst das Backup-System einen Alarm aus
Das System wurde in Game Days getestet, wo man die Alert-Pipeline mit der 100-fachen normalen Last geflutet hat. Obwohl das Backup-System bisher nie wegen eines Systemausfalls benötigt wurde, wird es regelmäßig automatisch getestet, wenn Engineers nicht schnell genug auf Alerts reagieren.
Der Artikel betont die Wichtigkeit redundanter Systeme im Incident Management – gerade wenn Kunden sich darauf verlassen müssen, dass man sie bei Problemen erreichen kann. Jeder Alert wird daher gleichzeitig als Test des Backup-Systems genutzt.
Ein anschauliches Beispiel eines normalen Alerts wird ebenfalls beschrieben: Von der ersten Erkennung hoher CPU-Last bis zur Lösung durch Neustart eines Pods vergingen nur 10 Minuten – mit funktionierendem Alerting-System.
How we page ourselves if incident.io goes down
Der verlinkte Artikel vergleicht die beiden dominanten Architekturansätze in verteilten Systemen – „Shared Nothing“ und „Shared Storage“. Der Autor, Richard Artoul, erklärt die fundamentalen Unterschiede und deren Auswirkungen auf moderne Datenverarbeitung:
Shared Nothing Architektur:
- Daten werden auf Node- oder CPU-Level geshardet
- Skaliert theoretisch unendlich für perfekt shardbare Workloads
- Anfällig für „Hot Spots“ wenn Workload ungleich verteilt
- Beispiel: Apache Kafka mit Topic-Partitionen pro Broker
Shared Storage Architektur:
- Trennung von Storage und Compute
- Zentraler Metadata Store als Koordinator
- Flexiblere Lastverteilung möglich
- Höhere Latenz, aber bessere Skalierbarkeit bei ungleichen Workloads
- Beispiel: Moderne Data Lakes
Der Autor argumentiert, dass Shared Storage oft die bessere Wahl ist, außer bei extrem latenz-sensitiven Anwendungen. Die Vorteile:
- Einfachere Verwaltung
- Bessere Lastverteilung
- Keine harten Limits pro Partition
- Flexiblere Ressourcenzuteilung
Am Beispiel von WarpStream (einer Kafka-Alternative) zeigt der Artikel, wie eine Shared Storage Architektur die klassischen Probleme von Kafka (starre Partitionierung, komplexes Rebalancing) elegant löst. Während Kafka Partitionen auf Broker verteilt, balanciert WarpStream einfach Verbindungen über seine zustandslosen Agents.
Die größte Herausforderung bei Shared Storage ist die Skalierung des Metadata Stores – aber mit gutem Design und hohem Verhältnis von Daten zu Metadaten ist das laut Autor gut beherrschbar.
Schmunzelecke
„Interview Coder“ – heimlicher Helfer beim technischen Vorstellungsgespräch
Also hier muss ich erst mal schmunzeln – Interview Coder ist eine Desktop Applikation, die absichtlich unsichtbar für die gängigen Screen-Sharing Tools ist und dir bei technischen Interviews „helfen“ soll. Ethisch fragwürdig, technisch interessant!
Die App ist unsichtbar für Zoom (bis Version 6.1.6), Browser-basierte Screen Recording Tools, Discord & Mac OS Screenshots.
Features:
- 99% Unsichtbarkeit (die restlichen 1% sind für’s gute Gewissen)
- Screenshot Analyse via AI
- Automatische Lösungsgenerierung
- Echtzeit-Debugging Hilfe
- Unauffällige Keyboard Shortcuts
Die ganze Steuerung erfolgt über globale Shortcuts, die von anderen Apps nicht erkannt werden sollen. Quasi eine digitale Spickzettel-App für’s moderne Zeitalter.
Ich fasse den ethischen Teil mal so zusammen: Dieses Tool sollte man definitiv NICHT für echte Vorstellungsgespräche nutzen. Es demonstriert aber interessant die technischen Möglichkeiten und Grenzen von Screen Capture Software – und dass technische Lösungen für Anti-Cheating immer nur begrenzt funktionieren können.
PS: Dieser Newsletter übernimmt keine Haftung für gescheiterte Bewerbungsgespräche oder zerrüttete Karrieren!
💡 Link Tipps aus der Open Source Welt
Himalaya – Leichtgewichtiger E-Mail Client für die Kommandozeile
Himalaya ist ein in Rust geschriebener Open Source E-Mail Client für die Kommandozeile (CLI). Im Gegensatz zu klassischen Terminal-Mail-Clients wie mutt oder alpine setzt Himalaya auf einzelne Kommandos statt einer interaktiven Oberfläche.
Aktuell supported:
- Multi-Account Management mit TOML-Konfiguration oder interaktivem Setup
- IMAP, Maildir und Notmuch als Backend
- SMTP und Sendmail für den Mail-Versand
- PGP Verschlüsselung (via Shell, GPG oder nativ)
- OAuth 2.0 Support
- Systemweites Keyring für Zugangsdaten
- JSON Output für Automation
Die Mail-Komposition erfolgt über den Standard-Editor und unterstützt sowohl Plain Text als auch das MML-Format (MIME Meta Language) für komplexere Nachrichten mit Anhängen. Es gibt bereits Plugins für vim und emacs sowie eine experimentelle REPL-Variante.
Das Projekt wird aktiv entwickelt und kann via Cargo, diverse Paketmanager oder als fertiges Binary installiert werden. Die Funktionalität lässt sich über Cargo Features flexibel anpassen.
https://github.com/pimalaya/himalaya
IronCalc – Moderne Spreadsheet Engine in Rust
IronCalc ist eine in der Entwicklung befindliche Open Source Spreadsheet Engine, die in Rust geschrieben wurde. Die Engine kann sowohl als Backend für Tabellenkalkulationen dienen als auch direkt XLSX Dateien lesen und schreiben.
Aktuell supported:
- XLSX Import/Export
- Formeln und Berechnungen
- Multi-Language Support
- Verschiedene Interfaces (Terminal, Desktop, Web)
- Bindings für Python, JavaScript (WASM), Node.js geplant
Das Projekt ist noch in einem frühen Stadium, bietet aber bereits eine Browser-Demo unter app.ironcalc.com. Die API ist gut dokumentiert und das Projekt legt Wert auf Testing und Code Coverage. Einfache Beispiele zeigen, wie man die Engine in eigenen Projekten einbinden und nutzen kann.
https://github.com/ironcalc/ironcalc
❓ Feedback & Newsletter Abo
Vielen Dank, dass du es bis hierhin geschafft hast!
Kommentiere gerne oder schicke mir Inhalte, die du passend findest.
Falls dir die Inhalte gefallen haben, kannst du mir gerne auf Twitter folgen.
Gerne kannst du mir ein Bier ausgeben oder mal auf meiner Wunschliste vorbeischauen – Danke!
Möchtest du den Newsletter wöchentlich per E-Mail erhalten?
Einfach hier abonnieren: