7 mrocznych sekretów kosztów chmury

Czy jest coś bardziej kuszącego niż cenniki maszyn w chmurze? Niewielu z nas jest na tyle starych, by pamiętać płacenie ani grosza za cukierka, ale użytkownicy chmury cieszą się jeszcze niższymi cenami.

Cena standardowej maszyny Google N1 to 0,0475 USD za godzinę, ale możesz ją dostać za jedyne 0,0100 USD za godzinę na potrzeby przetwarzania wsadowego - jeśli chcesz zostać wyprzedzony przez ważniejsze zadania. Szaleni wydawcy mogą przejść do wersji z wysokim procesorem za 0,015 USD za godzinę - wciąż mniej niż dwa centy. Woo-hoo!

Platforma Azure pobiera niewielką kwotę 0 00099 USD za gigabajt za przechowywanie danych przez miesiąc w warstwie magazynu archiwalnego. Amazon może jednak zaoferować najbardziej rzucające się w oczy niskie ceny - pobierając nieskończenie małe 0,0000002083 USD za 128 megabajtów pamięci w celu obsługi funkcji Lambda. (Cztery cyfry precyzji?)

Te małe cyfry wytrącają nas z równowagi. Ubezpieczenie medyczne i rachunki za nieruchomości mogą kruszyć budżet, ale jeśli chodzi o chmurę, możemy cieszyć się rozrzucaniem pieniędzy jak konfetti. Dzieje się tak, ponieważ ceny wielu usług w chmurze są dosłownie niższe niż koszt kawałka konfetti.

Potem nadchodzi koniec miesiąca, a rachunek za chmurę jest znacznie większy, niż ktokolwiek się spodziewał. Jak te ułamki groszy sumują się tak szybko?

Oto siedem mrocznych sekretów tego, jak firmy chmurowe zamieniają ułamki centów na prawdziwe pieniądze.

Ukryte „dodatki”

Czasami najbardziej efektowne liczby są zdominowane przez dodatki, których nie zauważasz. Amazon S3 Glacier ma warstwę „głębokiego archiwum” przeznaczoną do długoterminowych kopii zapasowych, która kosztuje kusząco 0,00099 USD za gigabajt, czyli 1 USD za terabajt miesięcznie. Łatwo sobie wyobrazić odkładanie na bok taśm zapasowych i kłopotów z prostotą obsługi Amazon.

Ale powiedzmy, że chcesz faktycznie przyjrzeć się tym danym. Jeśli przejdziesz do drugiej zakładki w arkuszu cen, zobaczysz, że koszt pobrania wynosi 0,02 USD za gigabajt. Przeglądanie danych jest 20 razy droższe niż przechowywanie ich przez miesiąc. Gdyby restauracja stosowała ten model cenowy, pobierałaby 2 dolary za stek, ale 40 dolarów za sztućce.

Przypuszczam, że model cenowy Amazona ma wiele sensu, ponieważ zaprojektował produkt tak, aby obsługiwał długoterminowe przechowywanie, a nie zwykłe przeglądanie i niekończące się generowanie raportów. Jeśli zależy nam na częstym dostępie, możemy zapłacić za zwykły poziom S3. Ale jeśli celem jest zaoszczędzenie na magazynach archiwalnych, musimy zrozumieć dodatkowe koszty i planować z wyprzedzeniem.

Lokalizacja ma znaczenie

Firmy działające w chmurze często olśnią nas mapami pokazującymi centra danych na całym świecie, zapraszając nas do parkowania naszych obciążeń w miejscu, w którym czujemy się najbardziej komfortowo. Jednak ceny nie zawsze są takie same. Amazon może pobierać 0,00099 USD za gigabajt w Ohio, ale 0,002 USD za gigabajt w Północnej Kalifornii. Czy to ciepła pogoda? Bliskość plaży? A może tylko koszt nieruchomości?

Alibaba, chińska firma działająca w chmurze, wyraźnie chce zachęcić programistów do korzystania z centrów danych na całym świecie. Instancje z niższej półki zaczynają się od zaledwie 2,50 USD miesięcznie poza Chinami, ale wzrastają do 7 USD miesięcznie w Hongkongu i 15 USD miesięcznie w Chinach kontynentalnych.

To od nas zależy, czy będziemy obserwować te ceny i dokonać odpowiedniego wyboru. Nie możemy wybierać centrów danych tylko dlatego, że wydają się wygodniejsze lub są idealnymi kandydatami na wyjazd inspekcyjny.

Koszty transferu danych

Jedynym problemem związanym z analizowaniem cenników i przenoszeniem naszego obciążenia do najtańszych centrów danych jest to, że firmy chmurowe również pobierają opłaty za przenoszenie danych. Jeśli spróbujemy być sprytni i arbitrażowi koszty, przesuwając bity po całym świecie w poszukiwaniu najtańszych obliczeń i pamięci, możemy skończyć z większymi rachunkami za przenoszenie danych.

Koszty przepływu danych w sieci są zaskakująco duże. Och, sporadyczny gigabajt nie robi różnicy, ale replikacja często aktualizowanej bazy danych w całym kraju co milisekundę może być dużym błędem, ponieważ może nadejść jakieś trzęsienie ziemi lub huragan.

