Oszczędzanie w chmurze. Jak zoptymalizować codzienne wydatki na infrastrukturę?

To pytanie zadaje sobie większość właścicieli, dyrektorów odpowiedzialnych za utrzymanie IT w firmie. W artykule poniżej oprę się na prawdziwych liczbach i przeprowadzę kalkulację ile tak naprawdę jesteśmy w stanie zaoszczędzić dzięki chmurze. Do tego pokażę jak to zrobić, by uzyskać najlepszy efekt.

W dobie coraz popularnej pracy zdalnej stajemy przed mnóstwem ofert różnych dostawców chmury (ang. cloud provider). Znamy już zalety chmury takie jak:
  • w chmurze nie musimy dbać o gwarancję sprzętu
  • w chmurze nie muszę się martwić o niedostępność / chorobę mojego administratora
  • w chmurzę nie muszę martwić się o usterki fizyczne
  • w chmurze nie muszę martwić się o chłodzenie i zabezpieczenie serwerów
  • w chmurzę nie muszę martwić się o bezpieczeństwo i ataki hackerów (jeśli sam nie spowoduję zagrożenia udostępniając hasło)
  • korzystając z chmury nie muszę kupować całego sprzętu od razu
  • w chmurze mogę „na klik” tworzyć / zmieniać zasoby moich maszyn, lub aplikacji
Pytanie natomiast powstaje takie:

Czy faktycznie jesteśmy świadomi tych wszystkich zalet?
Czy sami w dobry sposób wyceniamy wszystkie składowe?

Często popełniamy błędy przy wycenie opłacalności chmury, które mogą zaważyć nad decyzją o opłacalności migracji do IT i o jednym z nich przeczytacie poniżej.

Wycena mojej infrastruktury w chmurze

Stojąc na rozdrożu „on-premise”, czy „on-line” w sensie czy serwer swój u siebie, czy chmura, mamy określone potrzeby naszego biznesu i wyceniamy składowe naszego serwera. Analizie poddamy dwa przykłady:
  1. Prowadzenie biura, posiadającego 10 pracowników, którzy potrzebują pracy zdalnej
  2. Prowadzenie firmy analitycznej, zatrudniającej 5 pracowników wykonującej obliczenia, analizy na potrzeby innych firm
Dokonajmy pewnych założeń organizacyjnych, ludzkich i sprzętowych. Jaki sprzęt potrzebujemy zakupić na okres ok 3 lat (tyle zwykle trwa gwarancja serwera). Jaki stan zatrudnienia będziemy posiadać w tym czasie.

Ad 1. Praca biurowa:
  • Ilość pracowników: aktualnie 10 docelowo 20
  • Godziny pracy: pn-pt 8-16
  • System operacyjny: Windows Serwer 2019
  • Ilość potrzebnego miejsca dla każdego użytkownika: 20 GB SSD 100 GB HDD
  • Ilość vCPU: aktualnie 6 docelowo 12
  • Ilość RAM: aktualnie 32 docelowo 64 GB
Ad 2. Praca analityczna:
  • Ilość pracowników: aktualnie 5 docelowo 10
  • Godziny pracy: pn-pt 8-16
  • System operacyjny: Ubuntu 20
  • Ilość potrzebnego miejsca dla każdego użytkownika: 10 GB SSD
  • Ilość danych analitycznych sumarycznie: 200 GB SSD docelowo 500 GB
  • Ilość vCPU: aktualnie 8 docelowo 16
  • Ilość RAM: aktualnie 32 GB docelowo 64 GB

Pierwszym błędem, który zwykle popełniamy, to jest przełożenie 1 do 1 wymogów sprzętowych, które potrzebujemy na 3 lata. Aktualnie nasze wykorzystanie sprzętu jest średnio ok 20-50 % niższe niż zakładamy, że będzie za 3 lata.

Jedną z zalet chmury jest możliwość szybkiego tworzenia i modyfikowania infrastruktury. Planując nasze zasoby w chmurze powinniśmy wziąć to pod uwagę i wyceniać w sposób zużycia aktualnego, by nie przepłacać. O porównaniu kosztów chmury z serwerem napiszę w innym artykule.

Weźmy pod lupę ofertę tworzenia całych maszyn wirtualnych (IaaS) w infrastrukturze polskiej firmy Intratel, która jest dostępna przez portal One Step Cloud. Skupiając się na wycenie aktualnych warunków i potrzeb sprzętowych możemy wycenić nasz sprzęt w następujący sposób:

