Migracja do chmury:
5 sposobów na optymalizację kosztów

Iwona Straus

Iwona Straus

Sales and Business Development Director Cloud Partners Sp. z o.o.

Cost-effective journey to public and hybrid cloud

PODZIEL SIĘ TYM POSTEM

Według firmy analityczno-badawczej Gartner rynek usług chmurowych na świecie wzrośnie w 2020 roku o 17%. Obecna sytuacja epidemiologiczna przyspieszyła transformację cyfrową wielu przedsiębiorstw. Firmy migrując do chmury obliczeniowej Azure, AWS, czy też Google, stopniowo również zwiększają wartość wykorzystywanych usług.

Chmura niesie ze sobą wiele korzyści, choćby możliwość zwiększania przydzielonych zasobów w razie potrzeby. Nie należy jednak zapominać, iż wraz ze zwiększaniem zasobów rośnie też rachunek za korzystanie z nich. Stąd pojawiają się nowe wyzwania związane z kontrolą i zarządzaniem wydatkami.

Według raportu Rightscale 2019 State of the Cloud Report from Flexera zarządzanie wydatkami w chmurze i zarządzanie chmurą to główne wyzwania na 2020 rok. Priorytetem numer jeden dla użytkowników chmury jest optymalizacja jej kosztów w celu zaoszczędzenia pieniędzy, które można np. przeznaczyć na dalszy rozwój środowiska.

Jak uzyskać oszczędności w chmurze? Poniżej przedstawiamy kilka możliwych sposobów optymalizacji kosztów w chmurze. W kolejnych artykułach Cloud Partners podaną tematykę będziemy przybliżać bardziej szczegółowo.

1. STAŁE MONITOROWANIE WYDATKÓW

Przede wszystkim trzeba wiedzieć co należy optymalizować, czyli na bieżąco monitorować i analizować rachunki np. przy pomocy narzędzi dostępnych na stronach dostawców chmury (usługa Azure Cost Management, AWS Cost Explorer). Narzędzia te pomagają w wizualizacji kosztów i wykorzystaniu usług, w lepszym ich zrozumieniu, w planowaniu budżetów, co też może stanowić punkt wyjścia do optymalizacji. Np. AWS Cost Explorer po włączeniu przygotuje dane o kosztach za bieżący miesiąc i ostatnie 12 miesięcy, a następnie przedstawi prognozę na kolejne 12 miesięcy.

Aby wiedzieć dokładniej, za co płacimy i które usługi generują największe koszty, warto rozważyć przyjęcie strategii tagowania czyli nadawania oznaczania zasobów, tak aby można było koszty przypisać do odpowiedniej komórki w organizacji. Każdy dostawca chmury dostarcza konkretne zalecenia dotyczące strategii oznaczania zasobów. Np. w dokumentacjach Microsoft można odnaleźć dokument „Zalecane konwencje nazewnictwa i tagowania”.  Na początek wystarczy kilka klasyfikacji zasobów w chmurze, które pomogą ustalić właściciela w organizacji oraz koszty związane z tym zasobem. Dzięki tym działaniom otrzymamy bardziej szczegółowy wgląd w wydatki i wykorzystanie chmury.

2. WDROŻENIE ODPOWIEDNIEGO MODELU PŁATNOŚCI

Wybór odpowiedniego modelu wykorzystania chmury jest niezwykle istotny dla uzyskania zoptymalizowanego środowiska. Ceny wykorzystywanych zasobów zależą m.in. od tego, czy jesteśmy w stanie przewidzieć wielkość środowiska i wybrać odpowiedni scenariusz płatności; od okresu, na jaki zdecydujemy się podpisać umowę; od tego, czy chcemy płacić z góry, czy miesięcznie; od wybranego regionu itd. Czynników mających wpływ na cenę jest wiele. 

Kiedy nie jesteśmy w stanie przewidzieć wykorzystania zasobów i chcemy płacić, za to co używamy korzystamy z modelu tzw. on-demand. Zalecany jest głównie dla środowiska devops, jak również dla sytuacji, w której nie jesteśmy w stanie przewidzieć obciążenia. W tym scenariuszu nie płacimy z góry, płacimy tylko za to, co wykorzystamy. W każdym momencie możemy zmieniać parametry naszych maszyn wirtualnych.

Wtedy, gdy mamy możliwość zaplanowania wykorzystania zasobów, wykorzystujemy model rezerwacji zasobów Reserved. W zależności od tego, na jak długi okres czasu będziemy rezerwować zasoby, czy będziemy płacić z góry, czy też w rozliczeniach miesięcznych, możemy osiągnąć rabat dochodzący do ponad 70% (75% różnica pomiędzy Reserved a On-Demand w AWS). 

Na początku warto korzystać z zasobów na żądanie, później mając wiedzę na temat faktycznego wykorzystania, można skorzystać ze scenariusza rezerwacji i osiągnąć oszczędność.

Najtańszym sposobem korzystania z maszyn wirtualnych jest scenariusz Spot w AWS. W tym przypadku cena może być 90% niższa od modelu on-demand. Spot to rodzaj giełdy maszyn wirtualnych, gdzie dokonuje się licytacji. Możemy osiągnąć dużą oszczędność, ale niska cena instancji związane jest z ryzykiem jej wyłączenia. W Spot nie ma gwarancji stałego utrzymania instancji.

