Jak najlepiej wykorzystać darmowy poziom AWS

Bezpłatne to potężna zachęta. Kiedy prowadziłem kurs na temat frameworków internetowych w miejscowym college'u, zaprojektowaliśmy zadania tak, aby zapewnić, że wszystkie eksperymenty będą mogły zostać wykonane szybko z kolekcją bezpłatnych maszyn Amazon Web Services. Każdy student stworzył, zbudował i postawił ponad tuzin różnych serwerów i nie dodał ani grosza do swojego długu studenckiego.

To dobry przykład, dlaczego Amazon i inne usługi w chmurze oferują setki różnych sposobów wypróbowania swoich produktów. Nowe produkty powstają, są testowane, szturchane i podsycane tylko kosztem czasu programisty. Jeśli kod będzie duży i zacznie generować wystarczające przychody, programiści mogą stać się płacącymi klientami. Jeśli tak się nie stanie, a nie, przynajmniej programiści oswoją się z narzędziami i prawdopodobnie zwrócą się do Amazona po kolejny projekt.

Poziom bezpłatny nie jest przeznaczony tylko dla uczniów jedzących ramen. Czasami poproszenie szefa o linię budżetową, nieważne jak małą, oznacza wywołanie serii pytań i spotkań, które wymagają wyjaśnień. Wielu dobrych programistów testuje swoje plany na darmowych maszynach, ponieważ prezentacja działającego prototypu jest znacznie bardziej imponująca niż pokaz slajdów z kilkoma makietami.

Amazon oferuje trzy różne rodzaje bezpłatnych usług. Niektóre z nich to próbki krótkoterminowe, pozwalające na ocenę nowej usługi przez mniej więcej miesiąc. Mają na celu skłonienie zespołów do odkrywania nowych produktów. Inni są jak hojny powitalny wóz dla nowych programistów, którzy rejestrują się w celu uzyskania konta AWS. Mogą rozpocząć eksplorację bez obaw o rachunek, ponieważ działają przez cały rok po utworzeniu nowego konta.

Najbardziej hojne są „zawsze darmowe” oferty, które trwają i trwają. Niektórzy programiści starają się tworzyć swoje produkty tak długo, jak to możliwe, w warstwie bezpłatnej. To trochę gra, ponieważ zasoby programistyczne nie są początkowo zbyt drogie. Mogą oszczędzać kilka dolarów. Ale to skupienie się na wynikach finansowych może stworzyć dobre aplikacje, które są starannie zaprojektowane tak, aby wykorzystywać minimum zasobów AWS. Kiedy się skalują, rachunki będą skalować się nieco wolniej. 

Oto 10 sugestii, jak grać na stosie AWS i generować najmniejsze rachunki, korzystając z najbardziej bezpłatnych usług.

Nie marnuj nie chcij

Większość usług AWS w warstwie bezpłatnej ma limit, zwykle egzekwowany co miesiąc. Niektóre z nich wydają się niewiarygodnie duże, jak na przykład przyznanie miliona wywołań funkcji przez AWS Lambda. Kiedy skończysz składać hołd dr. Evilowi ​​z filmów Austina Powersa, powtarzając jego wymowę „milion”, możesz zacząć budżetować wykorzystanie tych wywołań funkcji do najważniejszych zadań. Nawet hojne ograniczenia mogą się wyczerpać. Milion może nadejść wkrótce, jeśli nie będziesz ostrożny.

Idź statycznie

Opcje obliczeń w warstwie bezpłatnej są dość ograniczone, dlatego opłaca się maksymalnie ograniczyć obliczenia po stronie serwera. Statyczne generatory witryn, takie jak Jekyl lub Gatsby, zamieniają dane w dynamicznej witrynie na pliki HTML, JavaScript i CSS, które znajdują się na statycznym serwerze sieciowym. Być może przeniesiesz je do CDN, takiego jak CloudFront firmy Amazon. Być może będziesz je obsługiwać bezpośrednio z Amazon S3. Być może zaparkujesz je nawet w rogu innego serwera w swoim biurze. Chodzi o to, aby zaoszczędzić zasoby obliczeniowe, które dynamicznie generowałyby twoje strony internetowe, abyś mógł pozostać w warstwie bezpłatnej.

Idź bez serwera

AWS Lambda to jedyna opcja obliczeniowa Amazon, która pozostaje bezpłatna po roku. Jest to również prawdopodobnie najlepsza opcja dla usługi, która będzie się płynnie skalować, aby obsłużyć tysiące, miliony lub miliardy żądań. Wybór Lambdy od samego początku to gwarancja sukcesu w przyszłości.

Idź NoSQL

Amazon zachęca również nas do korzystania z ich DynamoDB, udostępniając 20 GB miejsca, które jest zawsze bezpłatne. DynamoDB może nie oferować tych samych sprytnych opcji indeksowania i normalizacji, które miłośnicy relacyjnych baz danych używali przez lata, ale NoSQL pozostaje inteligentnym i elastycznym wyborem architektonicznym, który jest szczególnie wybaczający dla rozwijających się prototypów i przestawnych start-upów.

Połącz połączenia AJAX

