paint-brush
Jak zarobić 1 milion dolarów dzięki AWS w ciągu jednego rokuprzez@gianpicolonna
65,371 odczyty
65,371 odczyty

Jak zarobić 1 milion dolarów dzięki AWS w ciągu jednego roku

przez Gianpi Colonna5m2024/04/28
Read on Terminal Reader
Read this story w/o Javascript

Za długo; Czytać

Zmniejsz koszty chmury AWS o 90%! Poznaj 4 kroki optymalizacji wydatków: kwestionuj założenia, dostosuj zasoby, używaj instancji Graviton i monitoruj wykorzystanie.

Company Mentioned

Mention Thumbnail
featured image - Jak zarobić 1 milion dolarów dzięki AWS w ciągu jednego roku
Gianpi Colonna HackerNoon profile picture
0-item
1-item


Jeśli trafiłeś na tę stronę myśląc, że szybko się wzbogacisz dzięki jakiemuś schematowi szybkiego wzbogacenia się, przykro mi, że cię rozczaruję. Ten artykuł będzie raczej opowiadał o tym, jak zmniejszyć rachunki za usługi w chmurze o 1 milion dolarów. Dzięki temu wygenerujesz dodatkowy milion dolarów przychodu — który możesz wydać, kupując mój kurs online na temat tego, jak szybko się wzbogacić dzięki AWS ( link do kursu tutaj ).



Koszty chmury są często pomijane i nieuwzględniane na początku projektów firm. Badanie HashiCorp z 2021 r. wykazało, że prawie 40% firm przekroczyło wydatki na koszty chmury w 2021 r. [ 1 ]. W 2023 r. prawie wszystkie firmy (94%) przyznały, że marnują pieniądze na chmurę [ 1 ], a co najmniej 30% kosztów chmury zostało zmarnowane [ 2 ]. Wydatki na chmurę wyniosły prawie 500 miliardów dolarów w 2022 r. — mówimy zatem o 150 miliardach dolarów zmarnowanych rocznie!!


Nie dość, że jest to problem utraconych przychodów, to jeszcze złe praktyki w zakresie zrównoważonego rozwoju. 150 miliardów dolarów zmarnowanej energii!


Te ustalenia dotyczą dużych przedsiębiorstw, jak i mniejszych, od wysokiego poziomu dojrzałości chmury do niskiego poziomu dojrzałości chmury. Odnosi się to do AWS, ale te same zasady można zastosować do każdego innego dostawcy chmury. Tak więc, jeśli jakakolwiek część Twojej pracy jest w chmurze, to ten artykuł jest dla Ciebie.


Mówię to z perspektywy inżyniera danych, ale te same wnioski można odnieść do innych praktyk inżynierii oprogramowania.

Zanurzmy się w temat.


Ile trzeba wydać rocznie na usługi w chmurze, żeby uzyskać milion dolarów?

Tego rodzaju rachunki za usługi w chmurze są zazwyczaj przeznaczone dla bardzo dużych przedsiębiorstw, które działają globalnie i mają miliony klientów.


Aby dać ci wyobrażenie, rachunek za chmurę w wysokości 1 miliona dolarów może wynikać z przetwarzania zadania Spark ETL ~1,5 TB na godzinę 24x7 przez 365 dni w roku. Innym przykładem może być aplikacja, która otrzymuje miliardy żądań dziennie z wielu lokalizacji na świecie.


W dużym przedsiębiorstwie istnieją setki aplikacji tej wielkości — co skutkuje kontraktami wartymi miliardy dolarów z dostawcami usług w chmurze. Na przykład Airbnb zobowiązało się wydać 1,2 miliarda dolarów na zasoby w chmurze w ciągu pięciu lat pod koniec 2019 r. [3 ].


W Expedia obniżyliśmy koszty przetwarzania danych ETL, które kosztowały 1,1 miliona dolarów rocznie, do zaledwie 100 000 dolarów rocznie, wdrażając praktyki optymalizacji. To 91% redukcji kosztów!!


Nie wszystkie firmy mają aplikacje o tak dużych rozmiarach, ale wyobraź sobie obniżenie kosztów chmury o 90% w przypadku pojedynczej aplikacji lub całej firmy.



Jak zacząć oszczędzać?

KROK 1: Zakwestionuj założenia swojego projektu

Przygotuj listę najdroższych aplikacji i poddaj analizie założenia projektowe .

  • Czy tworzysz aplikację o dostępności na poziomie 99,999% i opóźnieniu poniżej milisekundy, ale realistycznie rzecz biorąc, użytkownicy poradziliby sobie nawet przy dostępności na poziomie 99% i opóźnieniu na poziomie setek milisekund?
  • Czy tworzysz zbiory danych składające się z miliardów wierszy, ale użytkownicy będą korzystać tylko z agregacji niektórych miar?
  • Czy Twoje dane są pobierane w czasie rzeczywistym, ale analizowane tylko raz dziennie?
  • Czy odświeżasz pamięć podręczną co 10 sekund, ale tak naprawdę zmienia się ona tylko w ciągu dni?


