Database
 sql >> Datenbank >  >> RDS >> Database

Überbrückung der Azure-Lücke:Verwaltete Instanzen

Wenn Sie erwägen, Ihre SQL Server-Umgebung zu Azure zu verschieben, hatten Sie nur ein paar Optionen. Zunächst könnten Sie die PaaS-Lösung von Azure SQL Database verwenden und eine einzelne Datenbank verschieben oder einen Pool für elastische Datenbanken verwenden. Ihre andere Option war eine IaaS-Lösung mit virtuellen Azure-Computern, auf denen Microsoft SQL Server ausgeführt wird. Wir werden bald eine dritte Option namens SQL Database Managed Instance haben.


Verwaltete Instanzen schließen die Lücke zwischen lokalem SQL Server und Azure SQL-Datenbank

Verwaltete Instanzen wurden erstmals auf der Microsoft Build-Konferenz im Frühjahr 2017 vorgestellt, und bisher war die Vorschau auf eine kleine Anzahl von Kunden und Beratern beschränkt. Verwaltete Instanzen können als Hybrid zwischen einer Vollversion von SQL Server und Azure SQL-Datenbank betrachtet werden. Einzelne und elastische Datenbanken basieren auf einem datenbankbezogenen Programmiermodell, und verwaltete Instanzen basieren auf einem instanzbezogenen Programmiermodell. Dadurch werden verwaltete Instanzen kompatibler mit lokalem SQL Server.

Verwaltete Instanzen vermitteln viel mehr das Gefühl eines lokalen SQL-Servers, basieren jedoch auf derselben Infrastruktur wie Azure SQL-Datenbank. Was es von Azure SQL Database unterscheidet, ist, dass es dem Kunden eine vollständige SQL Server-Instanz präsentiert. In Azure SQL-Datenbank konfigurieren Sie einen Server, der eigentlich ein Container ist, und können dann mehrere Datenbanken auf diesem Server haben, aber sie können nicht einfach miteinander kommunizieren. Bei verwalteten Instanzen befinden sich alle Datenbanken innerhalb der Instanz auf demselben tatsächlichen SQL Server, sodass Sie vollständige Unterstützung für datenbankübergreifende Abfragen haben. Dies ist eine große Funktion für viele Anwendungen, die ansonsten nicht gut zu Azure SQL-Datenbank passen würden, und ich denke, dass dadurch viel mehr SQL Server-Anwendungen in die Cloud verschoben werden können.

Funktionalität auf Instanzebene wird jetzt unterstützt. Dazu gehören Dinge wie globale temporäre Tabellen, SQL Server Agent, Service Broker, Replikation, SQL Audit und Common Language Runtime (CLR). Verwaltete Instanzen können auch Datenbanken mit einer Größe von bis zu 35 TB unterstützen. Derzeit beträgt die größte Kapazität für eine Azure SQL-Datenbank 4 TB in der obersten Ebene. Ich vermute, dass sich dies bald ändern wird und die Cloud erneut für weitere Anwendungen öffnen wird.

Verwaltete Instanzen können auch alle Funktionen der PaaS-Plattform nutzen, darunter automatische Backups, Bedrohungserkennung, Schwachstellenbewertungen, Hochverfügbarkeit, Georeplikation, Datenbankberater und vieles mehr. Ich habe eine Präsentation gesehen, in der die Funktionsweise des automatischen Failover-Prozesses erörtert wurde, und habe erfahren, dass Objekte auf Serverebene in die Failover-Instanz repliziert werden. Das bedeutet, dass Dinge wie Logins und Jobs – Schmerzpunkte für viele unserer heutigen Umgebungen – für Sie erledigt werden.

Im vergangenen Jahr habe ich zahlreichen Kunden bei der Migration zu Azure SQL Database geholfen, und eine der größten Herausforderungen ist die Migration der Daten. Sie können nicht einfach eine SQL Server-Sicherung durchführen und in Azure SQL-Datenbank wiederherstellen. Es hat mich sehr gefreut zu hören, dass wir mit verwalteten SQL-Datenbank-Instanzen native SQL Server-Sicherungen verwenden und auf verwaltete Instanzen wiederherstellen können, Sie müssen jedoch den Mechanismus zum Sichern auf URL verwenden. Dadurch werden Migrationen zu verwalteten Instanzen viel einfacher. Da verwaltete Instanzen jedoch auf Azure SQL-Datenbank basieren, ist dies ein One-Way-Ticket:Sie können Ihre Datenbanken verwalteter Instanzen nicht sichern und lokal wiederherstellen. Wenn Sie sich jemals entschieden haben, Ihre Datenbank wieder lokal oder aus verwalteten Instanzen zu holen, müssen Sie Ihre Daten exportieren.


Datenbanken auf verwalteten Instanzen sind viel besser für die Migration zu Azure SQL geeignet Datenbank

