Ако обмисляте да преместите своята среда на SQL Server в Azure, имате само няколко опции. Първо можете да използвате решението PaaS на Azure SQL база данни и да преместите една база данни или да използвате еластичен пул. Другата ви опция е IaaS решение, използващо виртуални машини на Azure, работещи с Microsoft SQL Server. Скоро ще имаме трета опция, наречена SQL Database Managed Instance.
Управлявани екземпляри преодоляват пропастта между on-prem SQL Server и Azure SQL база данни
Управляваните инстанции бяха представени за първи път на конференцията на Microsoft Build през пролетта на 2017 г. и досега визуализацията беше ограничена до малък брой клиенти и консултанти. Управляваните екземпляри могат да се считат за хибрид между пълна версия на SQL Server и Azure SQL база данни. Единичните и еластични бази данни са изградени върху програмен модел с обхват на база данни, а управляваните екземпляри са изградени върху програмен модел с обхват на инстанция. Това прави управляваните екземпляри по-съвместими с локалния SQL сървър.
Управляваните екземпляри осигуряват много повече усещане за локален SQL сървър, но са изградени върху същата инфраструктура като Azure SQL база данни. Това, което го отличава от Azure SQL база данни е, че представя на клиента цял екземпляр на SQL Server. В Azure SQL база данни вие конфигурирате сървър, който наистина е контейнер и след това може да има множество бази данни в този сървър, но те не могат лесно да разговарят помежду си. С управлявани екземпляри всички бази данни в екземпляра са на един и същ действителен SQL Server, така че имате пълна поддръжка за запитвания за кръстосани бази данни. Това е огромна функция за много приложения, които иначе не са подходящи за Azure SQL база данни и мисля, че това ще позволи на много повече приложения на SQL Server да се преместят в облака.
Сега се поддържа функционалност, която е на ниво екземпляр. Това включва неща като глобални временни таблици, SQL Server Agent, Service Broker, репликация, SQL одит и Common Language Runtime (CLR). Управляваните екземпляри могат също да поддържат бази данни с размер до 35TB. Понастоящем най-големият капацитет за Azure SQL база данни е 4TB в най-горното ниво. Подозирам, че това може да се промени скоро и отново ще отвори облака за още приложения.
Управляваните инстанции също могат да се възползват от всички функции на платформата PaaS, за да включват автоматично архивиране, откриване на заплахи, оценки на уязвимостта, висока наличност, гео-репликация, съветник за база данни и много други. Видях презентация, в която се обсъждаше как работи процесът на автоматичен отказ и научих, че обектите на ниво сървър се репликират в екземпляра за превключване при отказ. Това означава, че неща като влизания и работни места – болезнени точки за много от нашите среди днес – се обработват вместо вас.
През последната година помогнах на много клиенти да мигрират към Azure SQL база данни и едно от основните предизвикателства е мигрирането на данните. Не можете просто да извършите архивиране и възстановяване на SQL Server в Azure SQL база данни. Бях много доволен да чуя, че с SQL Database Managed Instances, ние можем да използваме естествени резервни копия на SQL Server и да ги възстановим до управлявани екземпляри, но трябва да използвате механизма за архивиране към URL. Това ще направи миграцията към управлявани екземпляри много по-лесна, но тъй като управляваните екземпляри са изградени на базата данни на Azure SQL, това е еднопосочен билет:не можете да архивирате базите си на управлявани екземпляри и да ги възстановите обратно на място. Ако някога сте решили да върнете базата си данни обратно в локални или извън управлявани инстанции, ще трябва да експортирате данните си.
Базите данни на управлявани екземпляри са много по-готови за мигриране към Azure SQL База данни
От друга страна, тъй като те са изградени на платформата Azure SQL Database, отделните бази данни, които поставяте в управляван екземпляр, могат да бъдат мигрирани към техните собствени индивидуални бази данни Azure SQL. Това прави управлявания екземпляр перфектна стъпка, където можете да решите изолационните усложнения, които ви пречат да мигрирате директно към PaaS.
Любопитен съм дали се поддържа репликация. Все още не успях да разбера дали база данни на управляван екземпляр може да бъде издател или дали може да бъде само абонат, като база данни на Azure SQL. Ако може да бъде издател, тогава това може да бъде ефективен начин за мигриране обратно към локални. Наистина се надявам, че в близко бъдеще ще имаме възможността също да възстановяваме естествени резервни копия на SQL Server в единични Azure SQL бази данни. Изглежда, че технологията е налице, просто трябва да бъде разширена за съществуващата PaaS среда.
Друго интересно наблюдение относно управляваните екземпляри е, че тъй като технологията е изградена върху модела на Azure SQL база данни, версията на SQL Server ще следва тази на Azure SQL база данни. Това може да усложни нещата с поддръжката на доставчици. Много доставчици ще заявят, че сертифицират продукта си за SQL Server версия X. Въпреки че управляваните инстанции ще поддържат почти всички функции на SQL Server 2017, той няма да използва същата версия на компилация, така че програмните проверки на версиите ще бъдат сложни. Най-добрият ви начин на действие тук е да отблъснете доставчика, тъй като е малко вероятно Microsoft да се колебае в тази позиция и не се съмнявам, че някои от тези разговори ще бъдат предизвикателство.
Ще положат ли доставчиците усилия да сертифицират своите продукти на управлявани инстанции или това ще се превърне в проблем, какъвто изпитахме с виртуализацията? В първите дни на виртуализацията много доставчици заявиха, че не поддържат своите продукти, работещи виртуализирано, но Microsoft напълно поддържаше Windows X и SQL Server X да бъдат виртуализирани. Надяваме се, че ще видим доставчици да се включват и да сертифицират своите продукти на управлявани инстанции. Със сигурност виждам някои пионери на SQL Server, които ще преминат към управлявани инстанции след собствено тестване.
Всеки път, когато клиент иска да мигрира към облака, сигурността е голяма грижа. Управляваните инстанции предлагат поддръжка на VNET с частни IP адреси и VPN към локални мрежи. Това може да позволи на клиента да защити своята среда от публичния интернет и да има пълна изолация.
Вълнувам се от управляваните инстанции и наистина нямам търпение, докато стане по-широко достъпен. За клиенти, които биха искали управлявана среда, но се нуждаят от по-богато на функции решение от единична или еластична Azure SQL база данни, смятам, че управляваните екземпляри биха били идеалното решение. Има пропаст между Azure SQL база данни и SQL Server на Azure VM, тъй като много клиенти се нуждаят от повече, отколкото предлага Azure SQL база данни, но SQL Server на Azure VM все още носи повече поддръжка и отговорност, отколкото са искали. Управляваните инстанции наистина преодоляват тази празнина. Те поддържат много по-голяма база данни, позволяват по-лесна миграция на данни, позволяват запитвания между бази данни и не трябва да изискват никакви промени в кода, тъй като платформата е толкова силно съвместима с локалния SQL Server.
В обобщение, ако вашата организация обмисля преминаване към хоствана среда в платформата на Azure SQL база данни, вие ще можете да избирате между отделни Azure SQL бази данни, еластични пулове или управлявани екземпляри. В зависимост от нуждите на вашето приложение, едно от тези решения трябва да е много подходящо. В противен случай имате и възможността да стартирате традиционен екземпляр на SQL Server на виртуална машина Azure, която предлага хубави функции като управлявано архивиране, георепликация, възстановяване на Azure Site и много други. Microsoft продължава да инвестира в платформата Azure, като предоставя нови продукти и функции, от които се нуждаят техните клиенти, а предстоящото издание на управляваните инстанции е постоянно доказателство за този фокус. Останете на линия, тъй като ни обещаха публична визуализация в много близко бъдеще.