Przeniesienie baz danych SQL Server z lokalnych do chmury to solidny plan, jeśli chcesz zwiększyć skalowalność, elastyczność i oszczędności kosztów. Ale zanim dokonasz skoku, musisz podjąć kilka decyzji.
Najpierw musisz wybrać platformę chmurową, która najlepiej odpowiada potrzebom Twojej organizacji. Microsoft Azure i Amazon AWS są obecnie liderami w dziedzinie usług w chmurze, więc na potrzeby tego artykułu, jeśli chodzi o szczegóły, będziemy trzymać się omówienia funkcji znalezionych na platformach Azure i AWS.
Gdy zdecydujesz się na platformę chmurową, będziesz musiał zdecydować, czy uruchomić bazę danych SQL Server na wybranych maszynach wirtualnych w chmurze (VM) wybranej platformy, czy skorzystać z zarządzanej bazy danych w chmurze. W świecie Azure i AWS, Azure VM i Amazon Elastic Compute Cloud (EC2) to opcje maszyny wirtualnej, podczas gdy Azure SQL Database i Amazon Relational Database Service (RDS) pełnią rolę zarządzanej chmury.
Maszyny wirtualne i zarządzane bazy danych w chmurze mają swoje mocne strony i wyzwania, więc niekoniecznie jest to „właściwy” wybór. Aby dowiedzieć się, która opcja najlepiej pasuje do migracji bazy danych SQL Server do chmury, przygotowaliśmy szybkie porównanie maszyn wirtualnych w chmurze i zarządzanych baz danych w chmurze.
Maszyny wirtualne w chmurze
Administracja
Od samego początku ważne jest, aby wiedzieć, że uruchomienie bazy danych na maszynie wirtualnej w chmurze wymaga mniej więcej tego samego poziomu wiedzy administracyjnych, co uruchomienie jej lokalnie. Więc nawet jeśli używasz swojej infrastruktury w chmurze, nadal będziesz potrzebować kogoś z personelu, który może wykonywać zadania OS/DBA, zarządzać kopiami zapasowymi i poprawkami oraz wdrażać rozwiązanie o wysokiej dostępności.
Nadal będziesz musiał również brać pod uwagę zaplanowane przestoje podczas zmiany zasobów procesora/pamięci, co może być niewygodne dla użytkowników.
Konfiguracja
Ogólnie rzecz biorąc, maszyny wirtualne w chmurze oferują bardziej elastyczne opcje konfiguracji niż zarządzane bazy danych w chmurze. Na przykład dzięki maszynom wirtualnym Azure masz pełną kontrolę nad silnikiem SQL Server, który obsługuje wszystkie te same możliwości lokalne.
Maszyny wirtualne EC2 można skonfigurować z preinstalowanymi wersjami programu SQL Server. Ponieważ zachowujesz dostęp do systemu operacyjnego, możesz w razie potrzeby dodać więcej pamięci masowej i skonfigurować lokalizacje plików bazy danych. W rzeczywistości możesz korzystać z dowolnych funkcji dostępnych dla dowolnej wersji SQL Server, którą wybierzesz.
Bezpieczeństwo
Dostęp do Cloud VM jest ograniczony przez adres IP, co w przypadku Azure sprawia, że maszyna wirtualna jest bezpieczniejsza niż Azure SQL Database. W Amazon EC2 możesz skonfigurować grupy bezpieczeństwa, zdefiniować porty, które chcesz otworzyć, oraz wskazać źródłowe adresy IP, które będą miały dostęp do Twoich instancji.
Skalowalność
Chociaż maszyny wirtualne w chmurze są wysoce skalowalne, należy pamiętać, że skalowanie jest procesem statycznym, a nie dynamicznym. Oznacza to, że możesz określić tylko zasoby, z których maszyna wirtualna będzie korzystać podczas jej tworzenia. Jeśli chcesz wprowadzić zmiany w zasobach po uruchomieniu maszyny wirtualnej, musisz uruchomić nową maszynę wirtualną z nową konfiguracją.
Jeśli chodzi o skalowalność, dużą zaletą EC2 nad maszyną wirtualną platformy Azure jest możliwość udostępnienia instancji EC2 dla każdego konta AWS. Platforma Azure ogranicza aprowizację maszyny wirtualnej do określonej bazy danych programu SQL Server.
Najlepsze przypadki użycia
Maszyny wirtualne w chmurze są najlepszym wyborem, jeśli migrujesz istniejącą bazę danych lub obsługujesz infrastrukturę chmury hybrydowej, a masz administratora ds. zarządzania i administrowania maszynami wirtualnymi.
Migrując istniejącą bazę danych programu SQL Server do maszyny wirtualnej platformy Azure, uzyskujesz pełną zgodność z lokalnym programem SQL Server, a także możliwość wdrażania aplikacji lub usług na hoście programu SQL Server. SQL Server na maszynie wirtualnej platformy Azure jest dokładnie dopasowany do środowiska lokalnego, więc migracja do maszyny wirtualnej w chmurze nie różni się zbytnio od przenoszenia baz danych między serwerami lokalnymi.
Jeśli wdrażasz infrastrukturę chmury hybrydowej, aby zachować zgodność i standardy prawne, maszyny wirtualne w chmurze oferują najlepszą obsługę aplikacji, które działają częściowo w chmurze, a częściowo lokalnie. Na przykład możesz rozszerzyć sieć lokalną i domenę usługi Active Directory do chmury za pośrednictwem sieci wirtualnej platformy Azure.
Zarządzane bazy danych w chmurze
Administracja
Ponieważ zarządzane bazy danych w chmurze są… dobrze… zarządzane, organizacje niekoniecznie potrzebują dedykowanego DBA personelu. Zarządzane usługi w chmurze zajmują się udostępnianiem infrastruktury i obejmują konserwację, taką jak tworzenie kopii zapasowych, stosowanie poprawek i odzyskiwanie.
Zarządzane bazy danych w chmurze przypisują również niezbędne zasoby, takie jak procesor i pamięć, do poszczególnych baz danych, eliminując potrzebę ręcznego dostosowywania zasobów w odpowiedzi na zmiany obciążenia.
Konfiguracja
Zarządzane bazy danych w chmurze nie są tak konfigurowalne, jak te na maszynie wirtualnej, ponieważ tracisz dużą kontrolę, gdy zatrudniasz stronę trzecią do zarządzania infrastrukturą. Jedną z głównych konsekwencji braku dostępu do systemu operacyjnego jest utrata natywnych kopii zapasowych i konieczność tworzenia kopii zapasowych i przywracania z zasobnika.
Bezpieczeństwo
Zarządzane bazy danych w chmurze, zwłaszcza te znajdujące się na platformie Azure lub AWS, korzystają z wbudowanej zaawansowanej analizy i zabezpieczeń. Dzięki ogromnym zasobom Microsoft i Amazon, które zasilają te usługi w chmurze, zarówno fizyczne, jak i cybernetyczne środki bezpieczeństwa przekraczają to, na co większość przedsiębiorstw może sobie pozwolić samodzielnie.
Na przykład Amazon RDS oferuje trzy główne funkcje bezpieczeństwa, w tym:
- Szyfrowanie w spoczynku i podczas przesyłania:dane przechowywane w spoczynku w podstawowej pamięci masowej są szyfrowane, podobnie jak automatyczne kopie zapasowe, repliki do odczytu i migawki. Przesyłane dane są zabezpieczone przez SSL.
- Izolacja sieci:umożliwia izolowanie bazy danych we własnej sieci wirtualnej i łączenie się z lokalną infrastrukturą IT przy użyciu standardowych w branży szyfrowanych sieci VPN IPsec.
- Uprawnienia na poziomie zasobów:integruje się z zarządzaniem tożsamością i dostępem AWS w celu kontrolowania działań, które użytkownicy i grupy mogą wykonywać na określonych zasobach Amazon RDS.
Skalowalność
Zarządzane usługi w chmurze oferują skalowalność z płatnością zgodnie z rzeczywistym użyciem z opcjami skalowania wdrożeń w górę lub w dół za pomocą kilku kliknięć. Korzystasz również z możliwości rozbudowy pamięci masowej, które automatycznie odpowiadają na zwiększone potrzeby w zakresie pamięci masowej.
Najlepsze przypadki użycia
Zarządzane bazy danych w chmurze to najlepsza opcja dla organizacji, które nie mają zasobów dla dedykowanego DBA lub tych, które tworzą nowe bazy danych w porównaniu do migracji istniejących baz danych SQL Server do chmury.
Technologia SQL Server i zarządzana chmura nie zawsze dobrze ze sobą współgrają podczas migracji, a nie wszystkie funkcje SQL Server są dostępne w zarządzanych bazach danych w chmurze, dlatego lepiej jest tworzyć nowe bazy danych w zarządzanej chmurze i migrować istniejące bazy danych do maszyny wirtualnej w chmurze.