Da sie andererseits auf der Azure SQL-Datenbankplattform aufgebaut sind, können die einzelnen Datenbanken, die Sie in eine verwaltete Instanz stellen, zu ihren eigenen individuellen Azure SQL-Datenbanken migriert werden. Dies macht eine verwaltete Instanz zu einem perfekten Sprungbrett, auf dem Sie die Isolationskomplikationen ausarbeiten können, die Sie daran hindern, direkt zu PaaS zu migrieren.

Ich bin neugierig, ob die Replikation unterstützt wird. Ich konnte noch nicht herausfinden, ob eine Managed Instance-Datenbank ein Herausgeber sein kann oder ob sie nur ein Abonnent sein kann, wie eine Azure SQL-Datenbank. Wenn es sich um einen Herausgeber handeln kann, könnte dies eine effektive Möglichkeit sein, zurück zu einer lokalen Umgebung zu migrieren. Ich hoffe wirklich, dass wir in naher Zukunft in der Lage sein werden, auch native SQL Server-Sicherungen in Singleton-Azure-SQL-Datenbanken wiederherzustellen. Es scheint, dass die Technologie vorhanden ist, sie muss nur für die vorhandene PaaS-Umgebung erweitert werden.

Eine weitere interessante Beobachtung zu verwalteten Instanzen ist, dass die SQL Server-Version der Azure SQL-Datenbank folgen wird, da die Technologie auf dem Azure SQL-Datenbankmodell aufbaut. Dies könnte die Dinge mit dem Anbieter-Support erschweren. Viele Anbieter geben an, dass sie ihr Produkt für SQL Server Version X zertifizieren. Obwohl verwaltete Instanzen fast alle Funktionen von SQL Server 2017 unterstützen, wird nicht dieselbe Build-Version verwendet, sodass programmgesteuerte Versionsprüfungen kompliziert sind. Ihre beste Vorgehensweise ist hier, den Anbieter zurückzudrängen, da Microsoft bei dieser Haltung wahrscheinlich nicht schwanken wird, und ich habe keinen Zweifel daran, dass einige dieser Gespräche schwierig sein werden.

Werden Anbieter sich die Mühe machen, ihre Produkte für verwaltete Instanzen zu zertifizieren, oder wird dies zu einem Problem, wie wir es bei der Virtualisierung erlebt haben? In den frühen Tagen der Virtualisierung gaben viele Anbieter an, dass sie ihre virtualisierten Produkte nicht unterstützten, Microsoft unterstützte jedoch die Virtualisierung von Windows X und SQL Server X vollständig. Wir hoffen, dass Anbieter an Bord kommen und ihre Produkte für verwaltete Instanzen zertifizieren. Ich sehe sicherlich einige SQL Server-Pioniere da draußen, die nach ihren eigenen Tests zu Managed Instances wechseln werden.

Jedes Mal, wenn ein Kunde in die Cloud migrieren möchte, ist Sicherheit ein großes Anliegen. Verwaltete Instanzen bieten VNET-Unterstützung mit privaten IP-Adressen und VPN für lokale Netzwerke. Dies kann es einem Client ermöglichen, seine Umgebung vor dem öffentlichen Internet zu schützen und vollständig isoliert zu sein.

Ich bin begeistert von Managed Instances und kann es kaum erwarten, bis es breiter verfügbar ist. Für Kunden, die eine verwaltete Umgebung wünschen, aber eine funktionsreichere Lösung als eine Singleton- oder elastische Azure SQL-Datenbank benötigen, sind verwaltete Instanzen meines Erachtens die perfekte Lösung. Es gab eine Lücke zwischen Azure SQL-Datenbank und SQL Server auf einer Azure-VM, da viele Kunden mehr benötigen als Azure SQL-Datenbank bietet, aber SQL Server auf einer Azure-VM bedeutet immer noch mehr Wartung und Verantwortung, als sie wollten. Managed Instances schließen diese Lücke wirklich. Sie unterstützen viel größere Datenbanken, ermöglichen einfachere Datenmigrationen, ermöglichen datenbankübergreifende Abfragen und sollten keine Codeänderungen erfordern, da die Plattform so hochkompatibel mit lokalem SQL Server ist.

Zusammenfassend lässt sich sagen, dass Sie, wenn Ihre Organisation einen Wechsel zu einer gehosteten Umgebung innerhalb der Azure SQL-Datenbankplattform erwägt, zwischen einzelnen Azure SQL-Datenbanken, Pools für elastische Datenbanken oder verwalteten Instanzen wählen können. Abhängig von Ihren Anwendungsanforderungen sollte eine dieser Lösungen hervorragend geeignet sein. Andernfalls haben Sie auch die Möglichkeit, eine herkömmliche SQL Server-Instanz auf einer virtuellen Azure-Maschine auszuführen, die nette Funktionen wie verwaltete Sicherungen, Georeplikation, Azure Site Recovery und vieles mehr bietet. Microsoft investiert weiterhin in die Azure-Plattform, indem es neue Produkte und Funktionen bereitstellt, die seine Kunden benötigen, und die bevorstehende Veröffentlichung von Managed Instances ist ein weiterer Beweis für diesen Fokus. Bleiben Sie dran, denn uns wurde eine öffentliche Vorschau in sehr naher Zukunft versprochen.