Architektura z perspektywy zarządzania zasobami w Microsoft Azure
Z punktu widzenia zarządzania zasobami na platformie Azure, warto przyjrzeć się narzędziom, które są dostępne w ramach każdej subskrypcji i pomagają w codziennym zarządzaniu.
Portal Azure to serwis, który umożliwia zarządzanie zasobami w ramach subskrypcji przy wykorzystaniu intuicyjnego graficznego interfejsu użytkownika. W ramach portalu można tworzyć, usuwać oraz monitorować zasoby, jak również koszty poprzez takie narzędzia jak: Azure Cost Management czy Azure Advisor.
Ostatnio dużo mówi się o automatyzacji procesów. Należy użyć do niej języka skryptowego, może to być power shell lub Azure CLI. Portal Azure umożliwia wywołanie ich w ramach platformy za pomocą przycisku cloud shell, który uruchamia terminal konsolowy do obsługi wybranego języka skryptowego.
Zasobami można również zarządzać przy wykorzystaniu narzędzi firm trzecich do zautomatyzowania uruchamiania środowisk takich jak: Terraform czy chef.
Azure Monitor to kompleksowe rozwiązanie do zbierania i analizowania danych na platformie Azure, jak również środowisk lokalnych. Może zbierać dane z wielu różnych źródeł, na poziomie każdej z warstw — od aplikacji przez infrastrukturę, zachowanie sieci aż po usługi. Umożliwia również dodawanie własnych logów z innych narzędzi poprzez udostępnione API. Zebrane informacje pozwalają na prześledzenie zależności w systemach rozproszonych.
Azure Monitor oprócz monitoringu czy zbierania logów oferuje analizę, jak również tworzenie alertów.
Usługa Azure Monitor zbiera dane z:
- aplikacji - dane dotyczące wydajności i funkcjonalności kodu, w którym została napisana aplikacja, niezależnie od platformy; umożliwia wizualizowanie zależności aplikacji pomiędzy pozostałymi elementami, co ułatwia wizualizowanie poszczególnych aplikacji na mapie, śledzenie wąskich gardeł;
- systemu operacyjnego - dane dotyczące systemu operacyjnego, w którym działa aplikacja w ramach platformy Azure, jak również w każdej innej chmurze lub lokalnym centrum danych; wymaga zainstalowania agenta; umożliwia również stworzenie mapy maszyn wirtualnych;monitorować możemy takie podzespoły jak CPU, RAM czy wydajność dysku;
- kontenerów - dane dotyczące dowolnej aplikacji hostowanej w Kubernetes, umożliwia podłączenie do klastra Kubernetesa; ułatwia monitorowanie wąskich gardeł wydajności czy niepowodzeń we wszystkich obciążeniach;
- zasobów platformy Azure - dane dotyczące operacji w ramach zasobów platformy Azure;
- subskrypcji platformy Azure - dane dotyczące operacji i zarządzania subskrypcją na platformie Azure, a także dane dotyczące działania samej platformy Azure;
- dzierżawy platformy Azure - dane dotyczące działania usług platformy Azure na poziomie dzierżawy, takich jak Azure Active Directory;
- sieci - dane dotyczące powiązań sieciowych; monitorowanie połączeń sieciowych nie tylko w ramach portal Azure, ale również z lokalnym data center.
Platforma Microsoft pozwala również wizualizować zebrane dane w ramach monitora przy wykorzystaniu skoroszytów, które dostarczają wiele różnych stylów wizualizacji w celu uwzględnienia potrzeb związanych z raportowaniem.
Typy dostępnych wizualizacji:
- wykresy - obsługiwane typy wykresów obejmują wykresy punktowe, wykres kołowy i czasu;
- tabele - umożliwiają użytkownikom konfigurację pojedynczego stylu kolumn tabeli, aby zapewnić bogaty interfejs użytkownika dla swoich raportów;
- kafelki – bardzo przydatny sposób prezentowania danych podsumowujących;
- drzewa hierarchii – są dostępne widoki hierarchiczne za pośrednictwem siatek drzewa, pozwalają na rozwijanie niektórych wierszy do następnego poziomu.
Powyższe dane zbierane są w celu możliwości zareagowania w sytuacji, kiedy coś nie tak dzieje się z aplikacją. Dlatego oprócz wizualizacji zebranych danych należy również skorzystać z narzędzi do tworzenia powiadomień/alertów. Alerty są tak dobre, jak zasady do wyzwalania alertów, tzw. progi. Microsoft w ramach powiadomień wdrożył dynamiczne wykrywanie progów (ang. Dynamic thresholds), które korzysta z zaawansowanych funkcji uczenia maszynowego (ML), aby dowiedzieć się, jak wyglądały historycznie metryki, zidentyfikować wzorce i anomalie.
Monitoring można również zintegrować z zewnętrznymi narzędziami do monitoringu logów systemowych, które zostały przedstawione poniżej.
Oprócz monitoringu funkcjonowania aplikacji, Microsoft dostarcza narzędzia do monitoringu kosztów Azure Cost Management. To narzędzie jest automatycznie dostępne dla każdej subskrypcji, a więc nie wymaga od użytkownika dodatkowego uruchomienia.
Zarządzanie kosztami to proces efektywnego planowania i ich kontrolowania w związku z uruchomionymi usługami i pomaga w efektywnym planowaniu budżetu. Ułatwia również analizowanie kosztów i podejmowanie działań mających na celu optymalizację wydatków dotyczących chmury przy wykorzystaniu narzędzia Azure Advisor. Raporty są przedstawiane w formie graficznej i pokazują koszty użycia usług platformy Azure oraz usług firm trzecich dodanych z portalu Marketplace. Raporty pomagają w zrozumieniu wydatków i użycia zasobów, a także ułatwiają wyszukiwanie nietypowych kosztów. Dodatkowo raporty można wyeksportować do pliku csv. i połączyć z Power BI po to, by przygotować wizualizację kosztów dla zarządu czy księgowości, a więc osób, które nie mają dostępu do portalu Azure.
W tym narzędziu można również utworzyć alerty budżetowe i ustalić kwotę, której nie chcielibyśmy przekroczyć w ramach użycia platformy. Alert budżetowy w sytuacji osiągnięcia 80% poinformuje o zbliżającym się maksymalnym progu. Należy pamiętać, że po osiągnięciu 100%, wszystkie usługi zostaną wstrzymane. Dlatego ten ustawiony próg alertu w sytuacji przekroczenia 80% daje szansę na jego zwiększenie , a jednocześnie analizę kosztów poszczególnych usług oraz ocenę tego, czy infrastruktura pod aplikację została zaprojektowana prawidłowo . Jeżeli okaże się, że nasz alert już w pierwszym tygodniu osiągnął próg 80%, może to oznaczać, że należy dokonać optymalizacji usług i skorzystać z narzędzi monitoringu w celu wykrycia anomalii.
Jeżeli chcemy mieć analizę kosztów Azure i AWS w jednym miejscu to Azure Cost Management umożliwia zbieranie danych również z AWS za pomocą API. Należy jednak pamiętać, że zbieranie danych z AWS wiąże się z dodatkową opłatą.
Azure Advisor to taki wirtualny konsultant ds. rozwiązań chmurowych, który pomaga w wyborze usług pod aplikację czy projekt. To narzędzie analizuje konfigurację, jak również dane dotyczące użycia zasobów, a następnie przygotowuje propozycję, która oprócz optymalizacji kosztów będzie zapewniać wysoką dostępność, bezpieczeństwo oraz wydajność.
Rekomendacje są podzielone na poniższe kategorie:
- Wysoka dostępność - pomaga zapewnić i poprawić ciągłość aplikacji;
- Bezpieczeństwo - pomaga wykrywać zagrożenia i luki w zabezpieczeniach, które mogą prowadzić do naruszeń zabezpieczeń;
- Wydajność - pomaga zwiększyć szybkość działania aplikacji;
- Koszt - pomaga zoptymalizować i zmniejszyć ogólne wydatki na platformę Azure;
- Doskonałość operacyjna - pomaga w osiągnięciu wydajności procesu i przepływu pracy, najlepszych rozwiązań w zakresie zarządzania zasobami.
PYTANIA? SKONTAKTUJ SIĘ Z NAMI
Zobacz również:
Migracja do chmury Microsoft Azure
Analiza kosztów w AWS, Azure, GCP, OVHcloud
Wprowadzenie do Microsoft Azure