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 vocês já pensaram em quais soluções PaaS (Plataforma como Serviço) podem encaixar-se muito bem nas necessidades do ambiente e na forma como vocês o administram?
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! 😊
Por Jonas Natario