So nutzen Sie die kostenlose AWS-Stufe optimal

Frei ist ein starker Anreiz. Als ich am örtlichen College einen Kurs über Web-Frameworks unterrichtete, haben wir die Aufgaben so gestaltet, dass sichergestellt ist, dass alle Experimente mit der Sammlung kostenloser Computer von Amazon Web Services schnell durchgeführt werden können. Jeder Student hat mehr als ein Dutzend verschiedene Server erstellt, ausgebaut und aufgestanden, und sie haben keinen Cent zu ihren Studentenschulden hinzugefügt.

Dies ist ein gutes Beispiel dafür, warum Amazon und die anderen Cloud-Dienste Hunderte verschiedener Möglichkeiten bieten, ihre Produkte auszuprobieren. Neue Produkte werden nur für die Kosten des Entwicklers geboren, getestet, gestoßen und angestoßen. Wenn der Code groß ist und genügend Umsatz generiert, können die Entwickler zu zahlenden Kunden heranwachsen. Wenn dies nicht der Fall ist und dies nicht der Fall ist, werden sich zumindest die Entwickler mit den Tools vertraut machen und sich wahrscheinlich für das nächste Projekt an Amazon wenden.

Die kostenlose Stufe ist nicht nur für Studenten gedacht, die Ramen essen. Manchmal bedeutet es, den Chef nach einer noch so kleinen Budgetlinie zu fragen, eine Reihe von Fragen und Besprechungen auszulösen, die Erklärungen erfordern. Eine Reihe guter Entwickler testen ihre Pläne auf kostenlosen Maschinen, da es viel beeindruckender ist, einen laufenden Prototyp zu präsentieren als ein Dia-Deck mit einigen Modellen.

Amazon bietet drei verschiedene Arten von kostenlosen Diensten an. Bei einigen handelt es sich um kurzfristige Beispiele, mit denen Sie einen neuen Dienst etwa einen Monat lang bewerten können. Sie sollen Teams dazu bringen, neue Produkte zu entdecken. Andere sind wie ein großzügiger Willkommenswagen für neue Entwickler, die sich für ein AWS-Konto anmelden. Sie können ohne Rücksicht auf eine Rechnung mit der Erkundung beginnen, da sie ein ganzes Jahr nach dem Erstellen Ihres neuen Kontos gültig sind.

Am großzügigsten sind die „immer kostenlosen“ Angebote, die immer weitergehen. Einige Entwickler legen Wert darauf, ihre Produkte so zu entwickeln, dass sie so lange wie möglich in der kostenlosen Ebene leben. Es ist ein bisschen wie ein Spiel, weil Entwicklungsressourcen zunächst nicht zu teuer sind. Sie können ein paar Dollar sparen. Dieser Fokus auf das Endergebnis kann jedoch zu guten Anwendungen führen, die sauber entwickelt wurden, um ein Minimum an AWS-Ressourcen zu verbrauchen. Wenn sie skalieren, werden die Geldscheine etwas langsamer skaliert. 

Hier sind 10 Vorschläge, wie Sie den AWS-Stack spielen und mit den kostenlosesten Diensten die kleinsten Rechnungen generieren können.

Abfall will nicht nicht

Die meisten AWS-Services in der kostenlosen Stufe haben ein Limit, das normalerweise jeden Monat durchgesetzt wird. Einige davon scheinen unglaublich groß zu sein, wie AWS Lambdas Gewährung von einer Million Funktionsaufrufen. Nachdem Sie Dr. Evil aus den Austin Powers-Filmen mit seiner Aussprache von „Millionen“ gewürdigt haben, können Sie Ihre Verwendung dieser Funktionsaufrufe für die wichtigsten Jobs budgetieren. Auch die großzügigen Grenzen können ausgeschöpft werden. Eine Million kann ziemlich bald kommen, wenn Sie nicht aufpassen.

Gehen Sie statisch

