Come ottenere il massimo dal livello gratuito di AWS

La gratuità è un potente incentivo. Quando ho tenuto un corso sui framework Web presso il college locale, abbiamo progettato gli incarichi per garantire che tutti gli esperimenti potessero essere eseguiti rapidamente con la raccolta di macchine gratuite di Amazon Web Services. Ogni studente ha creato, costruito e messo in piedi più di una dozzina di server diversi e non ha aggiunto un centesimo al proprio debito studentesco.

Questo è un buon esempio del perché Amazon e gli altri servizi cloud offrono centinaia di modi diversi per provare i loro prodotti. Nuovi prodotti nascono, vengono testati, messi a punto e stimolati solo per il costo del tempo dello sviluppatore. Se il codice diventa grande e inizia a generare entrate sufficienti, gli sviluppatori possono diventare clienti paganti. In caso contrario, almeno gli sviluppatori si sentiranno a proprio agio con gli strumenti e probabilmente si rivolgeranno ad Amazon per il prossimo progetto.

Il livello gratuito non è solo per gli studenti che mangiano ramen. A volte chiedere al capo una linea di bilancio, non importa quanto piccola, significa innescare una serie di domande e incontri che richiedono spiegazioni. Un certo numero di bravi sviluppatori testano i loro piani su macchine gratuite perché è molto più impressionante presentare un prototipo in esecuzione che uno slide deck con alcuni mockup.

Amazon offre tre diversi tipi di servizi gratuiti. Alcuni sono campioni a breve termine, che consentono di valutare un nuovo servizio per circa un mese. Hanno lo scopo di convincere i team a esplorare nuovi prodotti. Altri sono come un generoso carro di benvenuto per i nuovi sviluppatori che si registrano per un account AWS. Possono iniziare a esplorare senza la preoccupazione di una bolletta perché durano un anno intero dopo la creazione del nuovo account.

Le più generose sono le offerte "sempre gratuite" che continuano ad andare avanti e indietro. Alcuni sviluppatori fanno un punto per costruire i loro prodotti per vivere nel livello gratuito il più a lungo possibile. È un po 'un gioco perché all'inizio le risorse di sviluppo non sono troppo costose. Potrebbero risparmiare qualche dollaro. Ma questa attenzione ai profitti può produrre buone applicazioni progettate in modo pulito per utilizzare un minimo delle risorse di AWS. Quando si ridimensionano, le bollette si ridimensionano un po 'più lentamente. 

Ecco 10 suggerimenti su come giocare allo stack AWS e generare le fatture più piccole utilizzando il più libero dei servizi.

Non sprecare non voglio

La maggior parte dei servizi AWS nel livello gratuito prevede un limite, generalmente applicato ogni mese. Alcuni di questi sembrano incredibilmente grandi come la concessione di un milione di chiamate di funzione da parte di AWS Lambda. Dopo aver finito di rendere omaggio al Dr. Evil dai film di Austin Powers facendo eco alla sua pronuncia di "million", puoi iniziare a pianificare il tuo utilizzo di queste chiamate di funzione per i lavori più importanti. Anche i limiti generosi possono essere esauriti. Un milione può arrivare molto presto se non stai attento.

Diventa statico

Le opzioni per il calcolo nel livello gratuito sono piuttosto limitate e quindi conviene ridurre il più possibile il calcolo lato server. I generatori di siti statici come Jekyl o Gatsby trasformano i dati nel tuo sito web dinamico in file HTML, JavaScript e CSS che si trovano in un server web statico. Forse li sposterai su una CDN come CloudFront di Amazon. Forse li servirai direttamente da Amazon S3. Forse li parcheggerai anche nell'angolo di un altro server nel tuo ufficio. Il punto è salvare le risorse di calcolo che genererebbero le tue pagine web in modo dinamico in modo da poter rimanere all'interno del livello gratuito.

Vai senza server

AWS Lambda è l'unica opzione di calcolo di Amazon che rimane gratuita dopo un anno. È anche probabilmente l'opzione migliore per un servizio che scalerà senza problemi per gestire migliaia, milioni o miliardi di richieste. La scelta di Lambda dall'inizio imposta la tua applicazione per il successo in futuro.

Vai a NoSQL

Amazon ci incoraggia inoltre a utilizzare DynamoDB includendo 20 GB di spazio di archiviazione sempre gratuiti. DynamoDB potrebbe non offrire le stesse opzioni intelligenti di indicizzazione e normalizzazione che gli amanti dei database relazionali hanno abbracciato nel corso degli anni, ma NoSQL rimane una scelta architettonica intelligente e flessibile che è particolarmente indulgente per i prototipi in evoluzione e le startup pivotanti.

Combina chiamate AJAX

