Kako najbolje iskoristiti AWS besplatni nivo

Besplatno je snažan poticaj. Kada sam predavao tečaj o mrežnim okvirima na lokalnom fakultetu, osmislili smo zadatke kako bismo osigurali da se svi eksperimenti mogu brzo obaviti s zbirkom besplatnih strojeva Amazon Web Services. Svaki je student stvorio, izgradio i uspravio više od desetak različitih poslužitelja i svom studentskom dugu nisu dodali ni lipe.

Ovo je dobar primjer zašto Amazon i ostale usluge u oblaku nude stotine različitih načina za isprobavanje svojih proizvoda. Novi se proizvodi rađaju, testiraju, pikaju i podstiču samo po cijeni vremena programera. Ako ga kôd učini velikim i počne ostvarivati ​​dovoljno prihoda, programeri mogu izrasti u kupce koji plaćaju. Ako se to ne dogodi, a oni neće, barem će se programeri prilagoditi alatima i vjerojatno će se obratiti Amazonu za sljedeći projekt.

Besplatni nivo nije namijenjen samo studentima koji jedu ramen. Ponekad traženje šefa za proračunsku liniju, bez obzira na to koliko je mala, znači pokretanje niza pitanja i sastanaka koji zahtijevaju objašnjenja. Brojni dobri programeri testiraju svoje planove na besplatnim strojevima jer je puno impresivnije predstaviti pokrenut prototip od klizajuće palube s nekim maketama.

Amazon nudi tri različite vrste besplatnih usluga. Neki su kratkoročni uzorci, što vam omogućuje da procijenite novu uslugu otprilike mjesec dana. Namijenjeni su timovima da istraže nove proizvode. Drugi su poput izdašnog kola dobrodošlice za nove programere koji se prijave za AWS račun. Oni mogu započeti istraživanje bez brige zbog računa jer traju punih godinu dana nakon što stvorite novi račun.

Najizdašnija su "uvijek besplatna" ponuda koja ide dalje. Neki programeri postavljaju pitanje kako graditi svoje proizvode kako bi što duže živjeli u slobodnom sloju. To je pomalo igra jer razvojni resursi u početku nisu preskupi. Možda štede nekoliko dolara. Ali ovaj fokus na dnu crte može stvoriti dobre aplikacije koje su čisto dizajnirane tako da koriste minimum resursa AWS-a. Kad se skaliraju, računi će se sporije skalirati. 

Evo 10 prijedloga kako igrati AWS stog i generirati najmanje račune koristeći najslobodnije usluge.

Otpad ne želim ne

Većina usluga AWS u besplatnom sloju ima ograničenje, koje se obično primjenjuje svaki mjesec. Neke se od njih čine nevjerojatno velike poput AWS-ove Lambda-ove dodijeljene pomoći od milijun poziva. Nakon što završite s odavanjem počasti dr. Evilu iz filmova o Austin Powersu ponavljajući njegov izgovor "milijun", možete započeti s proračunom upotrebe ovih funkcija za najvažnije poslove. Čak se i velikodušne granice mogu iscrpiti. Milijun može doći prilično brzo ako niste oprezni.

Idi statično

Opcije za izračunavanje u besplatnom sloju prilično su ograničene, pa se isplati smanjiti izračunavanje na strani poslužitelja što je više moguće. Statički generatori web stranica poput Jekyla ili Gatsbya pretvaraju podatke na vašem dinamičnom web mjestu u HTML, JavaScript i CSS datoteke koje se nalaze na statičnom web poslužitelju. Možda ćete ih premjestiti na CDN poput Amazonovog CloudFronta. Možda ćete ih posluživati ​​izravno s Amazona S3. Možda ćete ih čak i parkirati u kutu drugog poslužitelja oko vašeg ureda. Poanta je u tome da se računski resursi koji bi generirali vaše web stranice štede dinamički, kako biste mogli ostati unutar slobodnog nivoa.

Otiđite bez poslužitelja

AWS Lambda jedina je opcija računanja na Amazonu koja ostaje besplatna nakon godinu dana. To je također vjerojatno najbolja opcija za uslugu koja će se glatko prilagoditi za obradu tisuća, milijuna ili milijardi zahtjeva. Odabir Lambde od početka postavlja vašu prijavu za uspjeh u budućnosti.

Idite na NoSQL

Amazon nas također potiče da koristimo njihov DynamoDB uključivanjem 20 GB prostora za pohranu koji je uvijek besplatan. DynamoDB možda neće ponuditi iste pametne opcije indeksiranja i normalizacije koje su ljubitelji relacijskih baza podataka prihvatili tijekom godina, ali NoSQL ostaje pametan i fleksibilan arhitektonski izbor koji posebno oprašta za razvoj prototipova i okretanje startupa.

Kombinirajte AJAX pozive