Opcja nr 1. W momencie gdy wyceniamy koszt chmury z kosztem infrastruktury docelowej (za 3 lata) to posiadamy takie wartości:

Jednak faktycznie nasza wycena powinna być następująca (stan aktualny):

Różnica w wycenie jest następująca: 2753,03 – 1500,62 zł = 1252,41zł

Opcja nr 2. Stworzenie maszyny w chmurze z docelową infrastrukturą kosztowało by nas:

Jednak faktycznie powinniśmy porównywać wycenę poniższą:

Różnica w wycenie jest następująca: 2375,36 – 1157,75 zł = 1217,61zł

Jak zauważamy, nasze wyceny mogą być błędne, więc zawsze warto poprosić fachowca, osoby z firmy o wycenę naszej infrastruktury, by nie zrazić się niepotrzebnie złymi założeniami.

Poniżej przedstawię jak skutecznie wykorzystać zalety chmury. Na podstawie portalu One Step Cloud, użytkownik może w dowolnym momencie włączać i wyłączać maszyny wirtualne. Do czego nam to potrzebne? Do oszczędzania!

Firma Intratel jako właściciel portalu, daje możliwość nam rozliczania sekundowego. System pay-as-you-go odnosi się w tym momencie do naliczania opłat za wykorzystanie vCPU i RAM tylko tyle sekund ile mamy włączone. Inne składowe jak licencja systemu operacyjnego lub przestrzeń dyskowa jest także naliczana sekundowo, lecz liczona jest przez cały czas istnienia maszyny. Opłaty nie są pobierane w momencie wyłączenia maszyny wirtualnej. Sekundowe naliczenie jest o tyle istotne, że nie pobiera opłat za pełną godzinę w momencie gdy wyłączymy maszynę np. o 16:03.

Przechodząc do konkretów, popatrzmy na rozliczenie godzinowe naszej maszyny.

Opcja nr 1. Wirtualna maszyna Windows:

Opcja nr 2. Wirtualna maszyna Ubuntu:

Zakładając przy tym, że nasi pracownicy pracują od pn. do pt. w godz. 8-16, możemy założyć średnio 160 godzin miesięcznie, gdzie miesiąc załóżmy, że ma 730 godzin. Koszt za naszą wirtualną maszynę w godzinach, gdy pracownicy nie pracują i wyłączymy ją, będzie następujący:

Opcja nr 1. Wirtualna maszyna Windows:

Opcja nr 2. Wirtualna maszyna Ubuntu:

Policzmy zatem wykorzystanie naszej maszyny przez 160 godz. jako maszyny w pełni obciążone i 580 (730-160) godzin jako wyłączone.

Opcja nr 1. Wirtualna maszyna Windows:

(2,05564*160) + (0,72400*580) = 748,82 zł / miesiąc zamiast 1500,62 zł

Wyłączanie maszyn pozwala nam
zaoszczędzić ponad 50 % kosztów.

Opcja nr 2. Wirtualna maszyna Ubuntu:

(1,58596*160) + (0,20500*580) = 372,65 zł / miesiąc zamiast 1157,75 zł

Wyłączanie maszyn pozwala nam
zaoszczędzić ponad 67 % kosztów.

Zauważmy, że faktyczny koszt który będziemy ponosić, jest totalnie inny niż w przypadku zakładanego kosztu infrastruktury, która ma nam starczyć na 3 lata. Przy modelach biznesowych, gdzie maszyny głównie wykorzystują obliczenia, wręcz jest to wskazane, by korzystać z chmury, by ograniczyć koszty.

Z ciekawostek dodam, że One Step Cloud wystawia publiczne API, dzięki któremu możemy napisać skrypt, który będzie nam wyłączał maszyny w odpowiednich godzinach. Można także napisać skrypt optymalizujący wykorzystanie poszczególnych maszyn w zależności od obciążenia jej w danej chwili.

Z wyżej wymienionych rozwiązań już teraz korzystają nasi klienci i ani myślą, aby teraz zmieniać model biznesowy. Jest to dla nich zarówno wygodne, bezpieczne, jak i opłacalne.

Autor: Mateusz Bohonos, Product Manager One Step Cloud