A volte dovrai rendere interattivo il tuo sito. L'approccio migliore è raggruppare le chiamate ai tuoi servizi web nel minor numero di transazioni possibile. Il livello gratuito di Amazon API Gateway, ad esempio, include un milione di chiamate API e un milione di chiamate HTTP. Il raggruppamento di tutti i dati in una chiamata fa sì che questi limiti durino più a lungo rispetto a dover dover richiamare immediatamente le chiamate. Il modo più semplice per ottenere ciò è ridurre la memorizzazione di documenti o dati di moduli per l'utente. Sì, questo può rendere il servizio un po 'meno robusto e resistente agli urti, ma questo è il costo di fare le cose gratuitamente.

Dai potere al cliente

Sebbene i cookie e i loro cugini meno noti come l'API Web Storage locale abbiano la reputazione di aiutare le grandi aziende a tenere traccia delle persone, offrono anche l'opportunità agli utenti di controllare la propria privacy archiviando i propri dati locali. Inoltre, semplifica la creazione di un'applicazione Web di livello gratuito scaricando il costo dell'archiviazione dei dati del cliente sulla macchina del cliente. Le macchine degli utenti memorizzano i dati così non devi farlo tu!

Più privacy e meno costi centrali. Sarebbe una soluzione perfetta se non fosse per la catastrofe totale che segue uno smarrimento del telefono, un disco locale in crash o uno qualsiasi di un milione di altri guasti. È meglio usarlo per dati casuali, non per informazioni mission-critical.

Evita espedienti

Alcuni siti Web hanno aggiunto funzionalità interattive appariscenti come il completamento automatico. Questi possono essere divertenti e possono generare attenzione, ma ognuna di queste funzionalità di solito richiede un'altra richiesta al cloud e questo consuma il tuo limite. Evitare parti in movimento non necessarie è il modo più semplice per risparmiare risorse di calcolo.

Esegui il tuo database

I servizi di database relazionali gestiti da Amazon come MySQL o PostgreSQL sono ottimi strumenti per avviare e mantenere un database per contenere le informazioni della tua app, ma il livello gratuito ti offre solo uno di questi ed è solo per i primi 12 mesi. Nulla ti impedisce di eseguire il tuo database su una delle istanze EC2 gratuite disponibili anche per i primi 12 mesi. Sì, dovrai installarli e configurarli da solo, ma raddoppierà le opzioni del database.

Accedi con attenzione

Tutto lo spazio di archiviazione gratuito di AWS ha dei limiti. I bravi sviluppatori creano buoni file di registro per eseguire il debug dei problemi e rilevare gli errori, ma la maggior parte dei file di registro non viene mai utilizzata. Rimanere entro i limiti per l'archiviazione è più semplice se si puliscono frequentemente i log. Alcuni buttano via i dati e altri li scaricano sul disco del desktop.

Usa risorse non cloud

Non è esattamente una risposta equa dire che puoi ottenere di più dal livello gratuito eseguendo il tuo server sulla tua scrivania. Tuttavia, un uso accorto di servizi non AWS può davvero allungare il lavoro svolto sul cloud. I backup del database, ad esempio, potrebbero spostarsi sul desktop, che potrebbe avere diversi terabyte di spazio vuoto in attesa di alcuni detriti casuali. E probabilmente vorrai comunque eseguire il backup dei tuoi progetti al di fuori del cloud. Qualsiasi servizio o dato che non necessita della risposta immediata e dell'operatività costante del cloud è un gioco leale.

Riconosci i limiti

Il livello gratuito è un modo eccellente per esplorare AWS ed è divertente eliminare tutte le funzionalità estranee per cercare di generare fatture per $ 0,00, ma alla fine della giornata AWS è un business e il livello gratuito è un marketing ben progettato strumento non un ente di beneficenza pubblico. Alcune persone creano apertamente nuovi account con nuovi indirizzi e-mail per continuare a riavviare l'orologio di 12 mesi. Questo potrebbe funzionare con i progetti usa e getta ma non con quelli che hanno iniziato ad attrarre utenti che verranno interrotti quando si cambia account.

Quando le tue creazioni hanno trovato un pubblico, è ora di iniziare a trovare un modo per pagare i conti. La buona notizia è che tutte le lezioni che hai imparato vivendo nel livello gratuito manterranno le tue bollette molto più basse. Il gateway API, ad esempio, addebita solo $ 1 per un milione di chiamate. Se hai eseguito con successo il livello gratuito, le tue bollette non saranno più di pochi dollari al mese.

Ciò dovrebbe durare fino a quando tutto diventerà follemente virale e la tua oltraggiosa fortuna renderà il conto AWS l'ultima delle tue preoccupazioni.