Ponekad ćete svoju web stranicu morati učiniti interaktivnom. Najbolji je pristup povezati pozive svojih web usluga u što manje transakcija. Na primjer, besplatni nivo Amazon API Gateway uključuje milijun API poziva i milijun HTTP poziva. Spajanjem svih podataka u jedan poziv ova ograničenja traju dulje nego što je potrebno odmah pozivati ​​pozive. Najjednostavniji način da se to postigne je smanjiti pohranu dokumenata ili podataka obrazaca za korisnika. Da, ovo može učiniti uslugu malo manje robusnom i otpornom na padove, ali to je trošak besplatnog obavljanja stvari.

Osnažite klijenta

Iako kolačići i njihovi manje poznati rođaci poput lokalnog API-ja za web pohranu imaju reputaciju pomaganja velikim tvrtkama u praćenju ljudi, oni također nude priliku korisnicima da kontroliraju svoju privatnost pohranjujući njihove lokalne podatke. Također olakšava izgradnju besplatne web aplikacije, rasterećujući troškove pohrane podataka klijenta na klijentovom računalu. Korisnički strojevi pohranjuju podatke tako da ih ne morate!

Više privatnosti i manje središnjih troškova. Bilo bi savršeno rješenje da nije bilo totalne katastrofe koja slijedi nakon izgubljenog telefona, srušenog lokalnog diska ili bilo kojeg od milijun drugih kvarova. Najbolje je koristiti ovo za slučajne podatke, a ne za ključne informacije.

Izbjegavajte trikove

Neke web stranice dodale su blistave interaktivne značajke poput samodovršavanja. To mogu biti zabavno i mogu izazvati pažnju, ali svaka od ovih značajki obično zahtijeva još jedan zahtjev za oblak i to ulazi u vašu granicu. Izbjegavanje nepotrebnih pokretnih dijelova najjednostavniji je način uštede računalnih resursa.

Pokrenite vlastitu bazu podataka

Usluge relacijskih baza podataka kojima upravlja Amazon, poput MySQL ili PostgreSQL, izvrsni su alati za pokretanje i održavanje baze podataka koja sadrži podatke o vašoj aplikaciji, ali besplatni nivo nudi vam samo jedan od njih i to samo za prvih 12 mjeseci. Ništa vas ne sprečava da pokrenete vlastitu bazu podataka na jednom od besplatnih EC2 primjeraka koji su također dostupni u prvih 12 mjeseci. Da, morat ćete ih instalirati i sami konfigurirati, ali udvostručit će vaše mogućnosti baze podataka.

Prijavite se pažljivo

Sva besplatna pohrana na AWS-u dolazi s ograničenjima. Dobri programeri stvaraju dobre datoteke dnevnika za otklanjanje pogrešaka i otkrivanje kvarova, ali većina datoteka dnevnika nikada se ne koristi. Zadržavanje ograničenja za pohranu jednostavnije je ako često čistite svoje dnevnike. Neki jednostavno bace podatke, a neki ih preuzimaju na svoj radni stol.

Koristite resurse koji nisu iz oblaka

Nije baš pošten odgovor reći da možete dobiti više od besplatnog sloja pokretanjem vlastitog poslužitelja na svom stolu. Ipak, razborita upotreba usluga koje nisu AWS-a može stvarno proširiti posao koji se obavlja na oblaku. Na primjer, sigurnosne kopije baze podataka mogle bi se premjestiti na vašu radnu površinu, koja bi mogla imati nekoliko terabajta praznog prostora koji čeka na neke slučajne detrituse. I vjerojatno ćete ionako poželjeti sigurnosno kopirati svoje projekte izvan oblaka. Svaka usluga ili podaci koji ne trebaju trenutni odgovor i neprekidno vrijeme rada oblaka poštena su igra.

Prepoznajte granice

Besplatni nivo odličan je način za istraživanje AWS-a i zabavno je ukloniti sve suvišne značajke kako biste pokušali generirati račune za 0,00 dolara, ali na kraju dana AWS je posao, a besplatni nivo dobro osmišljen marketing alat nije javna dobrotvorna organizacija. Neki ljudi otvoreno stvaraju nove račune s novim adresama e-pošte da bi nastavili ponovno pokretati 12-mjesečni sat. To može funkcionirati s jednokratnim projektima, ali ne i s onima koji su počeli privlačiti korisnike koji će biti poremećeni kada promijenite račun.

Kada vaše kreacije pronađu publiku, vrijeme je da počnete tražiti način plaćanja računa. Dobra vijest je da će vam sve lekcije koje ste naučili iz života u besplatnom sloju znatno smanjiti račune. Na primjer, API pristupnik naplaćuje samo 1 USD za milijun poziva. Ako ste uspješno trčali u besplatnom sloju, vaši računi neće iznositi više od nekoliko dolara mjesečno.

To bi trebalo trajati dok sve ne postane ludo virusno i vaša nečuvena sreća učini da račun za AWS najmanje upali u vaše brige.