Die Berechnungsmöglichkeiten in der kostenlosen Schicht sind ziemlich begrenzt und es lohnt sich daher, die serverseitige Berechnung so weit wie möglich zu reduzieren. Statische Site-Generatoren wie Jekyl oder Gatsby wandeln die Daten in Ihrer dynamischen Website in HTML-, JavaScript- und CSS-Dateien um, die sich auf einem statischen Webserver befinden. Vielleicht verschieben Sie sie auf ein CDN wie Amazon CloudFront. Vielleicht werden Sie sie direkt von Amazon S3 aus bedienen. Vielleicht parken Sie sie sogar in der Ecke eines anderen Servers in Ihrem Büro. Der Punkt ist, Rechenressourcen zu sparen, die Ihre Webseiten dynamisch generieren würden, damit Sie innerhalb der freien Ebene bleiben können.

Gehen Sie serverlos

AWS Lambda ist die einzige Amazon-Rechenoption, die nach einem Jahr kostenlos bleibt. Es ist wohl auch die beste Option für einen Service, der reibungslos skaliert werden kann, um Tausende, Millionen oder Milliarden von Anfragen zu bearbeiten. Wenn Sie Lambda von Anfang an wählen, ist Ihre Anwendung für den zukünftigen Erfolg gerüstet.

Gehen Sie NoSQL

Amazon empfiehlt uns außerdem, die DynamoDB zu verwenden, indem 20 GB Speicherplatz bereitgestellt werden, der immer kostenlos ist. DynamoDB bietet möglicherweise nicht die gleichen cleveren Indizierungs- und Normalisierungsoptionen, die Liebhaber relationaler Datenbanken im Laufe der Jahre angenommen haben, aber NoSQL bleibt eine intelligente und flexible Architektur, die besonders für die Entwicklung von Prototypen und schwenkbaren Startups verzeiht.

Kombinieren Sie AJAX-Aufrufe

Manchmal müssen Sie Ihre Website interaktiv gestalten. Der beste Ansatz besteht darin, die Anrufe an Ihre Webdienste in möglichst wenigen Transaktionen zu bündeln. Die kostenlose Stufe des Amazon API Gateway umfasst beispielsweise eine Million API-Aufrufe und eine Million HTTP-Aufrufe. Wenn Sie alle Ihre Daten in einem Anruf bündeln, halten diese Grenzwerte länger als das pflichtbewusste sofortige Aufrufen der Anrufe. Der einfachste Weg, dies zu erreichen, besteht darin, das Speichern von Dokumenten oder Formulardaten für den Benutzer zu reduzieren. Ja, dies kann den Service etwas weniger robust und absturzsicher machen, aber das sind die Kosten für kostenlose Aufgaben.

Stärken Sie den Kunden

Cookies und ihre weniger bekannten Cousins ​​wie die lokale Web Storage API haben den Ruf, großen Unternehmen dabei zu helfen, Menschen zu verfolgen. Sie bieten Benutzern jedoch auch die Möglichkeit, ihre Privatsphäre durch Speichern ihrer lokalen Daten zu kontrollieren. Es erleichtert auch das Erstellen einer kostenlosen Webanwendung, indem die Kosten für das Speichern von Clientdaten auf dem Clientcomputer entlastet werden. Die Maschinen der Benutzer speichern die Daten, so dass Sie nicht müssen!

Mehr Privatsphäre und weniger zentrale Kosten. Es wäre eine perfekte Lösung, wenn es nicht die totale Katastrophe gäbe, die auf ein verlorenes Telefon, eine abgestürzte lokale Festplatte oder einen von einer Million anderer Fehler zurückzuführen ist. Verwenden Sie dies am besten für gelegentliche Daten, nicht für geschäftskritische Informationen.

Vermeiden Sie Spielereien