Wszystkie te pytania sprowadzają się do najważniejszego pytania: jak aplikacja będzie używana? Jaka jest wartość biznesowa jej istnienia? W jaki sposób aplikacja pomaga nam osiągnąć dany cel?


Oczywiście, wszystkie te odpowiedzi są bardzo często niejasne na początku projektu; ale właśnie dlatego projektowanie powinno być zawsze procesem iteracyjnym — pozwalającym na wprowadzanie zmian tak płynnie, jak to możliwe. Inżynierowie powinni przyjąć ewolucję i zmiany, dostosowując rozwój aplikacji do wpływu.


KROK 2: Dostosuj zasoby infrastruktury do swoich potrzeb

Drugi krok polega na wyposażeniu aplikacji w odpowiednie zasoby i dostosowaniu jej do właściwej infrastruktury.


Jako inżynier bądź świadomy tego, jak obliczane są koszty chmury. Na przykład AWS zapewnia wystąpienia spot, w których możesz licytować cenę klastra — jest to szczególnie przydatne, jeśli masz odporne na błędy i elastyczne aplikacje. Korzystaj z nich, jeśli możesz — AWS twierdzi, że koszty można obniżyć nawet o 90% [ 4 ].


Oto kilka innych kwestii, które warto wziąć pod uwagę:

  • Czy obsługujesz klientów globalnie czy tylko w jednym obszarze geograficznym? Czy naprawdę potrzebujesz infrastruktury, aby działała na całym świecie, czy możesz ją skonfigurować bliżej swojej bazy klientów?
  • Czy nadmiernie wyposażasz swoje wystąpienia klastra? Postaraj się zapewnić wystarczającą pojemność, aby obsłużyć obciążenia szczytowe bez zbędnych kosztów. Wykorzystaj automatyczne skalowanie, aby dynamicznie dostosowywać zasoby na podstawie rzeczywistego zapotrzebowania, zapobiegając przepłacaniu za bezczynne zasoby.
  • Jeśli pracujesz z danymi i Spark, upewnij się, że rozumiesz koncepcje Spark i dostrajanie! Jeśli nie, zapoznaj się z następującymi zasobami [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ].

KROK 3: Użyj instancji AWS Graviton

Korzystanie z instancji AWS Graviton ma niewiele lub wcale wad. AWS zainwestował dużo w tworzenie najbardziej opłacalnych procesorów. Możesz uzyskać do 40% redukcji wydatków na chmurę, po prostu zmieniając procesor oparty na architekturze Intel na procesor oparty na architekturze ARM [ 10 ].


Jedynym zastrzeżeniem jest to, że Twoja aplikacja musi być zgodna z procesorami ARM, na których działa Graviton. Jeśli masz do czynienia z usługą zarządzaną, taką jak RDS lub OpenSearch, nie ma żadnych komplikacji w przełączaniu — AWS zajmuje się podstawowym systemem operacyjnym i zgodnością aplikacji. Jeśli budujesz własną aplikację, może być konieczne ponowne skompilowanie pakietu w zależności od używanego języka — Java i inne języki nie wymagają żadnych zmian, podczas gdy Python wymaga pewnej uwagi.


KROK 4: Monitoruj swoje wydatki i edukuj w zakresie świadomości kosztów

Na koniec nie zapomnij monitorować kosztów pod kątem nieoczekiwanych szczytów i niespodzianek. Koszt w dniu 0 Twojej aplikacji będzie inny niż koszt w dniu 170. Upewnij się, że śledzisz zmiany i rozumiesz, dlaczego zmiana następuje: czy to kumulacja kosztów pamięci masowej s3, czy też jednorazowy skok?


Skonfiguruj niezbędne alerty i instrukcje operacyjne !


Co ważne, wdróż tagi alokacji kosztów, aby śledzić wydatki według działu, projektu lub środowiska. Unikaj ryzyka tworzenia bagna danych, w którym koszt jest niemożliwy do wyśledzenia lub wymaga długiej podróży przez różne systemy rejestrowania. Powrót do dowolnego kosztu aplikacji powinien być szybki i prosty.


Ostatnie przemyślenia

Gdziekolwiek pracujesz, trudno jest zrównoważyć dostarczanie nowych funkcji z optymalizacją obecnych. Kto nie był pod presją dostarczania nowych dziwacznych funkcji z prędkością światła.


Niemniej jednak zarówno inżynierowie, jak i menedżerowie muszą podejmować świadome i proaktywne decyzje dotyczące bieżących projektów, skutecznie zarządzając ryzykiem i szansami.