Czasami będziesz musiał uczynić swoją witrynę interaktywną. Najlepszym podejściem jest połączenie wywołań do usług internetowych w jak najmniejszej liczbie transakcji. Na przykład bezpłatna warstwa Amazon API Gateway obejmuje milion wywołań API i milion wywołań HTTP. Połączenie wszystkich danych w jedno połączenie sprawia, że ​​te limity trwają dłużej niż natychmiastowe wykonywanie połączeń. Najprostszym sposobem osiągnięcia tego jest ograniczenie przechowywania dokumentów lub danych formularzy dla użytkownika. Tak, może to sprawić, że usługa będzie nieco mniej niezawodna i odporna na awarie, ale taki jest koszt robienia rzeczy za darmo.

Zwiększ możliwości klienta

Chociaż pliki cookie i ich mniej znani kuzyni, tacy jak lokalny interfejs API usługi Web Storage, mają reputację pomagającego dużym firmom w śledzeniu ludzi, oferują one również użytkownikom możliwość kontrolowania ich prywatności poprzez przechowywanie lokalnych danych. Ułatwia również tworzenie bezpłatnej aplikacji sieci Web w warstwie, odciążając koszt przechowywania danych klienta na jego własnym komputerze. Maszyny użytkowników przechowują dane, więc Ty nie musisz!

Więcej prywatności i mniej kosztów centralnych. Byłoby to idealne rozwiązanie, gdyby nie całkowita katastrofa, która nastąpiła po zgubionym telefonie, awarii lokalnego dysku lub którejkolwiek z miliona innych awarii. Najlepiej używać tego do zwykłych danych, a nie informacji o znaczeniu krytycznym.

Unikaj sztuczek

Niektóre witryny dodały krzykliwe interaktywne funkcje, takie jak autouzupełnianie. Mogą być zabawne i mogą przyciągać uwagę, ale każda z tych funkcji zwykle wymaga kolejnego żądania do chmury, co pochłania twój limit. Unikanie niepotrzebnych ruchomych części to najprostszy sposób oszczędzania zasobów obliczeniowych.

Uruchom własną bazę danych

Zarządzane przez Amazon usługi relacyjnych baz danych, takie jak MySQL lub PostgreSQL, to świetne narzędzia do uruchamiania i utrzymywania bazy danych do przechowywania informacji o aplikacji, ale bezpłatna warstwa oferuje tylko jedną z nich i jest dostępna tylko przez pierwsze 12 miesięcy. Nic nie stoi na przeszkodzie, abyś mógł uruchomić własną bazę danych na jednej z bezpłatnych instancji EC2, które są również dostępne przez pierwsze 12 miesięcy. Tak, musisz je zainstalować i skonfigurować samodzielnie, ale podwoi to opcje bazy danych.

Loguj ostrożnie

Cała bezpłatna przestrzeń dyskowa w AWS ma ograniczenia. Dobrzy programiści tworzą dobre pliki dziennika, aby debugować problemy i wychwytywać awarie, ale większość plików dziennika nigdy nie jest używana. Przestrzeganie limitów miejsca na dane jest prostsze, jeśli często czyścisz dzienniki. Niektórzy po prostu wyrzucają dane, a niektórzy pobierają je na dysk komputera.

Używaj zasobów spoza chmury

Nie jest do końca uczciwa odpowiedź, że możesz uzyskać więcej z poziomu darmowego, uruchamiając własny serwer na swoim biurku. Mimo to rozsądne korzystanie z usług innych niż AWS może naprawdę wydłużyć pracę wykonywaną w chmurze. Na przykład kopie zapasowe bazy danych mogą zostać przeniesione na pulpit, na którym może znajdować się kilka terabajtów pustego miejsca czekającego na niektóre losowe detrytus. I prawdopodobnie i tak będziesz chciał tworzyć kopie zapasowe swoich projektów poza chmurą. Każda usługa lub dane, które nie wymagają natychmiastowej odpowiedzi i nieprzerwanego czasu działania chmury, są uczciwe.

Rozpoznaj ograniczenia

Poziom bezpłatny to doskonały sposób na poznanie AWS i fajnie jest pozbyć się wszystkich dodatkowych funkcji, aby spróbować wygenerować rachunki za 0,00 USD, ale ostatecznie AWS to biznes, a poziom bezpłatny to dobrze zaprojektowany marketing narzędzie, a nie publiczna organizacja charytatywna. Niektórzy ludzie otwarcie tworzą nowe konta z nowymi adresami e-mail, aby kontynuować ponowne uruchamianie zegara 12-miesięcznego. Może to działać w przypadku projektów jednorazowych, ale nie w przypadku projektów, które zaczęły przyciągać użytkowników, którzy zostaną zakłóceni podczas zmiany kont.

Kiedy Twoje kreacje znajdą odbiorców, czas zacząć szukać sposobu na opłacenie rachunków. Dobra wiadomość jest taka, że ​​wszystkie lekcje, których nauczyłeś się podczas życia na poziomie darmowym, znacznie obniżą Twoje rachunki. Na przykład API Gateway kosztuje zaledwie 1 USD za milion wywołań. Jeśli z powodzeniem korzystasz z bezpłatnej warstwy, Twoje rachunki nie przekroczą kilku dolarów miesięcznie.

To powinno potrwać, dopóki wszystko nie stanie się szalenie wirusowe, a twoje oburzające szczęście sprawi, że rachunek za AWS będzie najmniejszym z twoich zmartwień.