Как да се възползвате максимално от безплатното ниво на AWS

Безплатното е мощен стимул. Когато преподавах курс по уеб рамки в местния колеж, ние създадохме заданията, за да гарантираме, че всички експерименти могат да бъдат направени бързо с колекцията от безплатни машини на Amazon Web Services. Всеки студент създаде, изгради и изправи повече от дузина различни сървъри и те не добавиха и стотинка към студентския си дълг.

Това е добър пример за това защо Amazon и другите облачни услуги предлагат стотици различни начини да изпробват своите продукти. Новите продукти се раждат, тестват, прокарват и подбуждат само за цената на времето на разработчика. Ако кодът го направи голям и започне да генерира достатъчно приходи, разработчиците могат да прераснат в плащащи клиенти. Ако не стане и те не го направят, поне разработчиците ще се чувстват добре с инструментите и вероятно ще се обърнат към Amazon за следващия проект.

Безплатното ниво не е само за студенти, които ядат рамен. Понякога да поискате от шефа бюджетен ред, независимо колко малък е, означава да предизвикате поредица от въпроси и срещи, които изискват обяснения. Редица добри разработчици тестват плановете си на безплатни машини, защото е много по-впечатляващо да представите работещ прототип, отколкото слайд дек с някои макети.

Amazon предлага три различни вида безплатни услуги. Някои са краткосрочни проби, позволяващи ви да оцените нова услуга за около месец. Те са предназначени да накарат екипи да изследват нови продукти. Други са като щедър вагон за добре дошли за нови разработчици, които се регистрират за акаунт в AWS. Те могат да започнат да проучват, без да се притесняват от сметка, защото продължават цяла година, след като създадете новия си акаунт.

Най-щедри са „винаги безплатните“ предложения, които продължават и продължават. Някои разработчици си поставят за цел да изградят своите продукти, за да живеят на свободен слой възможно най-дълго. Това е малко игра, защото ресурсите за разработка в началото не са твърде скъпи. Може да спестяват няколко долара. Но този фокус върху долния ред може да създаде добри приложения, които са изцяло проектирани да използват минимум ресурси на AWS. Когато се мащабират, сметките ще се мащабират малко по-бавно. 

Ето 10 предложения за това как да играете стека AWS и да генерирате най-малките сметки, като използвате най-безплатните услуги.

Отпадъци не искам не

Повечето от услугите на AWS в безплатния слой идват с лимит, който обикновено се прилага всеки месец. Някои от тях изглеждат невъзможно големи като отпускането на AWS Lambda от един милион извиквания на функции. След като приключите с отдаването на почит към д-р Зло от филмите на Остин Пауърс, като повтаряте произношението му „милион“, можете да започнете да бюджетирате използването на тези функции за най-важните работни места. Дори щедрите ограничения могат да бъдат изчерпани. Милион може да дойде скоро, ако не сте внимателни.

Отидете статични

Опциите за изчисление в безплатния слой са доста ограничени и затова си струва да се намали изчислението от страна на сървъра, доколкото е възможно. Статичните генератори на сайтове като Jekyl или Gatsby превръщат данните в динамичния ви уебсайт в HTML, JavaScript и CSS файлове, които се намират в статичен уеб сървър. Може би ще ги преместите в CDN като CloudFront на Amazon. Може би ще ги обслужвате директно от Amazon S3. Може би дори ще ги паркирате в ъгъла на друг сървър около вашия офис. Въпросът е да спестите изчислителни ресурси, които биха генерирали динамично уеб страниците ви, за да можете да останете в рамките на безплатния слой.

Отидете без сървър

AWS Lambda е единствената опция за изчисления на Amazon, която остава безплатна след една година. Това също е може би най-добрият вариант за услуга, която ще се мащабира безпроблемно, за да обработва хиляди, милиони или милиарди заявки. Изборът на Lambda от самото начало поставя вашето приложение за успех в бъдеще.

Отидете на NoSQL

Amazon също ни насърчава да използваме техния DynamoDB, като включваме 20 GB място за съхранение, което винаги е безплатно. DynamoDB може да не предлага същите интелигентни опции за индексиране и нормализиране, които любителите на релационни бази данни са възприели през годините, но NoSQL остава интелигентен и гъвкав архитектурен избор, който е особено прощаващ за развиващите се прототипи и завъртащи се стартиращи компании.

Комбинирайте AJAX повиквания

