Um manual sobre os três principais desafios enfrentados pelos DBAs modernos e como superá-los
Os bancos de dados são o cerne dos aplicativos e um componente vital das operações das empresas. E os administradores de bancos de dados (DBAs) estão sob uma intensa pressão e responsabilidade para assegurar um alto desempenho com mínimo tempo de inatividade, ao mesmo tempo que enfrentam muitos desafios.
A seguir, apresentamos uma visão geral de três desses desafios que os DBAs de hoje enfrentam à medida que as cargas de trabalho continuam a aumentar e a complexidade dos bancos de dados se eleva, juntamente com recomendações para ajudar a superar cada um deles. Os desafios são:
· Mudança da TI para uma abordagem centrada em aplicativos
· Introdução de várias plataformas de bancos de dados
· Gerenciamento de dados, não somente nas instalações, mas também na nuvem
Mudança da TI para uma abordagem centrada em aplicativos
No cerne de quase todo aplicativo existe um banco de dados. Isso significa que, quando surge um problema de desempenho ou disponibilidade de um aplicativo, é bastante provável que esteja associado ao desempenho do banco de dados subjacente. O desempenho dos bancos de dados afeta clientes e usuários, que têm pouca paciência com problemas de aplicativos (uma pesquisa recente da SolarWinds sobre necessidades e expectativas relacionadas ao desempenho de aplicativos constatou que 71% dos usuários finais brasileiros afirmam esperar que a TI solucione esse tipo de problema em uma hora ou menos). Uma pesquisa recente da Gleanster também constatou que 88% dos profissionais de TI consultados consideram o banco de dados como o desafio ou problema mais comum com o desempenho dos aplicativos. Além disso, a nuvem, o DevOps e outras mudanças tecnológicas estão voltando mais o foco de todo o departamento de TI para os aplicativos. Afinal, os aplicativos são o que importa para a empresa e para os usuários finais. Isso significa que os DBAs estão sendo responsabilizados pelo desempenho dos aplicativos, e não apenas pelo desempenho dos bancos de dados.
Para proporcionar um melhor desempenho dos aplicativos, os DBAs devem levar em conta as seguintes dicas:
· Seja proativo e alinhe-se com a experiência do usuário final como objetivo compartilhado entre toda a organização de TI, monitorando o desempenho dos aplicativos e o impacto dos bancos de dados sobre eles continuamente, e não apenas quando ele se torna um grande problema.
· Avalie o desempenho não da perspectiva dos recursos de infraestrutura, mas dos tempos de espera enfrentados pelo usuário final. A análise do tempo de espera oferece aos DBAs uma visão do que os usuários finais e os bancos de dados estão aguardando, o que proporciona uma visibilidade clara dos congestionamentos.
· Implemente ferramentas de monitoramento que ofereçam visibilidade de toda a pilha de aplicativos, incluindo toda a infraestrutura em suporte ao banco de dados – camadas de virtualização, servidores de bancos de dados, hosts, sistemas de armazenamento, redes etc.
· Estabeleça linhas de base históricas do desempenho dos aplicativos e bancos de dados que indiquem como foi o desempenho dos aplicativos no mesmo dia e horário na semana anterior e na semana antes dela, para detectar quaisquer anomalias antes que se tornem um problema maior.
Introdução de várias plataformas de bancos de dados
De acordo com um relatório de 2015, a maioria dos DBAs é responsável por várias tecnologias de bancos de dados de diversos fornecedores, entre as quais as mais comuns são Oracle, SQL Server e MySQL. Na realidade, mais de um quarto (28%, para ser exato) dos DBAs gerenciam 26 a 100 bancos de dados simultaneamente. Esse impulso em direção à diversidade de bancos de dados e à eficiência dos DBAs leva a uma função cada vez mais complexa do DBA, que deve se adaptar a plataformas de bancos de dados que não são familiares a ele, ao mesmo tempo que assume mais responsabilidade pelo sucesso da empresa.
As seguintes práticas recomendadas podem ajudar os DBAs a gerenciar melhor várias plataformas de bancos de dados em um único ambiente de TI:
· Tenha um conjunto de metas, métricas e SLAs em comum entre todos os bancos de dados, idealmente baseado nos tempos de resposta dos aplicativos, não apenas no tempo de atividade.
· Use ferramentas que forneçam um único painel de desempenho e a capacidade de fazer buscas detalhadas em diferentes tecnologias de bancos de dados e métodos de implantação, incluindo a nuvem.
· Documente um conjunto consistente de processos para assegurar a integridade e a segurança: processos de backup e restauração, criptografia em repouso e em trânsito, detecção de anomalias e potenciais eventos de segurança em logs, para mencionar apenas alguns.
· Estabeleça uma estratégia, um mapa e diretrizes para passar (ou não) para a nuvem e para reduzir os custos da carga de trabalho pela transferência dos bancos de dados para versões com custo de licença mais baixo ou alternativas de código aberto.
· Verifique se os membros da equipe podem sair do modo de combate a incêndios e passar tempo suficiente otimizando proativamente o desempenho dos bancos de dados e cuidando de tarefas importantes de manutenção, o que pode resultar em economias significativas nos custos e na prevenção de problemas no futuro.
Gerenciamento de dados, não somente nas instalações, mas também na nuvem
Com sua promessa de economia de custos e maior flexibilidade e agilidade, a nuvem está atraindo muitas organizações como uma alternativa para a implantação de novos aplicativos, incluindo aqueles com altos requisitos de desempenho de banco de dados. Na verdade, a empresa de pesquisa tecnológica TechNavio prevê uma taxa de crescimento anual de 62% dos bancos de dados baseados na nuvem até 2018. Entretanto, essa transição cria novas complexidades e desafios para os DBAs, especialmente porque os DBAs ainda são, em última análise, os responsáveis tanto pelo desempenho dos bancos de dados quanto pela segurança dos dados, independentemente de eles estarem nas próprias instalações ou na nuvem.
Apresentamos aqui alguns conselhos para o gerenciamento dos dados na nuvem que os DBAs devem ter em mente:
· Ao considerar quais bancos de dados passar para a nuvem, leve em conta o processo de transferência de dados e a latência, além de como manter os bancos de dados em sincronia, se necessário, especialmente se for preciso integrar os aplicativos com outros que não residam na mesma implantação na nuvem.
· Um banco de dados com desempenho insatisfatório nas instalações também apresentará um mau desempenho na nuvem. Mudar o problema de lugar não é solução. O escalonamento na nuvem para compensar um mau desempenho pode sair caro rapidamente, além de ser a abordagem incorreta.
· Entenda os serviços e as capacidades do provedor de serviços, conheça seus SLAs, avalie sua arquitetura recomendada e esteja atento à manutenção programada.
· Reflita, planeje e gerencie o backup e recuperação para garantir que dados importantes não sejam perdidos caso ocorra uma falha ou interrupção no fornecedor.
· Mantenha-se à frente da segurança, percebendo que a criptografia é apenas a ponta do iceberg – considere quem monitorará o acesso ao banco de dados impedindo o acesso mal-intencionado ou não autorizado, prepare-se para o pior e tenha um plano de ação documentado para o caso de violação da segurança ou perda de dados.
· Se é importante monitorar e otimizar as implantações nas instalações, isso é ainda mais importante na nuvem, dada sua natureza dinâmica, sendo ideal usar um conjunto de ferramentas consistente em ambos os lados dos ambientes de TI híbrida.
Embora mudar para uma abordagem ao gerenciamento de bancos de dados centrada em aplicativos, gerenciar vários bancos de dados e gerenciar dados não apenas nas instalações, mas também na nuvem sejam desafios indiscutíveis enfrentados pelos DBAs no panorama atual da evolução dos bancos de dados, esses desafios não são insuperáveis. Prestando atenção às práticas recomendadas aqui descritas, os DBAs podem superar esses desafios e garantir o sucesso