Os profissionais de bancos de dados desempenham um papel único na TI, mas raramente recebem o reconhecimento que merecem. Talvez seja por causa de sua natureza analítica. Talvez por se enquadrarem entre desenvolvedores e operações. Ou, para dizer a verdade, talvez seja porque a maioria das outras pessoas não entende de fato o que eles fazem.
Seja qual for o motivo, com frequência os administradores de bancos de dados (DBAs) se sentam sozinhos em um canto, isolados do resto da TI, com seu potencial de impacto ignorado. As organizações onde isso acontece (ou seja, a maioria das empresas) geralmente partem do pressuposto que a única função do DBA é manter as coisas funcionando. Quase sempre, a ordem que vem de cima é: “apenas não deixe que o banco de dados quebre nada, ok?”. Isso é um desperdício de oportunidade e de um recurso muito valioso, o que cria obstáculos para organizações de TI em toda a parte.
Como?
Considere o fato de que o banco de dados é o cerne de todos os aplicativos. Afinal de contas, a principal função da maioria dos aplicativos empresariais é armazenar e recuperar dados de um banco de dados. Pensando bem, desde CRM até e-mail e aplicativos de RH, todos são apenas front-ends de bancos de dados.
Agora, considere que o banco de dados costuma ser a parte mais complexa de qualquer aplicativo. Na verdade, para a maioria dos profissionais de TI que não trabalha com bancos de dados, estes são como caixas pretas. Poucos entendem os tempos de espera dos bancos de dados, seus bloqueios/desbloqueios, planos de execução e tudo que acontece dentro de um sistema de gerenciamento de banco de dados.
Embora o fato de que os bancos de dados sejam difíceis de expandir e manter seja bastante reconhecido, existe pouco entendimento das complexidades decorrentes de cargas de trabalho dinâmicas, crescimento, segurança dos dados, resiliência, consistência e desempenho, e de que essas funções são tão importantes quanto backups e atualizações. Por isso, não é de se surpreender que, de acordo com uma pesquisa da Gleanster, até 80% dos problemas de desempenho de aplicativos estejam relacionados ao banco de dados.
Com tudo isso em mente, a grande necessidade de romper a barreira entre os DBAs e o resto da TI – especialmente equipes de sistemas – torna-se bem aparente.
Como isso pode ser feito?
A primeira etapa é garantir que toda a TI, mas especialmente as equipes de bancos de dados e sistemas, comecem a operar em conjunto de acordo com um modelo centrado em aplicativos em que o desempenho do app seja a principal prioridade de todos. Afinal de contas, o desempenho do aplicativo é um dos fatores mais importantes para o sucesso geral de qualquer empresa. Na verdade, uma recente pesquisa da SolarWinds descobriu que 93% dos usuários finais da empresa consideram que o desempenho e a disponibilidade dos aplicativos afetam sua capacidade de realizar seu trabalho, sendo que 62% informam que são absolutamente críticos.
Tendências como nuvem e DevOps já estão começando a forçar todo o setor a prestar mais atenção ao desempenho do aplicativo voltado para o usuário final e ajudando a eliminar os silos entre DBAs, desenvolvedores e equipes de sistemas. O segredo do sucesso aqui é ter uma linguagem ou visão em comum com relação ao desempenho dos aplicativos. Isso dará a todos uma compreensão compartilhada não apenas do desempenho geral, mas do papel que cada elemento da pilha do aplicativo desempenha, especialmente o banco de dados.
Isso não deve surpreender ninguém que esteja familiarizado com a evolução da computação. Nas últimas décadas, várias tecnologias, desde o desenvolvimento orientado por objetos até serviços na Web e computação em nuvem, vêm representando uma marcha constante para sistemas distribuídos em que a interação entre os sistemas se tornou mais importante do que o desempenho de cada um dos componentes.
É verdade que, em sistemas, a corda sempre arrebenta do lado mais fraco, mas o desempenho do sistema em geral é afetado cada vez mais pela interação entre os elementos da pilha, muitos dos quais estão ficando cada vez mais temporários, sendo facilmente substituídos, expandidos e reiniciados em um mundo virtual. Com exceção dos bancos de dados, que, como observamos, continuam sendo o cerne dos aplicativos.
Em vez de gastar tempo localizando problemas em isolamento, o gerenciamento do desempenho de aplicativos de hoje exige essa visão completa da pilha. Isso reduz a atribuição de culpas e permite que diferentes equipes trabalhem em conjunto rumo à solução de problemas, em vez de apenas isentar sua área de competência da responsabilização.
Quando uma organização de TI chega a uma colaboração eficaz, cada membro passa a reconhecer a importância do banco de dados para o desempenho do sistema em geral e do DBA como uma das responsabilidades mais complexas na equipe.
É chegado o momento de nos unirmos e trabalharmos para construir aplicativos melhores e melhores organizações de TI. É hora de eliminar as barreiras e permitir que todos contribuam para o desempenho dos aplicativos.