Motele Roach

Słynne reklamy jednej pułapki na karaluchy głosiły: „Karaluchy meldują się, ale nie sprawdzają”. Możesz czuć to samo, patrząc na koszt wyjścia danych. Firmy działające w chmurze często nie pobierają opłat za przenoszenie danych do chmury. Czy sklep pobierałby od klienta opłatę za wejście do drzwi? Ale jeśli spróbujesz wysłać dane, rachunek za wyjście jest nieskończenie wyższy.

Może to ugryźć każdego, małego lub dużego, kto zobaczy, jak niektóre treści stają się wirusowe. Nagle każdy chce zobaczyć mema lub wideo na twoim serwerze, a ponieważ twój serwer sieciowy dzielnie spełnia wszystkie żądania, licznik opłat za wyjście obraca się coraz szybciej.

Błąd utopionych kosztów

Zawsze są chwile, kiedy bieżąca maszyna lub konfiguracja będzie miała trudności z wykonaniem zadania, ale jeśli tylko zwiększysz rozmiar, będzie dobrze. A to tylko kilka dodatkowych centów za godzinę. Jeśli już płacimy kilka dolarów za godzinę, kolejne kilka groszy nie doprowadzi nas do bankructwa. Firmy działające w chmurze służą pomocą za jednym kliknięciem.

Kasyna znają tę samą drogę do naszych portfeli. Dotarliśmy już tak daleko - kolejna drobna wypłata to nic. Ale bystrzy księgowi wiedzą, że błędne przekonanie o kosztach utopionych - czyli wyrzucanie dobrych pieniędzy za złe - jest dużym problemem dla hazardzistów, menedżerów i prawie wszystkich oprócz małych dzieci. Pieniądze, które wydaliśmy, przepadły. To już nigdy nie wróci. Jednak nowe wydatki to coś, co możemy kontrolować.

Trochę inaczej jest, gdy tworzysz oprogramowanie. Często nie jesteśmy pewni, ile pamięci lub procesora będzie wymagać dana funkcja. Będziemy musieli czasami zwiększać moc maszyn. Prawdziwym wyzwaniem jest pilnowanie budżetu i kontrolowanie kosztów po drodze. Po prostu beztrosko dodając tutaj trochę więcej procesora lub pamięci, jest droga do dużego rachunku pod koniec miesiąca.

Nad głową

Maszyna w chmurze nie jest maszyną jako taką, ale fragmentem większej maszyny fizycznej, która została podzielona na N części. Jednak plasterki nie są wystarczająco mocne, aby samodzielnie poradzić sobie z obciążeniem, więc wdrażamy narzędzia takie jak Kubernetes, aby utrzymać współpracę N elementów. Dlaczego kroimy grube pudełko na N kawałków tylko po to, żeby je zszyć? Dlaczego po prostu nie mieć jednej grubej maszyny obsługującej jeden ładunek tłuszczu?

Ewangeliści chmury mogą powiedzieć, że ludzie, którzy zadają takie bezczelne pytania, nie odnoszą korzyści z chmury. Wszystkie dodatkowe warstwy i dodatkowe kopie systemu operacyjnego zapewniają dużą nadmiarowość i elastyczność. Powinniśmy być wdzięczni, że wszystkie te przypadki uruchamiają się i zamykają w wyszukanym, zaaranżowanym tańcu.

Ale łatwość odzyskiwania w Kubernetes zachęca do niechlujnego programowania. Awaria węzła nie stanowi problemu, ponieważ pod będzie działał, gdy Kubernetes zastępuje instancję. Więc płacimy trochę więcej za całość kosztów ogólnych, aby utrzymać dodatkowe warstwy, wdzięczni, że możemy po prostu uruchomić czystą, świeżą maszynę bez żadnych kruków, które wydają się przeszkadzać.

Chmura nieskończoność

Ostatecznie trudny problem z przetwarzaniem w chmurze polega na tym, że najlepsza funkcja, jej pozornie nieskończona zdolność do skalowania w celu obsługi dowolnego zapotrzebowania, jest również budżetowym polem minowym. Czy każdy użytkownik będzie miał średnio 10 gigabajtów danych wyjściowych czy 20 gigabajtów? Czy każdy serwer będzie potrzebował dwóch gigabajtów pamięci RAM, czy czterech? Kiedy rozpoczynamy projekty, nie można wiedzieć.

Stare rozwiązanie polegające na kupowaniu stałej liczby serwerów dla projektu może zacząć się szczypać, gdy zapotrzebowanie wzrasta, ale przynajmniej koszty budżetowe nie gwałtownie rosną. Fani na serwerach mogą jęczeć z powodu całego obciążenia, a użytkownicy mogą narzekać na powolną reakcję, ale nie otrzymasz spanikowanego telefonu od zespołu księgowego.

Możemy razem ołówkiem oszacować, ale tak naprawdę nikt się nie dowie. Wtedy pojawiają się użytkownicy i wszystko może się zdarzyć. Nikt nie zauważa, że ​​koszty spadają, ale gdy licznik zaczyna się coraz szybciej obracać, szef zaczyna zwracać uwagę. Najgłębszym problemem jest to, że nasze konta bankowe nie skalują się jak chmura.