Share via


10 porad jak oszczędzać kasę w Microsoft Azure – do bólu i bez ściemy. Epizod 2.

Cześć.  Witam Cię w drugim odcinku na temat zaciskania portfela. Jeśli nie widziałeś pierwszego odcinka, rzuć okiem na to.

Zanim przejdziemy do meritum...

1) W poniedziałek do naszej serii ze swoim postem dołączy Bartek Graczyk i opowie Wam m.in. o licencjach w chmurze. Mega istotna sprawa, tam dopiero można oszczędzać.

2) Zapewne nie zmieścimy się w 10 radach, bo mamy ich w zanadrzu więcej :). Liczymy, że jeśli pracujesz z chmurą Azure, dołączysz się do Nas i podzielisz się dobrą praktyką z innymi.

A dziś...

Azure daje Ci nieodpłatnie usługę Azure Advisor... która sama mówi jak oszczędzić w chmurze.

Advisor jest przydatny nie tylko pod kątem kosztów. Rzuć okiem na mój zrzut ekranu. W przypadku kosztów Advisor sprawdza wzorzec wykorzystania maszyny wirtualnej ale również usług PaaS pod kątem użycia procesora ale również I/O na dysku. Jego rekomendacje pokazują:

  1. maszyny o bardzo niskiej utylizacji, które albo możemy zmniejszyć albo wyłączyć
  2. bazy danych Azure SQL, które zamiast wielu separowanych baz, można połączyć w pulę baz, korzystających z wspólnej puli zasobów.

Co ciekawe, Advisor po wejściu w daną rekomendację pokaże Ci dane, z których rekomendacja wynika jak również potencjalne oszczędności. Usługa się rozwija więc zapewne więcej analiz będzie dostępnych w przyszłości.

Dzięki tzw. politykom możesz ograniczyć miejsca tworzenia usługi, typ usługi czy jej wielkość 

Wiele osób po pierwszym wejściu na portal Azure boi się, że od razu stworzy usługę, która w godzinę zje cały dostępny budżet lub powołane usługi znajdą się np. w Azji. Warto wtedy sięgnąć po Azure Policies. Po pierwsze, nic nie kosztują:) Po drugie możesz ograniczyć na poziomie regionu lub grupy zasobów lokalizację usług, typy usług czy wreszcie nawet ich dopuszczalne parametry. I nie musisz od razu znać PowerShell czy JSON aby to zrobić, tu przykład ustawiania polityki na grupie zasobów.

Możliwości jest wiele a więc warto rzucić okiem na dokumentację. Idealny sposób na to by kontrolować nowych użytkowników świata chmury bez odbierania im pierwszego dnia dostępu do portalu.

Usługi PaaS mają inny model biznesowy. Nie można ich wyłączyć, można co najwyżej zmienić ich poziom, by ograniczyć koszt.

Wiele osób bywa zaskoczonych takim stanem rzeczy. Ale nawet Ci zaskoczeni nie zmieniają tego poziomu usługi a ta cały tydzień kosztuje ich tyle samo, a to poważny błąd. Jeśli używasz App Service, sprawdź obciążenie swojej usługi na (CPU Time, Memory) na przestrzeni tygodnia. Jeśli np. wieczorami usługi nie potrzebuje dużej liczby instancji albo zadowoli się niższym poziomem, to warto poświęcić chwilę na napisanie skryptu w Azure Automation i taką zmianę wykonywać.

Popatrz niżej. Instancje są naprawdę różne i mają różny zakres funkcjonalny. Pod kątem wydajności P1 jest tak samo wydajne jak S1 czy B1. Serio, testowałem. O ile B1 nie posiada Slotów i Traffic Managera (obie usługi uważam za genialne) to już S1 i P1 są funkcjonalnie takie same, różnią się ilością tychże slotów, instancji, częstością backupu ect. A więc przenosząc się pomiędzy nimi i badając liczbę instancji na pewno możesz oszczędzić. Skalowanie w górę i w szerz w AppService jest szybkie więc nie bój się, że wpłyniesz na swoją aplikację.

Podobnie sprawa się ma z Azure SQL. Rzuć okiem na zrzuty z kalkulatora. Jeśli Twoja baza ma rozmiar do 250 GB to znowu znajdziesz aż 4 różne poziomy cenowe. Najtańszy kosztuje 0,02 EUR za godzinę, najdroższy 0,17 EUR za godzinę. W skali 744 godzin w miesiącu to jest 8 krotna różnica. Nic nie stoi na przeszkodzi by Twoja aplikacja używała bazy na poziomie S3 od poniedziałku do piątku, a w piątek o 24 rozpoczynała weekend zmniejszając się do S0. Tylko na tej prostej operacji w skali miesiąca oszczędzisz prawie 30 EUR. Gdybyś zmniejszał poziom usługi co noc po 22 i przywracał o 6 rano, to w skali miesiąca oszczędzisz prawie 53 EUR czyli prawie 50% kosztów usługi.

I to tylko na jednej bazie.

Zakładam, że już rozumiesz koncepcję. To samo zrobisz np. z Cosmos DB, MySQL, Postgress, nawet z ASE się uda, choć potrwa chwilę dłużej.

3 krótkie porady za nami. Kolejne 3 powinny pokazać się w wtorek. Miłego oszczędzania, w końcu weekend przed nami!