Gdy firma Tangoe opublikowała raport na temat rosnących kosztów chmury, wyniki były alarmujące, ale nie całkiem zaskakujące. Rachunki przedsiębiorstw za chmurę wzrosły nawet o 30%, a większość firm określa je jako „niemożliwe do zarządzania”. Civo potwierdziło ten trend, zauważając, że niemal 60% organizacji odnotowało wzrost wydatków w ubiegłym roku, a w przypadku prawie 40% koszty wzrosły o ponad 25%.
„Przetwarzanie w chmurze nie musi być zaporowo drogie” — mówi Nigel Gibbons, starszy doradca w NCC Group. Jeśli tak jest, to znak, że coś jest nie tak, zwłaszcza gdy zarządzanie kosztami chmury jest najwyższym priorytetem dla kadry kierowniczej, mimo rosnących wymagań wobec zespołów inżynieryjnych i szeroko zakrojonych obejść stosowanych przy wdrażaniu GenAI.
Chcesz dowiedzieć się, co napędza te skoki i jak je opanować? Czytaj dalej.
Ukryte czynniki napędzające koszty chmury
Zdaniem Nigela właściwe wykorzystanie chmury wymaga ponownego dostosowania sposobu myślenia i oczekiwań w całej organizacji — „od zarządu po piwnicę”. To jedyny sposób, aby chmura mogła skutecznie się skalować bez uszczuplania wyniku finansowego.
Aby jednak dokonać tej zmiany, musimy najpierw wskazać, gdzie dochodzi do rozbieżności i dlaczego powodują one gwałtowny wzrost kosztów chmury.
Oto 5 ukrytych przyczyn rosnących rachunków za chmurę:
- Nieprawidłowo dobrana architektura: Wiele organizacji albo przydziela zbyt dużo zasobów, albo nie wykorzystuje w pełni zasobów chmurowych. Audyt firmy Flexera obejmujący ponad 60 klientów wykazał, że 40% instancji maszyn wirtualnych ma zbyt duży rozmiar. Bezczynne zasoby są równie problematyczne — konfiguracje działające „zawsze” powodują marnowanie nawet 27,1 mld USD rocznie, gdy zasoby pozostają uruchomione w okresach niskiego zapotrzebowania. Jak ujął to Nigel: „Oczekiwanie, że migracja typu „przenieś i uruchom” będzie magicznym rozwiązaniem, jest błędem. Gdy organizacje nie dopasowują obciążeń do odpowiednich usług, zaniedbują planowanie optymalizacji lub nie wycofują nieużywanych zasobów, koszty wymykają się spod kontroli”.
- Ukryte IT i brak widoczności: Zdumiewające 54% firm wskazuje „brak widoczności wydatków na chmurę” jako przyczynę marnowania zasobów chmurowych — wynika z danych firmy Anodot. Bez odpowiedniego nadzoru nieautoryzowane przydzielanie zasobów może doprowadzić do chaosu w chmurze, a nawet tworzyć nadmiarowe usługi i zawyżone rachunki. Nic dziwnego, że 82% incydentów związanych z bezpieczeństwem chmury wynika z tej luki w widoczności, zwiększając zarówno koszty przywracania działania, jak i koszty operacyjne.
- Ukryte opłaty za transfer danych: Transfery danych są często postrzegane jako niewielki koszt, ale jeśli pozostaną bez kontroli, mogą stanowić nawet 20% rachunku za chmurę, zwłaszcza w przypadku dostawców hiperskalowych, takich jak AWS. Nadmierne przechowywanie dzienników, nadmiarowa replikacja danych i niewłaściwe zarządzanie cyklem życia tylko pogarszają sytuację. Dostawcy hiperskalowi oferują niewielki bezpłatny limit transferu (100–200 GB), ale przy tworzeniu danych na poziomie 402,74 mln terabajtów dziennie ta rezerwa szybko znika.
- Organizacyjny pośpiech związany z AI: Nawet raport Tangoe wskazuje AI jako główną przyczynę rosnących kosztów chmury. W pośpiechu, aby wdrożyć AI, wielu liderów z kadry kierowniczej nieświadomie przydziela zbyt dużo zasobów chmurowych. Trenowanie i dostrajanie dużych modeli pochłania znacznie więcej mocy obliczeniowej, niż oczekiwano. Dodajmy do tego koszt przechowywania i transferu ogromnych zbiorów danych, a otrzymamy przepis na znaczne przekroczenie budżetu.
- Niewłaściwe zarządzanie interfejsami API: W architekturach mikrousług źle skonstruowane wywołania API tworzą lawinę nadmiarowego pobierania danych. Nie tylko obciąża to przechowywanie danych, lecz także zużywa więcej zasobów podczas uruchamiania instancji chmurowych. Niepotrzebne przejścia przez bramy API między usługami wewnętrznymi dodatkowo zwiększają wydatki. Wyobraź sobie pojedynczą transakcję finansową, która wywołuje około dziewięciu połączeń wewnętrznych. Nie brzmi to źle, dopóki nie zwiększysz skali. Przy milionie transakcji dziennie oznacza to 1000 USD wyrzucone w błoto. Miesięcznie może wyglądać to na niewielką kwotę, ale dla małych firm jest to poważne obciążenie.
Have an account? Log In
Kontrola kosztów chmury: strategie dla CTO
Zanim wydatki na chmurę rozsadzą Twój budżet, poznaj cztery sposoby na ograniczenie zbędnych kosztów:
1. Uzyskaj wgląd w rachunki za chmurę
Słowa Petera Druckera: „Nie możesz poprawić tego, czego nie możesz zmierzyć”, odnoszą się również do kosztów chmury. Pomiar kosztów może jednak być ryzykowny, jeśli nie wiesz, czego szukać. Widoczność kosztów chmury jest niezbędna do zrozumienia sposobu wykorzystywania zasobów, wykrywania problemów, które mogą wpływać na wydajność, oraz dokładnego określenia posiadanych zasobów w celu zdefiniowania powierzchni ataku.
Nigel podkreśla, że tagowanie i etykietowanie zasobów w chmurze ma kluczowe znaczenie dla uzyskania takiego wglądu. Aby osiągnąć najlepsze rezultaty:
- Wdrażaj skrypty, które automatycznie aktualizują tagi wraz ze zmianami zasobów (np. zdarzeniami skalowania lub przenoszeniem zasobów), aby dane pozostały aktualne bez konieczności ręcznej obsługi. Możesz także zintegrować tagi ze swoją platformą IaC, jeśli korzystasz z Terraform.
- Skoncentruj się na zasobach generujących największe wydatki, takich jak moc obliczeniowa, pamięć masowa i bazy danych, oraz połącz je z kluczowymi wskaźnikami efektywności biznesowej (projektami przychodowymi, segmentami klientów). Używaj progów opartych na tych tagach i ustaw alerty, aby wychwytywać nieoczekiwane skoki kosztów.
- Wbuduj tagowanie w potoki wdrożeniowe, aby zapewnić spójne tagowanie bez konieczności ręcznej obsługi jeszcze przed uruchomieniem zasobów.
Na szczęście większość dostawców usług hiperskalowych, takich jak AWS, Azure i Google Cloud, oferuje już wbudowane narzędzia zapewniające wgląd — AWS Cost Explorer, Azure Cost Management i Google Cloud Cost Management — do geotagowania, automatycznych alertów oraz precyzyjnego identyfikowania czynników generujących koszty (nieużywanych instancji EC2 lub niekontrolowanego rozrostu środowiska chmurowego).
2. Zwiększ efektywność chmury dzięki elastyczności architektury
Zdaniem Nigela właściwe dopasowanie architektury chmurowej i regularne jej ponowne analizowanie może pomóc utrzymać koszty chmury pod kontrolą. „Każda decyzja powinna być podejmowana w oparciu o ryzyko, aby wyprzedzać zagrożenia i zwiększać cyberodporność” — radzi. Łatwiej powiedzieć, niż zrobić. Dług technologiczny, ogromne silosy danych i przestarzałe praktyki udostępniania zasobów utrudniają stosowanie elastyczności chmury, a nawet zwiększają ryzyko związane z udostępnianiem zasobów w chmurze. Mimo to trzeba od czegoś zacząć.
Rozwijając tę myśl, Claus Jepsen, dyrektor ds. produktu i technologii w firmie Unit4, zwraca uwagę na zagrożenia związane z uproszczoną migracją do chmury:
„Przejście do chmury stwarza możliwość zwiększenia efektywności i ograniczenia kosztów, jednak wiele firm nie wykorzystuje tej szansy, po prostu „podnosząc i przenosząc” swoje stare aplikacje. Migracja do chmury może sprawić, że ogromna moc obliczeniowa wykorzystywana przez system starszego typu stanie się mniej widoczna, ale nie rozwiąże podstawowych problemów z nieefektywnością oprogramowania. Aby uniknąć spirali rosnących kosztów i emisji dwutlenku węgla, wykorzystaj proces migracji do chmury do ponownego przemyślenia swoich kluczowych systemów.
Jednym z rozwiązań jest oddzielenie lekkich usług od podstawowej architektury aplikacji. Skonfigurowanie mikrousług lub nanousług tak, aby uruchamiały się tylko wtedy, gdy są używane, pozwala znacznie ograniczyć zarówno emisję dwutlenku węgla, jak i rachunki płacone dostawcy chmury.
Aby zobrazować zużycie energii w chmurze, duża monolityczna aplikacja przypomina dom, w którym światła są zawsze włączone. Natomiast system działający w oparciu o mikrousługi przypomina dom z wieloma małymi pomieszczeniami, w których światła są włączane tylko wtedy, gdy ktoś przebywa w danym pomieszczeniu.
Moja rada dla liderów IT: uwzględniaj mikrousługi w kryteriach RFP dotyczących rozwiązań chmurowych i przedstawiaj wewnętrzne uzasadnienie biznesowe w kategoriach podwójnych korzyści: zrównoważonego rozwoju i zwrotu finansowego.”
Przyjęcie rady Jepsena oznacza włączenie mikrousług lub nanousług do strategii architektonicznej, tak aby zasoby były bezpośrednio dostosowane do aktywności biznesowej i poziomu wykorzystania.
Nigel sugeruje rozpoczęcie od ustalenia zasad skalowania na podstawie metryk historycznych, takich jak wykorzystanie procesora, zużycie pamięci lub liczba żądań. Wcześniejsze dane dotyczące geotagowania mogą pomóc w określeniu progów i okresów wyciszenia, aby uniknąć gwałtownych wahań skalowania.
Dostosuj odrębne zasady skalowania do różnych komponentów, takich jak warstwa internetowa i warstwa bazy danych. To ukierunkowane podejście ogranicza niewykorzystywaną przepustowość, stabilizuje wydajność aplikacji i poprawia ogólną efektywność chmury. Aby uzyskać długoterminowe oszczędności i zwiększyć efektywność chmury, zastosuj:
- Architektura bezserwerowa poprzez refaktoryzację aplikacji do postaci sterowanych zdarzeniami mikrousług z użyciem AWS Lambda, Azure Functions lub Google Cloud Functions. Tradycyjne architektury często przydzielają nadmiarowe zasoby „na wszelki wypadek”, co prowadzi do niepotrzebnych wydatków. Architektura bezserwerowa rozwiązuje ten problem, pobierając opłaty wyłącznie za rzeczywisty czas obliczeń.
- Kontenery z orkiestracją poprzez konteneryzowanie aplikacji w celu zapewnienia spójnych środowisk. Wdrażanie za pomocą Kubernetes umożliwia automatyczne skalowanie na podstawie wzorców wykorzystania w czasie rzeczywistym, dzięki czemu zasoby dostosowują się do zapotrzebowania, zamiast pozostawać niezmienne. Ustawienie limitów zasobów zapobiega zużyciu przez pojedynczą usługę większej ich ilości, niż powinna, co jest częstą przyczyną niespodziewanie wysokich rachunków za chmurę przy nagłych wzrostach wykorzystania.
- Strategia obejmująca wiele regionów i wiele chmur poprzez tworzenie aplikacji niezależnych od lokalizacji. Tworzenie aplikacji, które nie są powiązane z jedną lokalizacją, zmniejsza opóźnienia dla użytkowników z całego świata i zwiększa odporność na regionalne awarie. Kierowanie ruchu na podstawie opóźnień lub kosztów zapewnia użytkownikom szybszy czas odpowiedzi przy jednoczesnym kontrolowaniu wydatków.
3. Negocjuj umowy z dostawcami
Azure może być tańszy o 72% w przypadku planu 3-letniego. Nawet bez zobowiązania długoterminowego umowy Microsoft EA oferują istniejącym użytkownikom Azure rabaty do 45%. Mimo to wiele firm traci tę możliwość, ponieważ rozmowy z dostawcami rozpoczynają się zbyt późno lub są prowadzone zbyt pobieżnie. Badania firmy McKinsey dotyczące umów z dostawcami IT wykazały, że renegocjacje często rozpoczynają się dopiero rok przed wygaśnięciem umowy. Wtedy możliwości są już ograniczone albo przewaga negocjacyjna zanika.
Aby usprawnić negocjacje umów, gromadź i monitoruj dane dotyczące chmury. Jeśli obciążenia są stałe, korzystanie z rozliczeń według rzeczywistego zużycia oznacza pozostawianie pieniędzy na stole. Plany rezerwowane oferują znaczne oszczędności, gdy stabilność wykorzystania jest potwierdzona. Zacznij od przeanalizowania danych o obciążeniach, aby oddzielić stałe zapotrzebowanie od zmiennych skoków; negocjowanie na podstawie bazowego wykorzystania (70-80%) zapobiegnie nadmiernym zobowiązaniom, a jednocześnie pozwoli uzyskać lepsze stawki.
Następnie dochodzą „ukryte” koszty: transfery danych, transakcje magazynowania i wywołania API. Często wydają się one nieistotne, ale przy dużej skali mogą doprowadzić do przekroczenia budżetu. Uwzględnij je z wyprzedzeniem w negocjacjach, aby później uniknąć szoku na widok rachunku. Dostawcy zwykle mają pewną swobodę, oferując na przykład zwolnienia z opłat za wychodzący transfer danych lub rabaty progowe (np. $100 za milion wywołań API).
Jednak zdaniem Nigela najlepszy sposób na ograniczenie kosztów chmury jest prosty: bezpośrednie rozliczanie jednostek biznesowych poprzez obciążenia zwrotne. Gdy koszty są powiązane z wynikami biznesowymi, zespoły wydają pieniądze rozsądniej i negocjują lepsze umowy z dostawcami. Zacznij od przejrzystego systemu obciążeń zwrotnych, który jasno przypisuje wydatki właściwym działom. Możesz wdrożyć narzędzie do zarządzania kosztami chmury w celu śledzenia wykorzystania według projektu, zespołu lub aplikacji albo zastosować szczegółowe tagowanie, aby określić, dokąd trafia każdy dolar. „Ta dyscyplina pomaga utrzymać wydatki na chmurę w granicach tolerancji i proporcjonalnie do korzyści dla firmy” — mówi Nigel.
More Articles
4. Optymalizuj koszty transferu danych
Za każdym razem, gdy dane przekraczają granice regionów lub opuszczają sieć dostawcy chmury, naliczane są opłaty. Sieć dostarczania treści (CDN) może ograniczyć te koszty, buforując pliki statyczne, takie jak obrazy i CSS, na serwerach brzegowych znajdujących się bliżej użytkowników, dzięki czemu nie trzeba płacić pełnej kwoty.
Zacznij od sporządzenia listy zasobów statycznych i ustawienia nagłówków pamięci podręcznej w celu poprawy współczynnika trafień. Twój dostawca usług chmurowych na dużą skalę ma również wbudowaną sieć CDN (CloudFront dla AWS, Azure CDN). Dzięki temu możesz także skorzystać z dodatkowych korzyści w postaci uproszczonego rozliczania i rabatów za wolumen.
Jeśli architektura nieustannie przenosi dane między regionami, czas ponownie przemyśleć jej projekt. Obsługuj lokalny ruch z lokalnych zasobów, replikując bazy danych i magazyny w aktywnych regionach. Potrzebujesz globalnych analiz? Przetwarzaj i podsumowuj dane regionalnie przed synchronizacją, aby nie płacić za przesyłanie surowych danych przez cały świat. Metody przechwytywania zmian danych (CDC) oparte na dziennikach oraz zapytaniach do tabel źródłowych również mogą pomóc ograniczyć transfery danych, synchronizując tylko to, co się zmieniło, zamiast całego zbioru danych.
W przypadku nieuniknionych transferów planuj je poza godzinami szczytu, aby skorzystać z niższych stawek, i zawsze kompresuj dane (gzip, Snappy, Parquet), by zmniejszyć rozmiar transferu i koszty.
Zarządzaj rachunkami za chmurę dzięki danym i widoczności
„Prawda jest taka, że adopcja chmury zwiększy koszty” — mówi Nigel. „Jednak te wyższe koszty idą w parze z możliwością dostarczania większej wartości, szybciej i z większym potencjałem wyników finansowych niż kiedykolwiek wcześniej — to kluczowa przewaga pozwalająca konkurować dzięki elastyczności w bezwzględnej gospodarce cyfrowej”.
Optymalizacja kosztów chmury nie polega na wyścigu do samego dołu. Powinna natomiast opierać się na celowym wydatkowaniu, w którym wybory technologiczne są zgodne z celami biznesowymi, a jednocześnie organizacja zachowuje elastyczność. Gdy inwestujesz rozsądnie, korzyścią jest trwała siła rynkowa i lepsze długoterminowe zwroty.
Bądź na bieżąco z najlepszymi praktykami, wiadomościami z branży i innymi informacjami dotyczącymi chmury, zapisując się do newslettera CTO Club już dziś.



