Pokud jste zvažovali přesunutí prostředí SQL Serveru do Azure, měli jste jen několik možností. Nejprve byste mohli využít řešení PaaS Azure SQL Database a přesunout jednu databázi nebo použít elastický fond. Další možností bylo řešení IaaS pomocí virtuálních počítačů Azure s Microsoft SQL Server. Brzy budeme mít třetí možnost nazvanou SQL Database Managed Instance.
Spravované instance překlenují propast mezi místním SQL Serverem a Azure SQL databáze
Spravované instance byly poprvé představeny na konferenci Microsoft Build na jaře 2017 a zatím byla ukázka omezena na malý počet zákazníků a konzultantů. Spravované instance lze považovat za hybrid mezi plnou verzí SQL Server a Azure SQL Database. Jednoduché a elastické databáze jsou postaveny na programovacím modelu s rozsahem databáze a spravované instance jsou postaveny na programovacím modelu s rozsahem instance. Díky tomu jsou spravované instance více kompatibilní s místním SQL Serverem.
Spravované instance poskytují mnohem více pocitu místního SQL Serveru, a přitom jsou postaveny na stejné infrastruktuře jako Azure SQL Database. Od Azure SQL Database se odlišuje tím, že zákazníkovi představuje celou instanci SQL Serveru. V Azure SQL Database nakonfigurujete server, který je ve skutečnosti kontejnerem, a pak může mít na tomto serveru více databází, ale nemohou spolu snadno mluvit. Díky spravovaným instancím jsou všechny databáze v rámci instance na stejném skutečném serveru SQL, takže máte plnou podporu pro dotazy mezi databázemi. Toto je obrovská funkce pro mnoho aplikací, které se jinak pro Azure SQL Database nehodily, a myslím si, že to umožní přesunutí mnoha dalších aplikací SQL Server do cloudu.
Nyní je podporována funkce na úrovni instance. To zahrnuje věci jako globální dočasné tabulky, SQL Server Agent, Service Broker, replikace, SQL Audit a Common Language Runtime (CLR). Spravované instance mohou také podporovat databáze o velikosti až 35 TB. V současné době je největší kapacita pro Azure SQL Database 4 TB v nejvyšší vrstvě. Mám podezření, že se to brzy změní a opět to otevře cloud pro další aplikace.
Spravované instance také mohou využívat všechny funkce platformy PaaS, včetně automatického zálohování, detekce hrozeb, hodnocení zranitelnosti, vysoké dostupnosti, geografické replikace, databázového poradce a mnoho dalšího. Viděl jsem prezentaci, která pojednávala o tom, jak funguje proces automatického převzetí služeb při selhání, a dozvěděl jsem se, že objekty na úrovni serveru jsou replikovány do instance převzetí služeb při selhání. To znamená, že věci jako přihlášení a úlohy – problematické body pro mnoho našich dnešních prostředí – jsou řešeny za vás.
Za poslední rok jsem pomohl mnoha zákazníkům migrovat na Azure SQL Database a jedním z hlavních problémů je migrace dat. Nemůžete jen provést zálohu SQL Serveru a obnovení do Azure SQL Database. Velmi mě potěšilo, že s SQL Database Managed Instances můžeme používat nativní zálohy SQL Serveru a obnovovat je do Managed Instance, ale musíte použít mechanismus zálohování na URL. Díky tomu budou migrace do spravovaných instancí mnohem snazší, ale protože jsou spravované instance postaveny na Azure SQL Database, jde o jednosměrný lístek:nemůžete zálohovat databáze spravovaných instancí a obnovit je zpět do místního prostředí. Pokud jste se někdy rozhodli přenést svou databázi zpět do místního prostředí nebo ze spravovaných instancí, budete muset svá data exportovat.
Databáze ve spravovaných instancích jsou mnohem připravenější na migraci do Azure SQL Databáze
Na druhou stranu, protože jsou postaveny na platformě Azure SQL Database, jednotlivé databáze, které vložíte do spravované instance, lze migrovat do jejich vlastních individuálních databází Azure SQL. Díky tomu je spravovaná instance dokonalým odrazovým můstkem, kde můžete vyřešit problémy s izolací, které vám brání migrovat přímo do PaaS.
Jsem zvědavý na podporu replikace. Zatím se mi nepodařilo zjistit, zda databáze spravované instance může být vydavatelem nebo zda může být pouze předplatitelem, jako je Azure SQL Database. Pokud to může být vydavatel, pak by to mohl být účinný způsob migrace zpět do místního prostředí. Opravdu doufám, že v blízké budoucnosti budeme mít možnost také obnovit nativní zálohy SQL Serveru do jednotlivých databází Azure SQL. Zdá se, že technologie existuje, jen je třeba ji rozšířit pro stávající prostředí PaaS.
Dalším zajímavým postřehem o spravovaných instancích je, že protože je technologie postavena na modelu Azure SQL Database, bude verze SQL Server následovat verzi Azure SQL Database. To může komplikovat věci s podporou dodavatele. Mnoho dodavatelů uvede, že certifikují svůj produkt na SQL Server verze X. Přestože spravované instance budou podporovat téměř všechny funkce SQL Server 2017, nebudou používat stejnou verzi sestavení, takže programové kontroly verzí budou komplikované. Nejlepším řešením v tomto případě je zatlačit na dodavatele, protože Microsoft s tímto postojem pravděpodobně nezakolísá a nepochybuji, že některé z těchto rozhovorů budou náročné.
Projdou dodavatelé úsilím certifikovat své produkty na spravovaných instancích, nebo se z toho stane problém, jaký jsme zažili u virtualizace? V počátcích virtualizace mnoho dodavatelů uvedlo, že nepodporují jejich virtualizované produkty, nicméně Microsoft plně podporoval virtualizované Windows X a SQL Server X. Doufejme, že uvidíme dodavatele, kteří se zapojí a budou certifikovat své produkty ve spravovaných instancích. Určitě tam vidím některé průkopníky SQL Serveru, kteří po vlastním testování přejdou na spravované instance.
Kdykoli se zákazník chystá migrovat do cloudu, je zabezpečení velkým problémem. Spravované instance nabízejí podporu VNET se soukromými IP adresami a VPN do místních sítí. To může klientovi umožnit chránit své prostředí před veřejným internetem a mít úplnou izolaci.
Jsem nadšený ze spravovaných instancí a opravdu se nemůžu dočkat, až budou dostupnější. Pro klienty, kteří by chtěli spravované prostředí, ale potřebují řešení bohatší na funkce, než je singleton nebo elastická Azure SQL Database, se domnívám, že by se Managed Instance perfektně hodily. Mezi Azure SQL Database a SQL Server na virtuálním počítači Azure byla mezera, protože mnoho zákazníků potřebuje víc, než nabízí Azure SQL Database, ale SQL Server na virtuálním počítači Azure je stále více údržby a odpovědnosti, než chtěli. Spravované instance skutečně překlenují tuto mezeru. Podporují mnohem větší databáze, umožňují snadnější migraci dat, umožňují dotazy napříč databázemi a neměly by vyžadovat žádné změny kódu, protože platforma je tak vysoce kompatibilní s místním SQL Serverem.
Stručně řečeno, pokud vaše organizace zvažuje přechod na hostované prostředí v rámci platformy Azure SQL Database, budete si moci vybrat mezi jednotlivými databázemi Azure SQL Database, elastickými fondy nebo spravovanými instancemi. V závislosti na potřebách vaší aplikace by se mělo jedno z těchto řešení skvěle hodit. Jinak máte také možnost spustit tradiční instanci SQL Serveru na virtuálním počítači Azure, který nabízí pěkné funkce, jako jsou spravované zálohy, geografická replikace, Azure Site Recovery a mnoho dalšího. Microsoft nadále investuje do platformy Azure tím, že dodává nové produkty a funkce, které jejich zákazníci potřebují, a nadcházející vydání Managed Instances je trvalým důkazem tohoto zaměření. Zůstaňte naladěni, protože nám bylo přislíbeno veřejné náhledy ve velmi blízké budoucnosti.