Fala, pessoal!
No mês passado, enquanto estava participando do MVP Summit na sede da Microsoft, em Redmond-WA, eles anunciaram a liberação de um preview público de um negócio chamado Azure SQL Database Managed Instance.
Conversando com alguns clientes, quase nenhum conhecia isso, então resolvi fazer este artigo para começar a explicar pra vocês do que se trata e como isso pode te ajudar.
O que é Azure SQL Database Managed Instance?
Antes de falar do Managed Instance (MI para os íntimos), quero falar um pouco do nosso cenário atual de SQL Server no Azure.
Hoje temos duas formas de levar nosso banco de dados SQL Server para o Azure.
1 – Contratando apenas uma base de dados com o Azure SQL Database (Paas – Platform as a Service)
Nesse modelo você contrata uma ou mais bases de dados no Azure, com uma determinada capacidade de performance, e se conecta via Management Studio e aplicações normalmente. Muito fácil e rápido (poucos cliques).
Benefícios:
- Muito fácil e rápida a disponibilização de uma base de dados para a sua aplicação
- Custo acessível até para empresas pequenas
- Não precisa se preocupar com aplicação de Patch de segurança, manter um Windows Server e administrar um servidor por completo
- Ao criar uma base, o Azure garante a replicação dessa base através do Azure Storage na versão Basic/Standard
- Na premium temos um AlwaysOn configurado pelo Azure
- Conseguimos criar uma replicação geográfica com poucos cliques e usá-la como ReadOnly para apontar nossos relatórios para lá
- Temos backup automático
- Seu SQL Server já se mantém atualizado com a última versão e novas features
- Entre outros benefícios
Dificuldades:
- Não temos como configurar o Database Mail para mandar e-mails de procedures
Linked Server tem que ser reescrito de outra forma (mais trabalhosa) - Não tem o nosso querido SQL Server Agent, mas é possível fazer automatização de outra forma (bem mais trabalhosa)
- Você não consegue dar um JOIN simples entre duas databases igual fazemos aos montes hoje em dia, em nossas aplicações (CROSS DATABASE)
- Com essas dificuldades, algumas aplicações terão que ser ajustadas para funcionar corretamente no Azure SQL
- Database como um serviço (PaaS)
2 – Contratando uma VM (IaaS – Infraestrutura as a Service)
Benefícios:
- Conseguimos migrar nossa aplicação para o Azure sem ter que fazer adaptações.Nada muda na nossa administração – o servidor está apenas em um novo local
- Não precisamos manter um datacenter interno, que é bem trabalhoso e custoso
Dificuldades:
- Ainda temos que manter o Windows Server e atualizações de Patchs
- Se quisermos ter a base do SQL Server replicada, temos que realizar um projeto de Alwayson por nossa conta
- O time de produto do SQL Server trabalha demais – hoje temos novas versões do SQL Server com um tempo curto de diferença. Em uma VM, você tem que bancar esses projetos de migrações (2008 > 2012 >2014 > 2016 – 2017)
- Devido a essa migração não precisar de alterações na aplicação, tenho mais clientes indo para o Azure, como VM (Iaas) do que como Azure SQL Database (Paas)
Aí que entra o nosso novo melhor amigo chamado Azure SQL Database Managed Instance (que também é PaaS).
O Managed Instance, é um meio termo dessas duas soluções que tínhamos até hoje. Ele reúne os benefícios do Azure SQL Database (Paas) com o da VM (IaaS), que é não ter que alterar nossa aplicação.
Ou seja, podemos pegar nosso SQL Server como está hoje aí na nossa empresa, usar uma ferramenta de migração simples que a Microsoft também vai nos disponibilizar e começar a utilizar nosso SQL na nuvem.
Benefícios do Azure SQL Database Managed Instance
- Não precisamos alterar quase nada das nossas aplicações para migrar para o Managed Instance
- Sua instância no MI do Azure fica completamente isolada de outros clientes através de uma VNET
- Não precisa se preocupar com aplicação de patch de segurança, manter um Windows Server e administrar um servidor por completo.
- Ao criar uma base, automaticamente ela já é replicada entre outros dois servidores no mesmo datacenter (AlwaysON) – isso na versão Business Critical
- Temos backup automático e conseguimos restaurar uma base até um determinado momento.
- Seu SQL Server já se mantém atualizado com a última versão e novas features. Não vai precisar pagar um DBA para migrar a versão do seu SQL Server.
- A contratação do Managed Instance vai ser por vCores, e não por DTU, como era o Azure SQL Database.
Segue abaixo duas leituras para aprenderem mais um pouco sobre o assunto:
- What is an Azure SQL Database Managed Instance?
- Migrate your databases to a fully managed service with Azure SQL Database Managed Instance
Se você ainda estava com o pé atrás de ir para o Azure SQL Database por causa da falta de features ou adaptações que você tinha que fazer nos seus sistemas, agora essa desculpa acabou. Sua migração para o Azure está cada vez mais próxima.
Abraços!