Escolher a plataforma certa para uma carga de trabalho relacional

Concluído

A computação em nuvem cresceu em popularidade, com flexibilidade promissora para empresas e oportunidades para economizar tempo e dinheiro, além de aprimorar a agilidade e a escalabilidade. Por outro lado, o software local, instalado nos servidores próprios de uma empresa e atrás do firewall dela, ainda tem seu apelo. Os aplicativos locais são confiáveis, seguros e permitem que as empresas mantenham um maior controle.

Os sistemas de gerenciamento de banco de dados relacional são um exemplo de aplicação em que a nuvem permitiu que as organizações tirassem proveito da escalabilidade aprimorada. No entanto, essa escalabilidade precisa ser balanceada em relação à necessidade de maior controle sobre os dados. Os dados são, sem dúvida, um dos ativos mais valiosos que uma organização tem, e algumas empresas não podem ou não querem repassar a responsabilidade por proteger esses dados a terceiros.

Nesta unidade, você examinará algumas das vantagens e desvantagens da execução de um sistema de gerenciamento de banco de dados na nuvem.

Comparar a hospedagem local à na nuvem

Independentemente de uma empresa colocar a própria carga de trabalho relacional na nuvem ou decidir mantê-la no local, a segurança dos dados sempre será fundamental. No entanto, para as empresas em setores altamente regulamentados, a decisão pode já ser sido tomada por elas em relação a hospedar os aplicativos delas localmente. Saber que seus dados estão localizados em seus servidores e infraestrutura de TI internos também pode fornecer mais tranquilidade.

A hospedagem de um banco de dados relacional local requer que uma empresa não apenas compre o software de banco de dados, mas também mantenha o hardware necessário no qual executar o banco de dados. A organização é responsável por manter o hardware e o software, aplicar patches, fazer backup de bancos de dados, restaurá-los quando necessário e, geralmente, executar todo o gerenciamento diário necessário para manter a plataforma operacional. A escalabilidade também é uma preocupação. Se você precisar escalar o sistema, será necessário atualizar os servidores ou adicionar mais deles. Em seguida, você precisa expandir o banco de dados para esses servidores. Essa pode ser uma tarefa formidável, exigindo que você coloque um banco de dados offline enquanto a operação é executada. Na nuvem, a equipe do data center cuida de muitas dessas operações para você, em muitos casos com zero (ou mínimo) tempo de inatividade. Você fica livre para se concentrar nos dados propriamente ditos e deixar as preocupações com o gerenciamento para outras pessoas (afinal, é para isso que você paga os valores do Azure).

Uma abordagem baseada em nuvem usa a tecnologia virtual para hospedar os aplicativos de uma empresa fora do local. Não há nenhuma despesa de capital e os dados podem ser submetidos a backup regularmente. As empresas só precisam pagar pelos recursos que usam. Para as organizações que planejam uma expansão global agressiva, a nuvem tem um apelo ainda maior, pois permite que você se conecte com clientes, parceiros e outras empresas em qualquer lugar com o mínimo de esforço. Além disso, a computação em nuvem oferece provisionamento quase instantâneo, porque tudo já está configurado. Assim, qualquer software novo integrado ao seu ambiente estará pronto para ser usado imediatamente depois que uma empresa tiver assinado. Com o provisionamento instantâneo, qualquer tempo gasto na instalação e na configuração é eliminado e os usuários podem acessar o aplicativo imediatamente.

Diagrama de uma comparação do serviço local com a nuvem.

Conceitos básicos de IaaS e PaaS

Geralmente, você tem duas opções ao mover suas operações e bancos de dados para a nuvem. Você pode selecionar uma abordagem de IaaS ou PaaS.

IaaS é a abreviação de infraestrutura como serviço. O Azure permite criar uma infraestrutura virtual na nuvem que copia o funcionamento de um data center local. É possível criar um conjunto de máquinas virtuais, conectá-las por meio de uma rede virtual e adicionar vários dispositivos virtuais. Em muitos aspectos, essa abordagem é parecida com o modo como você executa seus sistemas em uma organização. No entanto, você não precisa se preocupar com a compra nem a manutenção do hardware. No entanto, você ainda é responsável por muitas das operações cotidianas, como instalar e configurar o software, aplicar patches, realizar backups e restaurar dados quando necessário. Você pode considerar o IaaS como uma transição para operações totalmente gerenciadas na nuvem; você não precisa se preocupar com o hardware, mas a execução e o gerenciamento do software ainda são de sua responsabilidade.

Você pode executar qualquer software para o qual tenha as licenças apropriadas usando essa abordagem. Você não está restrito a nenhum sistema de gerenciamento de banco de dados específico.

A abordagem IaaS é melhor para migrações e aplicativos que exigem acesso no nível do sistema operacional. As máquinas virtuais do SQL são lift-and-shift. Ou seja, você pode copiar sua solução local diretamente para uma máquina virtual na nuvem. O sistema deve funcionar quase exatamente como antes em sua nova localização, exceto por algumas pequenas alterações de configuração (alterações em endereços de rede, por exemplo) para uma adequação à alteração no ambiente.

PaaS significa plataforma como serviço. Uma solução PaaS pode criar uma infraestrutura virtual e instalar e gerenciar o software de banco de dados para você. Especifique os recursos necessários (com base no tamanho do banco de dados, no número de usuários e no desempenho exigido), e o Azure criará automaticamente as máquinas virtuais, as redes e outros dispositivos para você. Normalmente, é possível escalar verticalmente ou reduzir verticalmente (aumentar ou diminuir o tamanho e o número de recursos) de modo rápido, pois o volume de dados e a quantidade de trabalho realizado variam. O Azure faz o dimensionamento para você. Não é preciso adicionar ou remover manualmente as máquinas virtuais nem fazer outro tipo de configuração.

O Azure oferece várias soluções de PaaS para bancos de dados relacionais, incluindo o Banco de Dados SQL do Azure, o Banco de Dados do Azure para PostgreSQL, o Banco de Dados do Azure para MySQL e o Banco de Dados do Azure para MariaDB. Esses serviços executam versões gerenciadas dos sistemas de gerenciamento de banco de dados em seu nome. Você apenas se conecta a eles, cria seus bancos de dados e carrega os dados. No entanto, você pode descobrir que há algumas restrições funcionais em vigor e que nem todos os recursos do seu sistema de gerenciamento de banco de dados selecionados podem estar disponíveis. Essas restrições geralmente se devem a problemas de segurança. Por exemplo, elas podem não expor o sistema operacional subjacente e o hardware para seus aplicativos. Nesses casos, talvez seja necessário retrabalhar com seus aplicativos para remover qualquer dependência desses recursos.

A imagem abaixo ilustra os benefícios e as compensações ao executar um sistema de gerenciamento de banco de dados (nesse caso, o SQL Server) localmente, usando máquinas virtuais no Azure (IaaS) ou usando o Banco de Dados SQL do Azure (PaaS). As mesmas considerações generalizadas são verdadeiras para outros sistemas de gerenciamento de banco de dados.

Diagrama de várias opções de cargas de trabalho de banco de dados no Azure.