Понякога ще трябва да направите сайта си интерактивен. Най-добрият подход е да групирате обажданията към вашите уеб услуги в възможно най-малко транзакции. Безплатното ниво на Amazon API Gateway например включва един милион API повиквания и един милион HTTP разговори. Обединяването на всичките ви данни в едно обаждане прави тези ограничения по-дълги, отколкото да се извикват веднага повикванията. Най-простият начин да постигнете това е да намалите съхранението на документи или данни за формуляри за потребителя. Да, това може да направи услугата малко по-нестабилна и устойчива на сривове, но това е цената да правиш нещата безплатно.

Овластете клиента

Докато бисквитките и техните по-малко известни братовчеди като локалния API за уеб съхранение имат репутацията да помагат на големия бизнес да проследява хората, те също така предлагат възможност на потребителите да контролират поверителността им, като съхраняват своите местни данни. Това също улеснява изграждането на безплатно уеб приложение от ниво, като разтоварва разходите за съхранение на клиентски данни на собствената машина на клиента. Потребителските машини съхраняват данните, така че не е нужно!

Повече поверителност и по-малко централни разходи. Това би било идеалното решение, ако не беше пълната катастрофа, която следва загубен телефон, срив на локален диск или някой от милион други неуспехи. Най-добре е да използвате това за случайни данни, а не за критична информация.

Избягвайте трикове

Някои уебсайтове са добавили блестящи интерактивни функции като автоматично довършване. Това може да е забавно и те да генерират внимание, но всяка от тези функции обикновено изисква друга заявка към облака и това яде до вашия лимит. Избягването на ненужни движещи се части е най-простият начин за спестяване на изчислителни ресурси.

Стартирайте собствена база данни

Управляваните от Amazon услуги за релационни бази данни като MySQL или PostgreSQL са чудесни инструменти за стартиране и поддържане на база данни, която да съхранява информацията за вашето приложение, но безплатното ниво ви предлага само една от тях и то само за първите 12 месеца. Нищо не ви пречи да стартирате собствена база данни на един от безплатните екземпляри на EC2, които също са достъпни през първите 12 месеца. Да, ще трябва да ги инсталирате и конфигурирате сами, но това ще удвои опциите ви за база данни.

Влезте внимателно

Цялото безплатно хранилище в AWS идва с ограничения. Добрите разработчици създават добри регистрационни файлове за отстраняване на грешки и улавяне на грешки, но повечето регистрационни файлове никога не се използват. Поддържането на ограниченията за съхранение е по-лесно, ако често почиствате дневниците си. Някои просто изхвърлят данните, а други ги изтеглят на работния си диск.

Използвайте ресурси извън облака

Не е съвсем честен отговор да се каже, че можете да извлечете повече от безплатното ниво, като пуснете собствения си сървър обратно на бюрото си. Все пак разумно използване на услуги, които не са AWS, наистина може да разтегне работата, извършена в облака. Резервните копия на базата данни, например, могат да се преместят на вашия работен плот, който може да има няколко терабайта празно място в очакване на част от произволния детрит. И вероятно ще искате да направите резервно копие на проектите си извън облака така или иначе. Всяка услуга или данни, които не се нуждаят от незабавна реакция и постоянен ъптайм на облака, са честни игри.

Признайте границите

Безплатният слой е отличен начин за изследване на AWS и е забавно да премахнете всички странични функции, за да се опитате да генерирате сметки за $ 0,00, но в края на деня AWS е бизнес, а безплатният слой е добре проектиран маркетинг инструмент не е публична благотворителна организация. Някои хора открито създават нови акаунти с нови имейл адреси, за да продължат да рестартират 12-месечния часовник. Това може да работи с проекти за еднократна употреба, но не и с тези, които са започнали да привличат потребители, които ще бъдат прекъснати при смяна на акаунти.

Когато вашите творения намерят аудитория, е време да започнете да търсите начин за плащане на сметките. Добрата новина е, че всички уроци, които сте научили от това, че живеете в безплатното ниво, ще намалят вашите сметки много по-ниски. API шлюзът например таксува само $ 1 за милион извиквания. Ако сте работили успешно в безплатния ред, тогава вашите сметки няма да бъдат повече от няколко долара на месец.

Това би трябвало да се задържи, докато всичко стане безумно вирусно и вашето скандално щастие накара AWS да изплати най-малкото от вашите притеснения.