Na nasz rachunek może wpłynąć również wybór regionu, gdyż w każdym z nich występują inne stawki cenowe. W przypadku większych zasobów, miejsce lokalizacji może przynieść oszczędności. Należy zwrócić uwagę, iż zmiana regionu niesie ze sobą także zmianę czasu dostępu do usługi.

Warto również pamiętać o możliwościach oszczędności na licencjach i w trakcie migracji np. przenieść licencje lokalne Windows Server i SQL Server na platformę Azure, przy czym muszą one posiadać pakiet Software Assurance.

3. PLANOWANIE PRACY I OPTYMALIZACJA OBCIĄŻEŃ

Koszt maszyn wirtualnych w chmurze liczony jest czasem ich pracy. Wzrost kosztów w chmurze można ograniczyć poprzez ustawienia odpowiedniego rozmiaru instancji lub tez ich regularną zmianę. Celem powinno być optymalne ustawienie zasobów w chmurze przy najniższych możliwych kosztach i osiągnięciu maksymalnej wydajności. 

Warto zwrócić uwagę na dostosowywanie wielkości instancji do okresów obniżonego ruchu np.  podczas świąt czy też poza godzinami pracy poprzez zmniejszanie dostępnej mocy. Można to osiągnąć przez skonfigurowanie harmonogramów do uruchamiania i zatrzymywania instancji w zależności od obciążeń i godzin.

Dla przykładu w środowisku Azure istnieje możliwość skonfigurowania automatycznego wyłączania dla maszyny wirtualnej. Można skonfigurować godzinę wyłączenia, strefę czasową i wysłanie wiadomości email przed zamknięciem. Można skorzystać z usługi Azure Automation i w sposób automatyczny zamykać i uruchamiać maszyny wirtualne.

Dostawcy usług chmurowych dostarczają narzędzia do optymalizacji obciążeń. Tak na przykład Microsoft daje możliwość optymalizowania obciążeń dzięki Azure Advisor. Usługa ta analizuje konfiguracje, oferuje rekomendacje ułatwiające zoptymalizowanie zasobów pod kątem wydajności, kosztów, niezawodności, bezpieczeństwa. Advisor podpowie m.in., które maszyny można zmniejszyć, albo wyłączyć.

Optymalizacja obciążeń to również skalowanie zasobów. Przykładem może być Auto Scaling w AWS. Funkcja ta monitoruje aplikacje i automatycznie dostosowuje pojemność, aby utrzymać wydajność przy najniższych możliwych kosztach.

4. USUWANIE NIEWYKORZYSTANYCH ZASOBÓW

Kiedy płacimy za pojemność w chmurze, niewykorzystane zasoby należy usuwać. W wymienionym raporcie Rightscale 2019 State of the Cloud Report from Flexera  zmierzono, iż stopień niewykorzystanych zasobów w chmurze przez przedsiębiorstwa wynosi 35%. Dzieje się to poprzez brak okresowej weryfikacji, czy dane zasoby są wykorzystywane. Np. po zakończeniu testów mogą pozostać tymczasowe instancje, z których już nie korzystamy. Będziemy więc płacić za coś co zostało zakupione, a nie jest używane. 

Niewykorzystywane zasoby to nie tylko instancje, ale również publiczne adresy IP, dyski, które nie są podpięte do żadnych maszyn, za to również płacimy. Warto więc wprowadzić zasadę cyklicznego czyszczenia środowiska, po to, aby płacić za to co faktycznie się używa.

 

5. WYKORZYSTANIE NARZĘDZIA DO OPTYMALIZACJI KOSZTÓW W CHMURZE

Jednym ze sposobów optymalizacji kosztów jest korzystanie z wyspecjalizowanego rozwiązania, które pomaga obniżyć koszty zachowując optymalną wydajność środowiska. Optymalizacja chmury powinna obejmować m.in. regularne monitorowanie, planowanie, zmianę rozmiarów maszyn itd. Wiele zadań, których wykonanie wymaga doświadczenia i czasu. Stosując narzędzie do optymalizacji uzyskamy automatyzację tych czynności, zaoszczędzimy czas i pieniądze, uzyskamy dużo lepsze efekty.

Jednym z takich narzędzi jest autorskie rozwiązanie Cloudmizer firmy CloudPartners, które pozwala na monitorowanie w czasie rzeczywistym kosztów środowiska chmurowego Azure, Google, AWS. Pozwala skorzystać nawet z kilku możliwych scenariuszy optymalizacji. Pokazuje rekomendacje z sugerowanymi zmianami, jakie należy wprowadzić, aby uzyskać oszczędności. Dzięki machine learning daje możliwość otrzymania predykcji kosztów.

 

Jak widać, sposobów optymalizacji kosztów w chmurze jest sporo. Mamy szereg narzędzi dostawców chmury, jak też zewnętrznych narzędzi. Chmura nie musi być droga, a koszty nie muszą być nieprzewidywalne. Monitorowanie kosztów i optymalizacja powinno być wpisane na stałe w obszar zarządzania chmurą w organizacji. Jeżeli masz pytania dotyczące optymalizacji kosztów chmury w organizacji – skontaktuj się z nami!

 

W zależności od tego czy będziemy płacić z góry, czy w rozliczeniach miesięcznych możemy osiągnąć rabat dochodzący do ponad

70%

Pobierz checklistę i sprawdź, czy Twoja organizacja jest gotowa na przejście do chmury.

Stopień niewykorzystanych zasobów w chmurze przez przedsiębiorstwa wynosi

35%