usługi

Jak obniżyć koszty chmury?

Migracja do chmury to dla firm przede wszystkim oszczędność na kosztach infrastruktury i odciążenie własnego działu IT. Zamiast inwestować w zasoby, płaci się jedynie za ich wykorzystanie, a wiele usług można outsorucować. Jednak aby zapewnić biznesowi jak największe korzyści, również finansowe, warto przyjrzeć się sposobowi zarządzania chmurą. Istnieje wiele modeli rozliczeniowych i narzędzi, pozwalających obniżyć koszty usług cloudowych. Dowiedz się, czy nie przepłacasz za swoją chmurę.

Rzeczywiste koszty chmury, to nie tylko cena, jaką płacisz dostawcy za usługę przechowywania danych. Dochodzą do tego koszty operacyjne, wsparcia, a także pracy wewnętrznego IT. Zarządzanie wydatkami na chmurę dla wielu organizacji jest prawdziwym wyzwaniem. Jeśli nie kontrolujesz tych wszystkich obszarów lub nie zapewniasz odpowiedniego zarządzania zasobami, to może się okazać, że chmura kosztuje Cię więcej niż powinna. Ciężko też przewidzieć jej koszt w przyszłości.

Dobra wiadomość jest taka, że istnieje wiele sposobów, aby obniżyć wydatki na technologię chmurową. Na dodatek bez uszczerbku, a wręcz z korzyścią dla poziomu realizacji celów biznesowych. W przeciwieństwie do tradycyjnych centrów danych, bardziej wydajne korzystanie z cloud computingu przekłada się na oszczędności. Wiąże się ono z wyborem najlepszego modelu rozliczeniowego, właściwym doborem usług i zaprojektowaniem odpowiedniej architektury.

Czytaj także: Jak optymalizujemy koszty chmury>>

Modele rozliczeniowe

Usługi w chmurze są rozliczanie na podstawie alokacji lub zużycia. W pierwszym modelu dostawcy zapewniają przestrzeń w chmurze i pobierają opłaty bez względu na to, czy jest ona wykorzystywana. Taka forma współpracy opiera się na kontraktach terminowych. Kupujesz usługi na określony, dłuższy czas. Gdy przygotowujesz środowisko i wiesz, jakiej przestrzeni i mocy obliczeniowej będziesz potrzebować, możesz z góry wybrać plan taryfowy i np. uzyskać rabat. Model okresowego rozliczania opłaca się firmom, które nie planują zwiększania zasobów i chcą mieć pewność stałej ceny.

W drugim modelu usługi rozliczane są na podstawie jednostek zużycia i jest on obecnie najpopularniejszy wśród dostawców chmur. Główną zaletą pay-as-you-go (PAYG) jest to, że nie marnujemy mocy obliczeniowej. W tradycyjnym podejściu projektuje się środowisko pod kątem maksymalnego obciążenia pracą. Oznacza to często, że płacimy za zasoby, których nie wykorzystujemy. Model PAYG sprawdza się w wielu firmach, pozwalając na znaczące oszczędności, szczególnie w porównaniu z inwestycjami w infrastrukturę i jej utrzymanie na miejscu. Jednak usługa PAYG może nie być najtańszą opcją, jeśli regularnie korzystasz z dużej ilości zasobów. Na szczęście istnieje wiele sposobów, aby obniżyć te koszty, o czym przeczytasz w dalszej części artykułu.

Niektórzy dostawcy proponują także inne modele. W Oktawave stosujemy model Fixed Fee, w którym otrzymujesz ofertę na stałą comiesięczną kwotę, ale możesz korzystać z pełnej funkcjonalności i skalowania, zmiany parametrów maszyn, ich usuwania i tworzenia do pewnego poziomu. Przykład: indywidualna wycena infrastruktury wynosi 10.000 zł/mc, ale otrzymujesz margines np. 20 proc. w ramach którego możesz przekroczyć budżet. Czyli dopóki kwota zużycia nie przekroczy 12.000 zł to wciąż płacisz 10.000. Taki model łączy łatwość planowania budżetu wraz z możliwością skalowania w razie potrzeby - bez obawy o wzrost kosztów.

