Ao escolher um banco de dados para administrar sua organização, muitos fatores precisam ser considerados. Ele fornece o desempenho, a escala e a disponibilidade necessários? Oferece flexibilidade e eficiência ao dar suporte a todas as cargas de trabalho corporativas? Permite inovação com machine learning integrado, análise avançada e ferramentas de desenvolvimento de aplicações?
As organizações exigem um amplo conjunto de recursos em suas aplicações para fornecer o nível de serviço que seus clientes esperam em um ambiente de negócios em constante mudança. Decidir onde implementar os bancos de dados que dão suporte a um portfólio de aplicações é crucial, pois há vantagens e desvantagens para cada opção de implementação.
Ao decidir onde localizar os bancos de dados que sua organização precisa, é importante considerar o tipo de aplicação que cada banco de dados suporta, os fluxos de dados entre os bancos e as aplicações e o nível de criticidade de cada um. As principais aplicações corporativas precisam de níveis mais altos de desempenho, escala, disponibilidade e segurança. Independentemente do local onde esses bancos de dados são executados, eles devem fornecer recursos essenciais, incluindo:
Além desses recursos principais do banco de dados, a plataforma de implementação permite ou restringe como você pode usá-los. No entanto, os bancos de dados corporativos devem ter alta disponibilidade incorporada nos níveis de software e hardware para dar suporte a operações 24 horas por dia, 7 dias por semana. A recuperação de desastres também é essencial, principalmente quando se trata de organizações geograficamente dispersas e ameaças de ransomware. E, embora muitas pessoas possam ignorar isso, o alto desempenho é fundamental, pois permite que aplicações essenciais aos negócios suportem transações e análises de alto volume necessárias para dar suporte ao crescimento.
Por exemplo, uma empresa de varejo que precisa habilitar muitas transações de clientes e executar relatórios quase em tempo real com base em dados atuais pode escolher uma solução de banco de dados convergente na nuvem, enquanto um banco que exige o nível máximo de segurança e residência de dados pode precisar de uma solução em execução em seu próprio data center.
As empresas precisam analisar não apenas quais bancos de dados atendem melhor às suas necessidades, mas também onde implementá-los. Essas escolhas estão inter-relacionadas porque um banco de dados específico pode ser executado apenas em um local, ou a plataforma na qual ele é executado em um lugar é muito superior à disponível em outro. Uma maneira fácil de combinar isso é verificar se o banco de dados preferido pode ser executado nos locais desejados, por exemplo, na nuvem pública, em um data center privado, em uma nuvem dentro do data center ou em um ambiente de borda.
A implementação de bancos de dados em data centers de clientes oferece diversas vantagens. Os bancos de dados estão fisicamente próximos de outros sistemas, aplicações, recursos e usuários para que os dados possam ser acessados com baixa latência. Em um data center on-premises, os bancos de dados e a infraestrutura ficam totalmente sob controle do cliente, o que atende aos requisitos de residência de dados, bem como a muitas práticas recomendadas do setor. Algumas práticas comerciais também exigem o uso de um modelo financeiro de despesas de capital (CapEx), o que é facilitado pela implementação de recursos em data centers de clientes. Essa abordagem requer um administrador de banco de dados (DBA) para gerenciar a infraestrutura de hardware subjacente, bem como o banco de dados.
Há duas opções para essa abordagem:
Para muitas organizações, executar seus bancos de dados em uma nuvem pública é uma escolha atraente. Tem a vantagem de ser rápido de implementar, sem potencialmente nenhuma necessidade de capital inicial. Nuvens públicas também fornecem algum nível de infraestrutura e gerenciamento de software. A implementação em uma nuvem pública não requer nenhum investimento em espaço de data center, maquinário ou equipe de operações de hardware, o que pode reduzir custos. Além disso, os usuários podem criar bancos de dados em minutos, pois não há necessidade de instalar e gerenciar separadamente todos os componentes de hardware e software para executá-los. A abordagem de nuvem pública permite que os clientes aproveitem facilmente recursos adicionais ou diferentes ao longo do tempo, conforme as cargas de trabalho evoluem.
Ao usar uma nuvem pública, há diferentes abordagens que as organizações podem adotar e diferentes contrapartidas para cada uma delas. Essas diferentes abordagens estão sendo implementadas em ambientes de Infraestrutura como Serviço (IaaS), Plataforma como Serviço (PaaS), multicloud, nuvens públicas em data centers de clientes e nuvens privadas.
Uma abordagem é criar um ambiente de banco de dados na nuvem em infraestrutura bare metal ou virtualizada e, então, gerenciar essa infraestrutura como se estivesse on-premises. Isso permite que a infraestrutura seja adaptada exatamente como desejado e elimina a necessidade de gerenciar hardware e, potencialmente, software de virtualização. É necessário tempo significativo de DBA e experiência em gerenciamento de sistemas para administrar essa implementação de forma contínua.
Há razões específicas para escolher essa abordagem:
A implementação de bancos de dados em ambientes IaaS pode ser melhor para organizações que usam bancos de dados altamente especializados, especialmente aqueles que são pequenos, com pouca probabilidade de crescimento e fortemente integrados às aplicações.
Também conhecido como banco de dados como serviço (DBaaS), esse tipo de serviço de nuvem fornece o software de computação e armazenamento que os clientes precisam para executar um banco de dados. Alguns desses serviços eliminam a necessidade de os DBAs configurarem ou gerenciarem hardware físico, instalarem software ou configurarem o banco de dados. Um ambiente DBaaS permite que os usuários provisionem bancos de dados em questão de minutos, elimina o trabalho de gerenciamento do sistema e geralmente reduz a quantidade de administração de banco de dados necessária. Existem várias opções para implementar bancos de dados em um ambiente DBaaS:
Dentro das abordagens de banco de dados convergente e autônomo, as organizações podem usar vários tipos diferentes de infraestrutura:
Além da escolha de implementação, as opções de banco de dados convergentes e autônomos podem ser ajustadas para oferecer suporte a tipos específicos de cargas de trabalho e, ao mesmo tempo, oferecer suporte a todas as demais. Alguns desses tipos de carga de trabalho incluem:
A implementação de bancos de dados em ambientes PaaS pode ser melhor para organizações que desejam minimizar as operações de infraestrutura e gerenciamento de banco de dados ou que buscam reduzir os custos gerais ao consolidar a infraestrutura de centenas a milhares de bancos de dados. Bancos de dados autônomos em ambientes PaaS trazem o benefício adicional de praticamente eliminar o gerenciamento de banco de dados em si, permitindo que as equipes se concentrem em esquemas, dados e usuários em vez do software de banco de dados subjacente.
Grandes empresas que precisam executar centenas de aplicações descobriram que é melhor utilizar várias nuvens. Para algumas necessidades comerciais, a solução que fornece mais funcionalidade, maior desempenho e menor custo pode exigir a distribuição da aplicação e da pilha de banco de dados em várias nuvens no que é conhecido como ambiente multicloud.
Em ambientes multicloud, é comum que a camada da aplicação seja executada em uma nuvem (possivelmente porque ela só é executada lá), enquanto a do banco de dados é executada em uma nuvem diferente que fornece maior desempenho, maior escala ou custos mais baixos do que a nuvem onde está a camada da aplicação. Em ambientes multicloud, é essencial que os data centers de nuvem de cada provedor estejam localizados relativamente próximos uns dos outros para minimizar a latência que pode reduzir o desempenho da aplicação.
Também é importante que diferentes fornecedores de nuvem usados em uma arquitetura multicloud tenham um relacionamento estratégico com políticas de suporte comuns para identificar e resolver quaisquer problemas que surjam e para minimizar os custos de saída de dados para cada nuvem.
A implementação de bancos de dados em um ambiente multicloud pode ser melhor para organizações que precisam de um banco de dados corporativo (ou talvez autônomo) de alto desempenho e precisam ser capazes de usar aplicações que não estão prontamente disponíveis na mesma nuvem.
Muitos requisitos comerciais ou regulamentações governamentais exigem que os dados de uma empresa permaneçam dentro de seu data center ou dentro dos limites geográficos do país em que residem. Para atingir esses objetivos, as organizações podem implementar recursos de nuvem pública dentro do seu data center, com o provedor gerenciando a infraestrutura e, dependendo do serviço, os bancos de dados. Essa abordagem fornece o valor e os benefícios da nuvem, incluindo um serviço baseado em assinatura de nuvem pública que atende aos requisitos de residência e segurança de dados. Esse modelo de nuvem local como assinatura (LCaaS) fornece o gerenciamento automatizado que a nuvem oferece, além de alto desempenho de infraestrutura dedicada e benefícios de eficiência da consolidação. Os clientes podem aumentar ou diminuir seu consumo conforme as cargas de trabalho mudam durante o dia ou ao longo do tempo. A implementação de um serviço de nuvem pública em data centers de clientes oferece muitas vantagens, incluindo:
Algumas dessas soluções permitem a implementação de um banco de dados autônomo em recursos de nuvem pública em data centers de clientes, possibilitando que as organizações se beneficiem do dimensionamento automatizado, provisionamento, aplicação de patches e gerenciamento de falhas que esses bancos de dados fornecem. Esses recursos avançados de automação aumentam a disponibilidade e a segurança dos dados, eliminando erros humanos e reduzindo custos por meio do consumo por uso.
A implementação de bancos de dados em recursos de nuvem pública em data centers de clientes é melhor para organizações que têm requisitos de residência e segurança de dados que não podem ser atendidos em regiões de nuvem pública. Essa abordagem também pode ser melhor para empresas que desejam se beneficiar da automação da nuvem e dos preços de banco de dados com pagamento por uso, enquanto ainda executam aplicações em recursos existentes em seus data centers.
Historicamente, os bancos de dados eram implementados em infraestrutura compartilhada em data centers de clientes. Essa infraestrutura executava aplicações, middleware e bancos de dados em uma infraestrutura projetada para bom desempenho e disponibilidade, mas era cara e não oferecia nenhuma otimização de desempenho específica para banco de dados.
Mais recentemente, essa abordagem compartilhada deu lugar ao conceito de uma nuvem de banco de dados privada, onde uma infraestrutura dedicada on-premises é ajustada especificamente para executar bancos de dados de forma otimizada. Essas nuvens de banco de dados privadas são de propriedade e gerenciadas pela empresa que as utiliza, o que tem a vantagem de permitir níveis extremamente altos de consolidação de banco de dados com várias versões em execução na mesma infraestrutura. Essas plataformas têm altos níveis de automação integrada para garantir que cada banco de dados obtenha os recursos necessários para atender aos SLAs de desempenho, ao mesmo tempo em que priorizam atividades sensíveis à latência para aplicações críticas para ajudar a garantir que elas sejam executadas com o mais alto desempenho possível.
Executar bancos de dados em uma nuvem privada pode ser a melhor abordagem para organizações com altos níveis de personalização e interconectividade de bancos de dados e aplicações. Para a maioria das aplicações, nuvens de bancos de dados privadas parecem indistinguíveis de implantações de bancos de dados on-premises legados, portanto, adotá-las pode ser a abordagem mais fácil para começar a migrar para a nuvem.
Na maioria das organizações, não é uma escolha entre implementar bancos de dados na nuvem ou em seus próprios data centers: elas fazem as duas coisas e precisam que os dois ambientes funcionem juntos. Há muitos cenários em que os clientes precisarão implementar em ambientes de nuvem híbrida. Por exemplo, muitas empresas desenvolvem aplicações em um local e os implementam em outro. Ou uma empresa pode ter aplicações que dão suporte a operações remotas em execução na nuvem pública, enquanto operações centralizadas são executadas em seus data centers.
Para minimizar as cargas de trabalho de TI, um dos principais requisitos para implementar bancos de dados em ambientes de nuvem híbrida é que o software de banco de dados e o hardware em que ele é executado forneçam os mesmos recursos, gerenciamento e segurança em todos os ambientes. Ambientes com altos níveis de equivalência reduzem a quantidade de esforço necessária para mover bancos de dados e aplicações para locais diferentes e gerenciá-los de maneira consistente.
As organizações precisam selecionar um provedor de nuvem que ofereça uma solução completa e integrada, com um amplo conjunto de recursos de banco de dados convergentes e altos níveis de identidade de infraestrutura que permitam a implementação onde for necessário. Essa solução ajuda a garantir que as organizações possam atender aos requisitos de flexibilidade, escalabilidade e crescimento, mantendo os custos baixos.