Os bancos de dados são a espinha dorsal de qualquer organização moderna. Até mesmo as menores empresas armazenam informações sobre vendas, registros de funcionários e informações de produção, todas as quais são essenciais para qualquer decisão organizacional. O Fórum Econômico Mundial estima que, até 2025, 463 exabytes de dados serão gerados a cada dia globalmente. Portanto, o banco de dados é essencial para o futuro da economia digital.
As organizações que reagem a esse crescimento abrupto de dados produziram várias plataformas de banco de dados, amplamente categorizadas como soluções de banco de dados como serviço (DBaaS, Database as a Service) ou do tipo faça você mesmo (faça você mesmo).
Neste artigo, compararemos essas duas abordagens para determinar qual é a maneira mais econômica de atender às necessidades de banco de dados da sua organização.
Limitações de uma abordagem do tipo faça você mesmo
Uma plataforma de banco de dados faça você mesmo é personalizada para atender às necessidades específicas de manipulação de dados estruturados de uma organização ou de seus parceiros. Ao usar uma solução de banco de dados faça você mesmo, você tem controle dos servidores físicos e é responsável pelo projeto e planejamento do banco de dados, configuração, integração, equipe e manutenção.
Embora o controle adicional possa ser atraente, a complexidade adicional pode se tornar um fardo ao atualizar o banco de dados. Uma configuração faça você mesmo exigirá recursos adicionais de CAPEX e OPEX, como servidores, um novo design de topologia e mais desenvolvedores e equipe de suporte para preparar a capacidade necessária do banco de dados. À medida que sua organização cresce, também cresce o custo e a complexidade do seu banco de dados e sua integração.
É essencial examinar cuidadosamente os custos de uma abordagem faça você mesmo e ponderar suas limitações em relação ao benefício de maior controle, especialmente quando algumas soluções de DBaaS têm recursos de personalização que atendem às necessidades de todas as configurações personalizadas, menos as mais específicas.
Vamos examinar algumas das características de um modelo de banco de dados faça você mesmo.
Custo de desenvolvedores experientes e capacitados
Criar, implantar e manter um sistema de banco de dados como serviço requer desenvolvedores com habilidades especializadas em codificação, engenheiros de rede e equipe de suporte de TI. Os custos associados a esses especialistas são menos previsíveis e geralmente muito maiores do que um nível equivalente de serviço de um DBaaS. Em um modelo de DBaaS, sua organização transfere custos inesperados para o provedor do banco de dados, que pode ajudar a simplificar as configurações e a manutenção dos bancos de dados.
As considerações da equipe de terceirização também evitam o desafio da retenção de funcionários no mercado de desenvolvedores de software altamente competitivo. Desenvolvedores com conjuntos de habilidades especializadas são frequentemente incentivados a se mover entre empregadores, e identificar desenvolvedores experientes que optam por permanecer dedicados à sua organização ou projeto pode ser desafiador.
A perda de um desenvolvedor no meio de um projeto crítico pode impor um grande ônus financeiro à sua empresa, tanto conforme o projeto é atrasado quanto conforme a organização trabalha para encontrar um substituto. Um provedor de DBaaS geralmente é menos dependente de indivíduos, pois sua equipe é mais especializada como um todo e os problemas de retenção não se propagam para os clientes. Assim, sua organização desfruta de uma separação do mercado especializado hipercompetitivo, e o provedor de serviços assume a responsabilidade de contratar e substituir desenvolvedores.
Tempo é dinheiro
Outro desafio significativo inerente a qualquer DBaaS faça você mesmo, ou a qualquer sistema proprietário, é o aumento do custo do tempo de desenvolvimento. Configurar uma solução faça você mesmo requer um investimento considerável de tempo. Ela exige projetar, planejar e configurar um novo sistema de baixo para cima. Isso também exige a implementação física do sistema.
As considerações comuns inerentes a qualquer configuração de banco de dados, como regras sobre quem pode acessar o banco de dados, quem executará backups, quem instalará atualizações de software e quem aplicará patches no sistema operacional em execução em seus servidores, ficam especialmente envolvidas na montagem de uma plataforma de banco de dados desde o início. Mesmo ao incorporar componentes prontos para uso, o desenvolvimento de uma plataforma exclusiva exige mais design, planejamento e, criticamente, muito mais testes do que uma solução estabelecida. Sem um registro operacional existente e especialistas para consultar, até mesmo a fase de teste usual pode estender seu ciclo de desenvolvimento além do que é aceitável.
Uma solução faça você mesmo também exige despesas gerais organizacionais adicionais. Você precisa de aprovação para financiar o desenvolvimento e criar uma equipe ou departamento para treinar e apoiar os usuários finais da sua organização. Esse processo tem o potencial de introduzir atrasos burocráticos conforme você enfrenta gargalos na aprovação executiva.
Esse desenvolvimento extra consome tempo e mão de obra que sua empresa poderia dedicar ao seu produto. Se você está pensando em criar sua própria solução, vale a pena pesquisar cuidadosamente se o trabalho para desenvolver essa infraestrutura (que muitas vezes precisa ser funcional antes que o desenvolvimento do produto possa começar) vale a pena a perda de recursos dedicados a atender às necessidades dos clientes.
Manutenção e resposta a incidentes
A implementação de uma plataforma faça você mesmo também envolve dedicar atenção à manutenção de todos os recursos associados. O aumento das demandas por memória e capacidade de processamento e a complexidade da infraestrutura de alocação de recursos apresentam um aumento óbvio nas despesas. Esses recursos também exigem atenção à segurança.
Usar uma solução de banco de dados personalizada torna a solução de problemas e a resposta a incidentes a responsabilidade do departamento de TI. Considerando que a violação média de dados em 2021 custou pouco menos de US$ 4,25 milhões e que 16% das violações em 2020 foram atribuídas a dificuldades com financiamento ou adesão executiva para medidas de segurança de TI, não podemos ignorar as possíveis vulnerabilidades que as soluções de faça você mesmo apresentam. Além de prejudicar a funcionalidade operacional da sua organização e prejudicar sua reputação, uma violação de dados também pode envolver sua organização em uma batalha legal.
Manter o acesso adequado à infraestrutura básica e crítica também se torna mais complicado em uma configuração faça você mesmo. O gerenciamento de acesso físico se torna relevante para a equipe de suporte de TI. E, em alguns casos, até mesmo garantir fornecimento de energia uniforme pode se tornar responsabilidade da sua organização.
As soluções de DBaaS gerenciadas e pré-criadas podem ajudar a aliviar a organização de determinados componentes que desempenham um papel nessas preocupações, como manutenção, habitação física e custos de resposta a incidentes.
Custo de manter-se atualizado
Depois dos custos iniciais de desenvolvimento, uma empresa que hospeda e gerencia sua própria plataforma de banco de dados deve levar em conta uma despesa sustentada final: o custo de não ficar para trás na tecnologia. Manter todo o seu pacote de software de gerenciamento de banco de dados torna-se um exercício para “capturar a nuvem”, especialmente em arquiteturas híbridas ou de nuvem.
À medida que sua organização continua a crescer e novas tecnologias surgem, você precisará manter o software e o hardware atualizados, software para se manter à frente em um campo e hardware em rápido desenvolvimento para acompanhar as crescentes demandas de seu software e clientes. Essas atualizações não são apenas uma questão de acompanhar as tendências. Como o aumento da década passada em violações de dados demonstrou, a corrida armamentista de cibersegurança provavelmente se intensificará conforme a economia global mudar para a nuvem.
Considerações sobre o modelo de banco de dados como serviço (DBaaS, Database-as-a-Service)
Ao contrário do modelo faça você mesmo, o modelo DBaaS oferece uma solução de banco de dados mais simples. Ao usar o DBaaS, você tem um banco de dados sem pagar para projetar e gerenciar o software que o executa. Dependendo do nível de personalização necessário, isso pode reduzir consideravelmente o tempo de desenvolvimento de um produto viável.
Segurança terceirizada
Embora a segurança continue sendo uma grande preocupação para as organizações que usam soluções de DBaaS, ela apresenta um aspecto diferente para os profissionais. Bloquear seu banco de dados é menos sobre conhecimento técnico e investimento de pilha completa e mais sobre confiança e parceria com um especialista estabelecido.
Em vez de projetar o sistema da frente para trás, você assume parte de uma responsabilidade compartilhada em que o trabalho da sua organização é limitado apenas ao seu aplicativo e sua interface com o banco de dados. Você pode confiar na reputação e na especialização do fornecedor para gerenciar o restante da pilha. Como uma organização externa desenvolveu as soluções de banco de dados, há integrações e desenvolvimento no back-end.
Essa falta de desenvolvimento raramente é uma perda para sua organização, pois os provedores são altamente especializados. Mas vale a pena se familiarizar com os protocolos do seu provedor e com o papel da sua organização no tratamento ético e seguro dos dados dos clientes. Algumas soluções de DBaaS também podem permitir que o cliente “traga sua própria infraestrutura”, de modo que os dados não precisem deixar seu datacenter para um tipo de solução de DBaaS híbrida e especializada na qual você ainda ganha a eficiência de descarregar conhecimento específico de banco de dados, tempo de execução, manutenção e muito mais.
Pronto para uso, pronto para adaptação
Uma grande variedade de provedores oferece soluções prontas para minimizar o investimento de tempo e o impacto fiscal do desenvolvimento de novos produtos e serviços. Cada provedor pode ter uma equipe dedicada de profissionais trabalhando para manter suas soluções de banco de dados como serviço, e o custo de assinatura mais previsível inclui upgrades, instalações e configurações totalmente gerenciados.
É claro que o poder de “definir e esquecer” muitas vezes limita a flexibilidade. Se você precisar de um design não convencional, nem sempre é fácil personalizar seu plano de serviços para o mesmo nível de granularidade que poderia alcançar construindo-o você mesmo, embora alguns provedores permitam níveis de personalização e tentação para essas necessidades.
Provedores de plataformas modernas estabelecidas, como a Portworx®, oferecem opções de personalização suficientes para fornecer soluções personalizadas para a maioria dos casos de uso. Uma plataforma capaz deve oferecer recursos como monitoramento, backups, alta disponibilidade (HA, High Availability), expansão automática e opções de segurança robustas, preenchendo a lacuna entre produtos prontos e personalizados. Você também pode usar essas plataformas para aplicativos personalizados ou como parte de uma prática recomendada padronizada.
Conclusão
Ao decidir entre soluções de faça-você-mesmo e DBaaS para o modelo de banco de dados da sua organização, é essencial examinar cuidadosamente toda a vida útil do banco de dados em busca de custos ocultos. Fatores como segurança ou custos de equipe afetarão significativamente a eficácia e a produtividade da sua organização, portanto, certifique-se de combinar seu modelo de banco de dados com os recursos e necessidades atuais e futuras da sua organização.
Se você decidir usar um DBaaS, considere a Portworx Data Services (PDS) por sua flexibilidade, poder e posição como a primeira plataforma de DBaaS do setor para Kubernetes. O PDS permite que os engenheiros de DevOps implantem e gerenciem serviços de dados de nível de produção e oferece amplos recursos de personalização para aplicativos executados em qualquer nuvem, com baixo custo ou como parte de um sistema seguindo as práticas recomendadas padronizadas.
O PDS oferece gerenciamento e suporte totalmente automatizados para um amplo catálogo de serviços de dados, como Postgres, Cassandra, Kafka, ZooKeeper, RabbitMQ e Redis. Confira a documentação da Portworx para saber mais sobre o uso de uma opção de DBaaS.