Die

Marketingabteilungen der Cloud-Anbieter erzählen uns seit Jahren dieselbe Geschichte: „Vergessen Sie die Infrastruktur, konzentrieren Sie sich nur auf Ihren Code, zahlen Sie nur für das, was Sie nutzen.“ Klingt großartig, nicht wahr? Theoretisch ja. Aber in der Praxis kann Serverless manchmal zu einem unsichtbaren finanziellen schwarzen Loch werden

.

Seien wir ehrlich; das „Pay-as-you-go“ -Modell entwickelt sich sehr schnell zum „Pay-as-you-Panic“ -Modell, wenn Sie nicht genau wissen, was Sie tun. Schauen wir uns die versteckten Kosten hinter diesen brillanten Präsentationen mit Skepsis an und wie wir dieses Chaos überleben können

.

1. So etwas wie „kostenlos“: Invisible Killers gibt

es nicht

Wenn es um Serverless geht, denken die Leute nur an Execution Time. Ihr Konto für „Meine Funktion hat 100 ms funktioniert, ich habe so viele Pennys bezahlt“. Sie irren sich. Die wichtigsten Dinge, die die Rechnung in die Höhe treiben, sind in der Regel

:
  • Datenübertragung (Ausgang): Das Verlassen von Daten aus der Cloud ist aufgrund der Funktion selbst oft teuer.
  • API-Gateway: Dieses „Gateway“, über das Sie Lambda- oder Azure Functions-Türen zur Welt öffnen, verursacht manchmal mehr Kosten als die Rechenleistung dahinter.
  • Logging & Observability: In dem Moment, als Sie sagten: „Lassen Sie uns alles protokollieren, wir müssen“, sind Sie ausgebrannt. Log-Aufnahmegebühren für CloudWatch oder ähnliche Dienste können dazu führen, dass Sie am Ende des Monats sagen: „Ich wünschte, ich wüsste nicht so viel“
.

2. Kaltstart: Nicht nur Leistung, es ist Geldverschwendung

Jeder spricht über das Latenzproblem von Cold Start. Aber ein skeptischer Experte fragt: „Wie viel Geld verliere ich während dieser Verzögerung?“ Wenn Ihre Anwendung benutzerorientiert ist und aufgrund dieser Verzögerung von 2 Sekunden den Warenkorb des Benutzers verlässt, liegen die Kosten für diese Funktion in der technischen Dokumentation weit über 0,00001$

.
Die Skalierung ist in Ordnung, aber die Grenze zwischen den Kosten einer inaktiven Provisioned Concurrency und den Kosten einer herkömmlichen VM ist dünner als Sie denken
.

Architektonische Entscheidung 3: Wann muss man fliehen?

Irgendwann müssen Sie aufhören und fragen: „Warum verwenden wir nicht Kubernetes oder einen Bare-Metal-Server?“ Wenn Ihr Traffic stabil, vorhersehbar und rund um die Uhr hoch ist, ist Serverless die teuerste

Wahl für Sie.

Serverless ist ein Geschenk des Himmels für stacheligen (unsicheren und explodierenden) Traffic. Aber Serverless auf einem ständig laufenden System zu verwenden, ist so, als würde man jeden Tag ein Taxi zur Arbeit nehmen. Es ist viel sinnvoller, ab einem bestimmten Zeitpunkt ein Auto zu kaufen (oder zu mieten)

.

4. Das „echte“ Optimierungsrezept

Also, wie schützen wir die Brieftasche?

  • FinOps-Kultur: Die Kostenverfolgung ist nicht nur die Aufgabe des Buchhalters, sondern auch des Entwicklers. Sie können kein „Senior“ sein, ohne zu wissen, wie viel der Code kostet, den Sie schreiben
  • . Die
  • Granularitätsfalle: Die Aufteilung der Anwendung in Tausende kleiner Funktionen (Nanodienste) erhöht die Kosten für Verwaltung und Kommunikation. Bilden Sie logische Gruppierungen.
  • Timeout-Einstellungen: Standardmäßig verbleibende 5-Minuten-Timeouts sind gefährlich. Sie möchten die Rechnung für die Funktion, die in eine fehlerhafte Schleife gerät, nicht bezahlen
.

Das letzte Wort: Die Cloud ist keine Technologie, sie ist eine Finanzstrategie

Letzten Endes sind Cloud-Anbieter keine Wohltätigkeitsorganisationen. Serverless bietet eine enorme Agilität, wenn es richtig eingerichtet ist; wenn es falsch eingerichtet ist, belastet es Sie schlimmer als technische Schulden, d. h. echte Schulden. Wenn Sie Ihre Infrastrukturentscheidungen treffen, denken Sie nicht an „das ist das Neueste“, sondern „das ist am nachhaltigsten

“.