Einige Websites haben auffällige interaktive Funktionen wie die automatische Vervollständigung hinzugefügt. Dies mag Spaß machen und Aufmerksamkeit erregen, aber jede dieser Funktionen erfordert normalerweise eine weitere Anfrage an die Cloud, die an Ihre Grenzen stößt. Das Vermeiden unnötiger beweglicher Teile ist der einfachste Weg, um Rechenressourcen zu sparen.

Führen Sie Ihre eigene Datenbank aus

Die von Amazon verwalteten relationalen Datenbankdienste wie MySQL oder PostgreSQL sind hervorragende Tools zum Starten und Verwalten einer Datenbank, in der die Informationen Ihrer App gespeichert werden. Die kostenlose Stufe bietet Ihnen jedoch nur einen davon und dies nur für die ersten 12 Monate. Nichts hindert Sie daran, Ihre eigene Datenbank auf einer der kostenlosen EC2-Instanzen auszuführen, die auch für die ersten 12 Monate verfügbar sind. Ja, Sie müssen sie installieren und selbst konfigurieren, aber dadurch werden Ihre Datenbankoptionen verdoppelt.

Protokollieren Sie sorgfältig

Der gesamte freie Speicherplatz bei AWS ist begrenzt. Gute Entwickler erstellen gute Protokolldateien, um Probleme zu debuggen und Fehler abzufangen, aber die meisten Protokolldateien werden nie verwendet. Das Einhalten der Speichergrenzen ist einfacher, wenn Sie Ihre Protokolle häufig bereinigen. Einige werfen die Daten einfach weg und andere laden sie auf ihre Desktop-Festplatte herunter.

Verwenden Sie Nicht-Cloud-Ressourcen

Es ist nicht gerade eine faire Antwort zu sagen, dass Sie mehr aus der kostenlosen Stufe herausholen können, indem Sie Ihren eigenen Server wieder auf Ihrem Schreibtisch ausführen. Eine vernünftige Verwendung von Nicht-AWS-Diensten kann die Arbeit in der Cloud jedoch erheblich verlängern. Datenbanksicherungen können beispielsweise auf Ihren Desktop verschoben werden, auf dem möglicherweise mehrere Terabyte leerer Speicherplatz auf einen Teil des zufälligen Abfalls warten. Und wahrscheinlich möchten Sie Ihre Projekte auch außerhalb der Cloud sichern. Jeder Dienst oder jede Daten, die keine sofortige Reaktion und ständige Verfügbarkeit der Cloud benötigt, ist ein faires Spiel.

Erkennen Sie die Grenzen

Die kostenlose Stufe ist eine hervorragende Möglichkeit, AWS zu erkunden, und es macht Spaß, alle überflüssigen Funktionen zu entfernen, um Rechnungen für 0,00 USD zu generieren. Letztendlich ist AWS jedoch ein Unternehmen und die kostenlose Stufe ein gut gestaltetes Marketing Werkzeug keine gemeinnützige Organisation. Einige Benutzer erstellen offen neue Konten mit neuen E-Mail-Adressen, um die 12-Monats-Uhr weiterhin neu zu starten. Dies funktioniert möglicherweise bei Einwegprojekten, jedoch nicht bei Projekten, bei denen Benutzer angezogen werden, die beim Wechseln des Kontos gestört werden.

Wenn Ihre Kreationen ein Publikum gefunden haben, ist es Zeit, einen Weg zu finden, um die Rechnungen zu bezahlen. Die gute Nachricht ist, dass all die Lektionen, die Sie aus dem Leben in der freien Stufe gelernt haben, Ihre Rechnungen viel niedriger halten. Das API-Gateway berechnet beispielsweise nur 1 US-Dollar für eine Million Aufrufe. Wenn Sie erfolgreich in der kostenlosen Stufe gelaufen sind, werden Ihre Rechnungen nicht mehr als ein paar Dollar pro Monat betragen.

Das sollte so lange anhalten, bis alles wahnsinnig viral wird und Ihr unglaubliches Glück die AWS-Rechnung zur geringsten Ihrer Sorgen macht.