Bazy relacyjne w środowisku Microsoft Azure
01.01.01r.
Platforma Azure oferuje wybór szerokiej gamy zarówno baz relacyjnych jak i nierelacyjnych. Poniżej przedstawimy kilka najważniejszych faktów dotyczących wykorzystania środowiska baz relacyjnych Microsoft Azure jako magazynu danych.
Mamy do wyboru kilka podejść do tworzenia baz relacyjnych, które można pogrupować według modelu wdrożenia:
Usługi PaaS (Platform as a Service). W tym przypadku mamy następujące dostępne usługi
Azure SQL Database
Możliwość dynamicznego skalowania zasobów (CPU, pamięć, storage) w zależności od obciążenia. Dostępna opcja serverless, która automatycznie dostosowuje moc obliczeniową i pobiera opłaty tylko za wykorzystane zasoby. Wbudowane mechanizmy automatycznych kopii zapasowych, replikacji geograficznej oraz redundancji danych, które zapewniają minimalny czas przestoju. Funkcje takie jak Transparent Data Encryption (TDE), wykrywanie zagrożeń, audyt aktywności oraz możliwość stosowania reguł firewall i integracji z Azure Active Directory. Automatyczne patchowanie i aktualizacje silnika, a także funkcje automatycznego strojenia zapytań (automatic tuning), które pomagają w optymalizacji wydajności bazy danych. Dostępne są opcje wdrożeń pojedynczych baz danych lub wykorzystania elastycznych pul (Elastic Pools), które umożliwiają współdzielenie zasobów między wieloma bazami w ramach jednego serwera.
Azure SQL Managed Instance
Największą zaletą tego rozwiązania, z punktu widzenia wdrożeń jet kompatybilność z on-premises SQL Server. Umożliwia migrację aplikacji oraz baz danych z lokalnych serwerów SQL do chmury przy minimalnych zmianach. Obsługuje wiele funkcji dostępnych w pełnym SQL Server, takich jak SQL Server Agent, Service Broker czy pełną obsługę procedur składowanych. Zapewnia bezpieczny, prywatny dostęp do bazy danych poprzez prwatne środowisko sieciowe w Azure, eliminując ryzyko wystawienia danych na publiczny internet. Automatyzacja aktualizacji, patchowania, tworzenia kopii zapasowych i odzyskiwania, co redukuje nakład pracy administracyjnej. Możliwość dostosowania zasobów do potrzeb aplikacji, przy jednoczesnym utrzymaniu wysokiej wydajności i dostępności.
Azure Database for MySQL, PostgreSQL oraz MariaDB
Automatyczne aktualizacje, patchowanie, kopie zapasowe i monitoring zapewniają bezproblemową administrację. Możliwość skalowania zasobów (obliczeniowych i pamięciowych) oraz konfiguracja opcji wysokiej dostępności i replikacji dla rozproszonego obciążenia. Można korzystać z funkcji specyficznych dla tych silników, takich jak zaawansowane mechanizmy indeksowania, optymalizatory zapytań oraz wsparcie dla rozszerzeń i dodatków. Mechanizmy bezpieczeństwa Obejmują szyfrowanie transmisji danych, zarządzanie dostępem poprzez role oraz integrację z usługami bezpieczeństwa Azure.
Rozwiązania IaaS (Infrastructure as a Service)
-
SQL Server na maszynach wirtualnych
Możliwość dostosowania konfiguracji systemu operacyjnego, wersji SQL Server oraz ustawień środowiskowych zgodnie z własnymi potrzebami. Umożliwia instalację niestandardowych aplikacji, konfigurację specyficznych środowisk lub wdrożenie rozwiązań wymagających specyficznej konfiguracji sprzętowej. Choć to rozwiązanie wymaga samodzielnego zarządzania aktualizacjami, zabezpieczeniami oraz konfiguracją, daje to możliwość wprowadzenia rozwiązań klasy enterprise, np. konfiguracji AlwaysOn Availability Groups, niestandardowych backupów czy integracji z systemami monitorowania. Rozwiązanie oparte o maszyny wirtualne jest idealne dla organizacji, które chcą zachować spójność z istniejącymi rozwiązaniami on-premises, umożliwiając łatwiejsze przenoszenie danych i aplikacji między środowiskami. Maszyny wirtualne oraz SQL Server wymaga więcej nakładu pracy na utrzymanie, jednak pozwala na pełną optymalizację zasobów i może być bardziej ekonomiczny w przypadkach, gdzie potrzebna jest niestandardowa konfiguracja lub wykorzystanie posiadanych licencji SQL Server, które można wykorzystać w środowisku Azure.
Każde z tych rozwiązań ma swoje unikalne zalety, a wybór zależy od specyfiki projektu, wymagań biznesowych oraz poziomu kontroli, jaki organizacja chce zachować nad infrastrukturą bazy danych:
-
Potrzeby automatyzacji i uproszczenia administracji:
W tym przypadku lepsze będą usługi PaaS (Azure SQL Database, Managed Instance, bazy open-source), które automatyzują wiele zadań administracyjnych.
-
Wymagań dotyczących pełnej kontroli i niestandardowej konfiguracji:
Dla takich scenariuszy idealne jest wdrożenie na maszynach wirtualnych, gdzie można dowolnie dostosować system.
-
Kompatybilności z istniejącymi rozwiązaniami:
Azure SQL Managed Instance stanowi pomost między tradycyjnym on-premises SQL Server a nowoczesnymi rozwiązaniami chmurowymi, co ułatwia migrację przy jednoczesnym zachowaniu znanych funkcji i narzędzi.