Die meisten Web-Apps können auf einem einzelnen Server betrieben werden
- Wenn man die Webentwicklungs-Szene verfolgt, gewinnt man den Eindruck, dass viele Websites und Apps keine komplexe Infrastruktur benötigen und die meisten Websites und Apps weniger als 10 Anfragen pro Sekunde erhalten, an geschäftigen Tagen vielleicht 50.
- Endpunkte auf der ganzen Welt reduzieren zwar die Latenz, aber da auf Daten zugegriffen werden muss, bringt es wenig, wenn der Client 20 ms von einem Endpunkt entfernt ist, die Datenbank aber 200 ms von diesem Endpunkt entfernt liegt.
- Caching ist nützlich, aber das lässt sich auch mit einem CDN oder einfachem HTTP-Caching erreichen. Wenn nach einem Update neue Dateien ins CDN gepusht werden, kann in den meisten Fällen die gesamte Website über das CDN betrieben werden.
- Einige API-Endpunkte können für dynamische Funktionen erforderlich sein, aber das lässt sich zum Beispiel mit JavaScript umsetzen.
- Die meisten Projekte können als Container auf einem VPS für 5 $ laufen, und das kann sogar schneller sein.
Meinung von GN⁺
- Dieser Artikel bietet eine kritische Perspektive auf den übermäßigen Einsatz von Infrastruktur bei der Entwicklung von Web-Apps. Er weist darauf hin, dass viele Web-Apps tatsächlich auch mit einer einfachen Infrastruktur ausreichend betrieben werden können, und erinnert vor allem Junior-Softwareingenieure daran, beim Aufbau von Infrastruktur keine übermäßigen Ressourcen einzusetzen, sondern angemessen nach tatsächlichem Bedarf zu planen.
- Der Artikel betont außerdem die Bedeutung von Caching und CDN, die Schlüsselfaktoren für die Verbesserung der Performance von Web-Apps sind. Das deutet darauf hin, dass Webentwickler Caching-Strategien zur Performance-Optimierung berücksichtigen sollten.
- Wenn eine Web-App klein ist oder wenig Traffic hat, kann es kosteneffizienter sein, statt eines komplexen verteilten Systems einen einzelnen Server oder einen einfachen Cloud-Service in Betracht zu ziehen. Das gilt besonders für Startups oder kleine Projekte.
- Der Artikel empfiehlt Webentwicklern, bei der Technologiewahl sorgfältig vorzugehen und eine Infrastruktur zu wählen, die zu den tatsächlichen Anforderungen des Projekts passt. Das hilft dabei, sich nicht von Technologietrends treiben zu lassen, sondern Entwicklungen zu verfolgen, die reale Anforderungen erfüllen.
- Aus kritischer Sicht gilt dieser Artikel möglicherweise nicht für große Web-Apps oder Services, die hohen Traffic bewältigen müssen. Daher sollte man sich bewusst sein, dass die Wahl der richtigen Infrastruktur von Größe und Anforderungen des jeweiligen Projekts abhängt.
1 Kommentare
Hacker-News-Kommentare
Ein Nutzer bestätigte, dass sein Projekt selbst dann den Traffic gut bewältigte, als es auf die Startseite von Hacker News (HN) kam, und zwar auf einem 5-Dollar-Droplet von DigitalOcean. Er argumentierte, dass es für die meisten Projekte ausreiche, asynchrone Antworten und Scheduler/Queues zu verwenden, um die Last über die Zeit horizontal zu verteilen. Außerdem kritisierte er, dass die neue DevOps-Kultur das Deployment von Cloud-Apps unnötig kompliziert gemacht habe, und wies darauf hin, dass einfache Software nicht übermäßig skaliert werden müsse.
Standard Ebooks liefert monatlich eine beträchtliche Zahl an Pageviews und E-Books aus und stand trotz 3–4 Platzierungen auf der HN-Startseite mit allem auf einem einzelnen 4-GB-VPS. Man habe nur von 2 GB auf 4 GB aufgerüstet, weil für die Erstellung des E-Books von Decline and Fall of the Roman Empire mehr RAM nötig gewesen sei; sonst hätte auch ein 2-GB-Server ausgereicht. Dazu wurde ein Link zu einem Blogpost geteilt.
Ein Nutzer, der meinte, der einzige Grund für den Einsatz von k8s sei der Wunsch eines Engineers gewesen, k8s zu lernen, beklagte sich darüber, dass man wegen k8s nicht einmal Server-Logs ansehen könne. Mit dem 5-Dollar-Plan von Cloudflare hätte sich das seiner Ansicht nach problemlos bewältigen lassen.
Es wurde erwähnt, dass sqlite.org mit einem 40-Dollar-pro-Monat-Linode täglich mehr als 500.000 HTTP-Anfragen verarbeitet und rund 200 GB an Inhalten ausliefert. Wenn die eigene App nicht mehr Anfragen als sqlite.org verarbeite, müsse man nicht mehr Geld ausgeben.
Ein Nutzer teilte mit, dass er mit Oracle Free Tier sein Backend kostenlos betreibt und über Cloudflare Tunneling und Pages die Frontend-Integration ebenfalls kostenlos umgesetzt hat; damit betreibt er mehrere Web-Apps mit rund 10.000 Anfragen pro Tag.
Es wurde erwähnt, dass auf einem einzelnen 5-Euro-Server mehrere Anwendungen laufen, darunter eine persönliche Website, zwei Multiplayer-Game-Server und
frpfürs Tunneling, und dass man vorhat, noch mehr hinzuzufügen, bis der Server aufgibt. Auch andere Anwendungen würden auf einer 5-Euro-VM gut laufen.Ein Nutzer schilderte die Erfahrung, wegen Terraform-Dateien viermal so viel Zeit verbracht zu haben wie mit dem Schreiben der eigentlichen Features. Das betreffende Unternehmen habe weniger als 1.000 Hits pro Tag erhalten.
Ein Nutzer wies darauf hin, dass ein 4-Dollar-pro-Monat-VPS Tausende Queries pro Sekunde verarbeiten könne, und teilte dazu einen passenden Link.
Es wurde angemerkt, dass die meisten Web-Apps zwar auf einer einzelnen Maschine laufen können, die meisten Kunden jedoch nahezu 100 % Uptime erwarten und eine einzelne Maschine diese Anforderungen nicht erfülle.
Ein Nutzer, der bei einfachen Web-Apps ohne Bedarf an komplexen Systemen widersprach, argumentierte, dass zwar auch Unternehmen wie FAANG interne Services und Dashboards als einzelnes Binary betreiben, man die Notwendigkeit komplexer Systeme aber erkenne, sobald Downtime unmittelbar zu Verlusten führe.