Artykuł pochodzi z wydania: Czerwiec 2021
Z licznych badań wynika, że firmy często płacą za chmurę o wiele więcej, niż początkowo planowały. Z czego to wynika? Z całą pewnością nie brakuje sposobów na to, by na chmurze zaoszczędzić – w pierwszej kolejności należy się jednak zastanowić, dlaczego rachunki za usługi chmurowe mogą przekraczać początkowe założenia.
W pierwszej części omówienia metod optymalizacji kosztów za usługi chmurowe wyjaśniamy, dlaczego firmy mają problemy z opłatami za chmurę i często przekraczają założone budżety. W drugim podajemy sposoby i porady, które pomagają zapanować nad wydatkami i sprawią, że nie będziemy przekraczać budżetu albo przynajmniej zminimalizujemy ryzyko, że tak się stanie.
Każdą optymalizację kosztów należy rozpocząć od identyfikacji i zrozumienia tego, za co dokładnie płacimy. W przypadku usług chmurowych to nie lada problem, ponieważ rachunki często są bardzo rozbudowane i wypełnione hasłami, których możemy nie rozumieć. Typowy rachunek za chmurę, np. Amazon Web Services, ma kilka stron A4. Chmura, jak się okazuje, może zapewniać wiele korzyści, ale może być również bardzo droga.
Wielu specjalistów z obszaru DevOps może dochodzić do wniosku, że źle zarządza chmurą, bo często przekracza planowany budżet. Z raportu „State of the Cloud Report – 2020” firmy Flexera, która zajmuje się wdrażaniem rozwiązań IT i doradztwem w zakresie redukcji wydatków na rozwiązania technologiczne, wynika, że przedsiębiorstwa płacą średnio o 23% więcej na usługi chmurowe, niż zakładał ich budżet. Nie ma w tym nic zaskakującego – zrozumienie opłat za chmurę i wprowadzenie odpowiednich zmian tak, aby nie przekraczać budżetów, jest trudne i czasochłonne.
> OKREŚLENIE ROZMIARÓW
Optymalizacja kosztów w chmurze to dość złożony proces. Obejmuje zmniejszenie całkowitych wydatków na chmurę poprzez zidentyfikowanie źle zarządzanych zasobów, eliminację marnotrawstwa, rezerwowanie pojemności zapewniającej większe rabaty czy skalowanie usług obliczeniowych o odpowiednią wielkość.
Dostawcy chmurowi często przekonują, że oferują firmom nieograniczone możliwości skalowania w dół i w górę, pobierając opłaty tylko za używane zasoby. Inaczej mówiąc, płacimy tylko za to, z czego faktycznie korzystamy – tak przynajmniej sądzi wiele organizacji, które decydują się na chmurę. W rzeczywistości usługi takie jak AWS czy Microsoft Azure są oparte na innym modelu – klient płaci za to, co zamówił. Nie ma znaczenia, czy z czegoś korzystamy, czy nie. Jeśli coś zamówiliśmy, zostanie to doliczone do rachunku.
Czy mamy tutaj do czynienia z sytuacją, w której firmy po prostu nie liczą się z gotówką? Zdecydowanie nie. Chodzi raczej o to, że skonfigurowanie usługi chmurowej w optymalny sposób graniczy z cudem. Analitycy Gartnera próbowali np. dobrać odpowiednią wielkość instancji AWS EC2 do obciążeń dla hipotetycznej organizacji. Okazało się, że administratorzy chmury mają w tym przypadku ponad 1,7 miliona możliwych konfiguracji do wyboru! Na rynku istnieją obecnie nawet firmy, które świadczą usługę polegającą na odpowiednim dobieraniu zasobów chmurowych do potrzeb. Może się to wydawać zaskakujące, niemniej najwyraźniej zachodzi taka potrzeba – zanim zamówimy chmurę, płacimy za pomoc związaną z tym, co i w jakiej ilości kupić, aby nie przepłacać.
Poza rozmiarami serwerów dostępne są również opcje dla serwerów zoptymalizowanych pod kątem pamięci, bazy danych, pamięci masowej, przepustowości i nie tylko. Wszystko to sprawia, że dobranie właściwej wielkości poszczególnych parametrów ma kluczowe znaczenie dla późniejszych kosztów. Tylko wtedy bowiem faktycznie uzyskamy najwyższą wydajność z zasobów, za które płacimy, i nic nie będzie się marnować. Dobranie takich zasobów to jednak kwestia indywidualna. Samo działanie określane jest hasłem Right Sizing (właściwe dobieranie rozmiaru) i jest to proces rezerwowania instancji przetwarzania w chmurze (kontenerów, maszyn wirtualnych itp.) z wystarczającymi zasobami (pamięć RAM, procesor, pamięć masowa, sieć), aby osiągnąć wystarczającą wydajność przy najniższym możliwym koszcie.
> PROBLEMY Z OPTYMALIZACJĄ
Kiedy zaczniemy analizować wydatki na chmurę, napotkamy dwa najczęściej wystepujące problemy do rozwiązania. Pierwszy z nich to zasoby, które mogą być marnowane. Wiele organizacji w momencie przenoszenia aplikacji do środowiska chmurowego zakłada, że będzie potrzebowało takich samych zasobów, jak miało to miejsce w sytuacji, gdy działała ona w siedzibie firmy, on-premises. To jednak sprawia, że często przydzielamy aplikacji za dużo zasobów.
Planowanie wydatków na chmurę powinno opierać się na realnym wglądzie w dotychczasowe wykorzystanie. Jeśli nie wiemy dokładnie, ile zasobów potrzebuje aplikacja, w najlepszym przypadku zapłacimy za nieużywane zasoby procesora. W najgorszym – za nieużywane zasoby wielu innych podzespołów i usług chmurowych. Planowanie pozwoli również dopasować zasoby w taki sposób, aby nie okazało się, że przydzieliliśmy ich za mało, co powoduje niestabilną pracę aplikacji. Tylko dokładna analiza sprawi, że nie popełnimy błędu w jedną czy drugą stronę.
[…]
Grzegorz Kubera
Założyciel firmy doradczo-technologicznej; pełnił funkcję redaktora naczelnego w magazynach i serwisach informacyjnych z branży ICT. Dziennikarz z ponad 13-letnim doświadczeniem i autor książek na temat start-upów i przedsiębiorczości.