Warto wspomnieć jeszcze o jednym rozwiązaniu, tj. spot instances. Ta forma płatności dostępna jest w wielu popularnych chmurach (AWS, Google Cloud i Azure). Dostawcy pozwalają użytkownikom korzystać z nieużywanych serwerów wirtualnych (spotów) za ułamek ceny regularnej. Spoty kupuje się na giełdach wirtualnych, których uczestnicy deklarują za jaką kwotę chcą nabyć serwer. Na tej podstawie dostawca ustala cenę rynkową za godzinę i sprzedaje serwery. Dostawcom pozwala to zarabiać na niewykorzystanej mocy obliczeniowej, a użytkownikom oszczędzić nawet 90 proc. kosztów.

Serwery mogą jednak w każdej chwili zniknąć, jeśli cena rynkowa przekroczy cenę zadeklarowaną przez użytkownika. Wówczas użytkownik otrzymuje powiadomienie, że instancja zostanie wyłączona i należy zakończyć pracę, skopiować dane itp. Nie jest to więc rozwiązanie stworzone dla każdego typu aplikacji. Można jednak zaprojektować środowisko chmurowe na tyle elastycznie, aby było dostosowane do takiego modelu działania. Usługa spot instances sprawdzi się np. w przypadku aplikacji, które nie muszą działać nieprzerwanie czy procesów wsadowych (bez wpływu użytkownika na przebieg programu). Platforma modowa Zalando wykorzystuje serwery spotowe AWS do skalowania horyzontalnego (polegającego na dodawaniu nowych serwerów w miarę potrzeb).

W jaki sposób obniżyć koszty chmury?

  • Autoscaling

Dla wielu firm płatność za rzeczywiście wykorzystane zasoby jest najwygodniejszą i najbardziej opłacalną opcją. A możliwość korzystania ze skalowalności, czyli dostosowania wykorzystywanych zasobów do aktualnego zapotrzebowania, jest główną zaletą chmury. Skalowanie (ang. scaling) to proces dodawania (lub usuwania) usług, tak aby zapewnić dostępność i wydajność w miarę wzrostu (lub spadku) wykorzystania zasobów. W przypadku tradycyjnych centrów danych administratorzy często kupują zasoby na zapas, co jest kosztowne i mało efektywne. W przypadku technologii chmurowej nie ma takiej konieczności. W sytuacji szybkiego rozwoju czy nagłych skoków (np. odwiedzalności strony internetowej czy sklepu online), nie ma problemu ze zwiększeniem mocy obliczeniowej. Dostawcy chmury dbają o to, aby zasoby były wykorzystywane optymalnie i ekonomicznie.

Wielu dostawców rozwiązań chmurowych w modelu pay-as-you-go oferuje możliwość automatycznego skalowania (ang. autoscaling). Dzięki niej możesz stworzyć dynamiczne środowisko, w którym zasoby są automatycznie przydzielane lub zwalniane w zależności od zapotrzebowania. To idealne rozwiązanie dla środowisk, które obsługują zmienny ruch. Autoscaling pilnuje, żebyś miał zawsze nadmiar środowiska na wypadek np. skoku liczby użytkowników, ale też dba, aby niezagospodarowane środowisko nie generowało zbyt dużych kosztów.

  • Konfiguracja środowisk IT

Zwykle wykorzystywana przestrzeń jest podzielona na kilka środowisk: deweloperskie, testowe, stage’owe, produkcyjne. Zazwyczaj tylko środowisko produkcyjne pracuje 24 godziny na dobę, pozostałe przez większość czasu nie są aktywne. Jeśli Twoja firma nie prowadzi działalności w nocy lub w weekendy, możesz tak skonfigurować harmonogram, aby uruchamiał i wyłączał zasoby w zależności od pory czy obciążeń. Dzięki temu nie będziesz utrzymywał zasobów w aktywności i płacił za nie, gdy nie ma takiej potrzeby.

