Olá, pessoal!
Sabemos que no planejamento de uma migração de bancos de dados de um ambiente on-premises para um ambiente em nuvem, umas das preocupações é manter estrutura e gerenciamento semelhantes ao ambiente existente. Neste caso, uma alternativa mais simples é optar por soluções de IaaS (Infraestrutura como Serviço), como por exemplo, uma VM hospedada em nuvem.
Mas já pensaram que soluções PaaS (Plataforma como Serviço) podem se encaixar muito bem nas necessidades do ambiente e na forma como ele é administrado?
Atualmente o Azure oferece algumas soluções PaaS para bancos de dados SQL Server. Entre as mais conhecidas estão o Azure SQL Database e o Azure SQL Managed Instance. É sobre esta última que falarei no post de hoje.
O que é o SQL Managed Instance?
O SQL Managed Instance é uma instância do SQL Server que é quase 100% compatível com um ambiente on-premises.
Diferentemente do Azure SQL Database, por exemplo, o serviço do Managed Instance permite acesso aos bancos de dados de sistema, ao SQL Server Agent e a bibliotecas do CLR, o que permite um maior gerenciamento da instância.
Atualmente, algumas das características importantes do Managed Instance são:
- A instância aceita até 100 bancos de dados;
- A instância estará sempre atualizada na última versão estável do SQL Server;
- Alta disponibilidade está integrada;
- Backups são automatizados, geridos pelo Azure, somente com recuperação point-in-time como opção. Contudo, pode-se realizar backups copy-only;
- Pode-se realizar restaurações de backup para fins de teste, por exemplo;
- Não é possível fazer a criação ou restauração de um banco de dados apontando um caminho físico completo para os arquivos de banco;
- Bancos de dados no Managed Instance não podem ter mais de um arquivo de log;
- Suporta o SQL Server Integration Services (SSIS) e tem a capacidade de abrigar um catálogo SSIS (SSISDB), no entanto, eles são executados no Azure-SSIS Integration Runtime (IR), no Azure Data Factory;
- A conexão com o Managed Instance só pode ser feita através do protocolo TCP, não sendo possível conexão através de named pipes.
Tiers (Camadas de Serviço)
Os tiers definem, entre outras coisas, a arquitetura de armazenamento, limites de espaço e I/O, além das opções de alta disponibilidade e recuperação de desastres.
O Managed Instance está disponível em dois tiers: General Purpose e Business Critical.
General Purpose:
Este tier atenderá a maioria das aplicações e seus requisitos de desempenho. Então, caso a aplicação não exija performance diferenciada ou uma réplica para leitura, o tier General Purpose atenderá a demanda.
Business Critical:
Este tier é desenvolvido para aplicações que exigem performance de I/O diferenciada. Além disso, pode-se utilizar o benefício que este tier oferece de uma réplica secundária para somente leitura.
Quanto à sincronização de dados de e para o Managed Instance, é possível realizá-la através de diversas ferramentas como:
– Backup/restore;
– BACPAC;
– BCP (Bulk Copy Program);
– Replicação Transacional;
– DMA (Data Migration Assistant);
– SQL Server Integration Services;
– Azure Data Factory.
Ainda, é interessante ressaltar que, no que se refere à segurança de dados, o Managed Instance oferece diversos recursos como: auditoria, criptografia de dados em movimento através do protocolo TLS, data mask, RLS (segurança em nível de linha) e TDE (Criptografia de Dados Transparente).
Em síntese, o Managed Instance pode ser, sim, uma solução muito viável e robusta, já que oferece a possibilidade de usufruir de diversas ferramentas do Azure, e ao mesmo tempo manter o gerenciamento de recursos do SQL Server que podem ser indispensáveis para as organizações.
Espero que tenha ajudado a conhecer um pouco mais sobre o Managed Instance e a despertar mais curiosidade sobre essa solução recheada de recursos.
Até o próximo post! 😊