Database Reliability Engineenrig com João Cosme • Tech Leadership Rocks • Escola Forja
Tech Leadership Rocks · #EP 174
Capa do episódio Database Reliability Engineenrig com João Cosme

Database Reliability Engineenrig com João Cosme

JC
João Cosme

18 de fevereiro de 2024 · 1 hora e 1 minuto

Episódio

#174

Neste episódio Edu Matos recebe o João Cosme, um engenheiro de confiabilidade de banco de dados (DBRE) que já atuou em grandes empresas como iFood e Adyen, para discutir o papel e os desafios de manter a confiabilidade dos bancos de dados, o conceito de DBRE como um framework, problemas em produção envolvendo bancos de dados, incidentes entre outros assuntos relacionados.

Sem um SLO, você não tem clareza sobre o que precisa provar. Um SRE sem SLO é como um tigre sem dentes.

— João Cosme, EP #174

Show Notes

Episódios Relacionados

Resumo do episódio

Diferença entre DBA e DBRE

Uma das confusões que as pessoas fazem é sobre a diferença entre as funções de DBA (Database Administrator) e DBRE (Database Reliability Engineer). Enquanto o DBA foca na administração de bancos de dados e em tarefas técnicas como backups e otimização de desempenho, o DBRE tem uma abordagem mais ampla e voltada para serviços.

O DBRE combina conhecimentos em bancos de dados com princípios de engenharia de confiabilidade, garantindo que os serviços operem com segurança e eficiência. Essas funções são complementares e, frequentemente, trabalham juntas dentro de equipes multidisciplinares alinhadas à cultura DevOps.

Quando uma empresa precisa de um DBRE

Nem todas as organizações precisam de um DBRE desde o início. O papel se torna essencial à medida que a empresa escala e precisa garantir a confiabilidade de serviços complexos. Por exemplo, em startups menores, o DBA pode suprir as necessidades iniciais. No entanto, em cenários com centenas de desenvolvedores, como em grandes plataformas tecnológicas, o DBRE é fundamental para criar ferramentas e soluções que agilizem o trabalho dos times de desenvolvimento.

Princípios e frameworks do DBRE

O DBRE segue princípios claros, baseados em frameworks como o descrito no livro “Database Reliability Engineering”. Esse framework inclui práticas e conceitos para projeto, operação e manutenção de sistemas de armazenamento de dados, sempre com foco em confiabilidade.

Uma analogia interessante é a hierarquia de Maslow aplicada ao DBRE. Em sua base está a sobrevivência, garantindo backups e recuperação de desastres. No topo, está a “auto-realização”, onde a infraestrutura do banco de dados é uma plataforma que permite experimentações seguras e avanços rápidos sem comprometer a estabilidade.

Incidentes comuns com bancos de dados e como evitá-los

Mudanças no schema do banco de dados são uma das principais causas de incidentes. Casos de migrações mal planejadas podem levar a downtime significativo ou até perda de dados. Outras situações frequentes incluem excesso de conexões simultâneas, falta de mecanismos de failover e problemas na infraestrutura de nuvem.

Para mitigar esses problemas, é importante seguir algumas boas práticas, como:

  • Automatizar processos de migração sempre que possível, mas com supervisão de especialistas.
  • Implementar ferramentas de monitoramento e observabilidade para identificar falhas rapidamente.
  • Garantir que SLOs (Service Level Objectives) sejam definidos e usados como guia para desenhar soluções.

Bancos relacionais vs não-relacionais

A escolha entre bancos de dados relacionais e não relacionais depende dos requisitos do sistema e das expectativas dos usuários. Bancos relacionais, como o PostgreSQL, oferecem maior durabilidade e são mais indicados para sistemas que exigem consistência e transações complexas.

Por outro lado, bancos não-relacionais, como o MongoDB, podem ser mais adequados para aplicações que priorizam alta disponibilidade e escalabilidade horizontal. No entanto, o DBRE precisa estar preparado para lidar com ambos e garantir que estejam alinhados aos objetivos de negócio.

Conclusão

Tornar-se um DBRE exige uma combinação de habilidades em bancos de dados, programação e engenharias de sistemas. Além disso, criatividade e a capacidade de resolver problemas de forma proativa são essenciais. Para aqueles interessados na área, livros como “Database Reliability Engineering” e “Release It!” são excelentes pontos de partida.

Se você busca aprofundar seus conhecimentos ou explorar uma transição para essa carreira, o DBRE é uma área em crescimento que oferece desafios e oportunidades únicas.

Aprofunde seu conhecimento em SRE no treinamento de Liderança Técnica Estratégica com o Alexander Jardim na Escola Forja.

Crie uma conta gratuita ou faça login para ler o resumo completo deste episódio.