W zarządzeniu różnymi środowiskami może Ci też pomóc technologia Infrastructure as a Code (IaC). IaC to praktyka zarządzania infrastrukturą IT za pomocą kodu zamiast konfiguracji ręcznej czy narzędziowej. To podejście pozwala zdefiniować ustawienia serwerów, systemów operacyjnych, pamięci masowej itd. w postaci pliku do odczytu, który programiści mogą uruchomić za każdym razem, gdy opracowują lub wdrażają aplikację. Gdy biznes potrzebuje podejrzeć planowane zmiany w aplikacji, deweloperzy mogą szybko postawić środowisko identyczne ze środowiskiem produkcyjnym (stage’owe). Mając gotowe skrypty, nie muszą utrzymywać stałego środowiska stage’owego w chmurze, a aktywują je tylko w momencie deploymentu. Przygotowanie IaC wymaga większych nakładów pracy, ale dzięki tej technice otrzymujemy wymierne korzyści i możemy optymalizować wykorzystanie serwerów w chmurze.

Czytaj również: Jak skutecznie podejść do Infrastructure as a code?>>

To podejście można zastosować również w środowisku produkcyjnym. Definiując klastry, możesz określić ile i jaka część workerów ma być uruchamiana na spot instances. Innymi słowy decydujesz, ile instancji może Ci zniknąć bez wpływu na działanie systemu.

Łącząc funkcję uruchamiania środowiska stage’owego z IaC i ze spot instances, możesz zbudować wydajną, elastyczną i naprawdę niedrogą infrastrukturę w chmurze. Może to być o wiele tańsza opcja niż utrzymanie środowiska, również produkcyjnego, na pełnych instancjach.

  • Rozwiązania serverless

Kolejnym sposobem na obniżenie kosztów chmury są usługi PaaS (Platform as a Service), jak bezserwerowe platformy obliczeniowe. W przeciwieństwie do tradycyjnego modelu rozliczeniowego, w którym wykupujesz określone zasoby, są to usługi rozliczane na podstawie przetwarzanych zadań (requestów). Zamiast uruchamiać instancję czy serwer wirtualny w chmurze, który będzie wykonywał określone funkcje cyklicznie lub na żądanie (np. pod wpływem akcji użytkownika na Twojej stronie internetowej), możesz skorzystać z dynamicznie przyznanych zasobów przed dostawcę chmury. Korzystasz z kompletnego środowiska programistycznego w chmurze, unikając zarządzania infrastrukturą i płacenia za zasoby, gdy Twoje funkcje nie są uruchomione. Usługi oparte o funkcje oferują popularni dostawcy chmury, są to np.: Lambda AWS, Azure Functions i Cloud Functions w Google Cloud.

  • Storage

Nie bez znaczenia dla kosztów chmury ma oczywiście storage, czyli wydzielony obszar na fizycznym dysku twardym. Do wyboru masz różne klasy storage’ów wyrażonych w tierach, których cena zależy od parametrów (pojemności i wydajności). Płacisz nie tylko za miejsce do przechowywania danych, ale i za szybkość ich pobierania. Im wyższe koszty przechowywania, tym niższe koszty transferu i na odwrót.

Aby ograniczyć koszty pamięci masowej w chmurze należy odpowiednio zarządzać danymi i dostosować tier dyskowy do obciążenia. Aktywne dane, które często są przesyłane do i z chmury, powinny być umieszczane na dysku, który ma wysoką wydajność, a więc niskie koszty pobierania, a wyższe przechowywania. Z kolei tańszy, wolniejszy storage warto wybrać do danych wymagających długoterminowego przechowywania i niewielkiej aktywności, jak archiwa. Odpowiednie zarządzenie storage'em pozwala zminimalizować jego koszty, jednocześnie zapewniając aplikacjom optymalne działanie.

Zarządzanie kosztami chmury obejmuje wiele aspektów i wiąże się przede wszystkim z prawidłowym prognozowaniem zużycia oraz doborem najlepszych usług i praktyk. Dobrze zaplanowana strategia chmurowa, w połączeniu z inteligentną automatyzacją i optymalizacją wykorzystywanych zasobów, zapewnia biznesowi wydajność, nie obciążając nadmiernie budżetu. Ogromną zaletą chmury jest to, że pozwala bardzo precyzyjnie dobrać zasoby i usługi do potrzeb oraz dynamicznie nimi zarządzać. Dzięki takim możliwościom, firmy mogą skalować swój biznes i wprowadzać innowacje, bez obaw o przeinwestowanie w technologię.

Korzystasz z chmury, ale martwisz się, że ponosisz zbyt duże wydatki? Dowiedz się, jak optymalizujemy koszty chmury. Wyślij wiadomość na adres: i umów się na bezpłatną konsultację z ekspertem Oktawave.