
SRE como evolução do nexo entre equipes de Dados e Desenvolvimento
O modelo vigente em operações que contavam com infraestruturas on-premise foi o seguinte: o Administrador de Banco de Dados (DBA) operava como o guardião da infra de banco, um intermediário único entre as equipes da operação, de forma que, quando o desenvolvimento passava os requisitos, cabia ao DBA provisionar e investigar tickets abertos quando algo quebrava em seu ambiente. Entretanto, na atual conjuntura de Cloud, microsserviços e entregas contínuas, o modelo, que antigamente foi a regra, mostra-se ineficiente e um verdadeiro gargalo para a agilidade da operação.
Quando o DBA atrasa no provisionamento e o diagnóstico demora a ser feito, e esses fatores comuns são somados a fricção entre as equipes, temos a combinação perfeita para gerar barreiras contínuas à inovação. Nesse contexto, a solução que provavelmente veio primeiro a sua mente foi aumentar a quantidade de DBAs atuantes na empresa, assim as demandas seriam atendidas mais rápido e os resultados mais eficientes, contudo uma mudança de abordagem estrutural mostra-se mais eficiente no longo prazo – afinal não é viável ficar aumentando a equipe como se mais força bruta fosse resolver todos os problemas do mundo.
Assim, é neste ponto que os princípios de Engenharia de Confiabilidade de Site (SRE), os quais foram popularizados pelo Google, oferecem um caminho factível para maior eficiência de sua operação nos dias atuais – a era da nuvem e da IA. Em primeira análise, a filosofia SRE lida com os problemas de operaçães como problemas de engenharia de software, a serem resolvidos com automação, dados e código. Portanto, a implementação dos princípios de SRE na camada de dados da operação cria uma nova disciplina: a Engenharia de Confiabilidade de Dados (DBRE).
Este guia não é apenas conceitual; é um plano de ação prático para que Tech Leads e gestores possam iniciar a jornada de transformação de sua gestão de dados, rumo a uma operação escalável e com alta confiabilidade.
Passo 1: do Administrador ao Engenheiro
No primeiro momento, antes de implementar qualquer ferramenta de monitoramento ou observabilidade – como o prórpio dbsnOOp -, o SRE no banco de dados exige uma alteração no modus operandi do DBA: é preciso mover a mentalidade da equipe de banco de “administradores” para “engenheiros”.
- Transformando os intermediários para o Banco de Dados em Parceiros Integrados na operação como um todo: O DBRE não espera por tickets pois está integrado nas squads de desenvolvimento. Ele participa das reuniões de planejamento, revisa o código de acesso a dados e colabora na arquitetura de novas funcionalidades e atualizações da aplicação. A responsabilidade pela performance e confiabilidade do banco de dados se torna compartilhada entre desenvolvimento e operações.
- Ter automatização de tarefas manuais como padrão operacional: O instinto do DBA costuma ser resolver problemas manualmente. A mentalidade do DBRE é: “Eu resolvi este problema manualmente uma vez, agora vou escrever um código ou uma automação para garantir que ninguém nunca mais precise resolvê-lo manualmente.” Cada incidente é uma oportunidade para melhorar o sistema, não apenas para consertá-lo. Dessa forma se obtém uma máquina mais azeitada em sua operação, com arestas mais aparadas. Os mínimos detalhes somam-se para formar um todo mais eficiente.
- Decisões Orientadas por Dados em detrimento das Opiniões: Discussões sobre performance deixam de ser baseadas em “eu acho que esta query está lenta” e passam a ser baseadas em dados objetivos e diretos. Todas as decisões sobre priorização, deploys e otimização são guiadas por métricas claras e acordadas por todos: os SLOs.
O gestor tem a tarefa de comunicar a nova visão para a equipe e fornecer apoio e espaço para o desenvolvimento de novos frameworks que permitem a operação integrada e automatizada entre os setores.
Passo 2: Definição de Indicadores e Objetivos de Nível de Serviço (SLIs/SLOs)
Ademais, mostra-se fundamental a definição imediata de SLIs e SLOs, neles reside o core do SRE. É impossível gerenciar a confiabilidade objetivamente se não existem métricas a serem medidas e acompanhadas.
- O Que é um SLI (Service Level Indicator)? Um SLI é uma medida quantitativa de um aspecto do seu serviço – uma métrica bruta. Para um banco de dados, os SLIs não devem ser métricas de infraestrutura (como CPU), mas sim métricas que reflitam a experiência do usuário (ou do serviço consumidor).
- Exemplos de SLIs de Latência: A latência do 95º ou 99º percentil (p95/p99) da query de login; a duração da transação de checkout.
- Exemplos de SLIs de Disponibilidade: A porcentagem de sucesso das tentativas de conexão ao endpoint do banco de dados.
- Exemplos de SLIs de Frescor de Dados: O atraso de replicação (replication lag) de uma réplica de leitura em segundos.
- O Que é um SLO (Service Level Objective)? Um SLO é a meta que você define para um SLI. É uma declaração de confiabilidade acordada com seus stakeholders (sejam eles clientes internos ou externos).
- Exemplos de SLOs:
- “99.9% das queries de login devem executar em menos de 200ms ao longo de um período de 28 dias.”
- “O endpoint do banco de dados de produção deve ter uma taxa de sucesso de conexão de 99.99%.”
- “O atraso de replicação para a réplica de relatórios não deve exceder 60 segundos por mais de 5 minutos consecutivos.”
- Exemplos de SLOs:
Plano de Ação para Começar:
- Escolha uma Jornada Crítica do Usuário: Não tente definir SLOs para tudo de uma vez. Começar gradualmente é o ideal: uma ou duas transações de negócio que são absolutamente críticas, como login, busca principal ou processamento de pagamento.
- Identifique as Queries Subjacentes: Use uma plataforma de observabilidade como o dbsnOOp para identificar as queries exatas que compõem essa jornada do usuário.
- Meça o Baseline: Deixe o dbsnOOp medir a performance atual dessas queries por um período (ex: duas semanas). Qual é a latência p99 real hoje?
- Defina o Primeiro SLO: Com base no baseline e nas expectativas do negócio, defina seu primeiro SLO. Ele deve ser realista, mas aspiracional – o que significa ser factível, mas ser um objetivo ideal e almejado, uma montanha a ser escalada pela equipe.
Passo 3: Criação do Orçamento de Erro (Error Budget)
Nessa lógica, com a criação de um Orçamento de Erro, define-se uma margem matemática para inconsistências na operação que ainda permitem a entrega do SLO. Portanto, é uma poderosa ferramenta para a tomada de decisões no Framework SRE.
- O Que é um Orçamento de Erro? É a quantidade de “não-confiabilidade” que você está disposto a tolerar durante um período. Se o seu SLO de latência é de 99.9%, seu orçamento de erro é de 0.1%.
- Como Funciona: Em um mês de 30 dias (aproximadamente 43.200 minutos), um SLO de 99.9% lhe dá um orçamento de erro de 43.2 minutos. Isso significa que suas queries críticas podem exceder o limiar de latência por um total de 43.2 minutos naquele mês. Cada minuto em que o serviço está fora do SLO “queima” o orçamento.
- Por Que é Essencial? O orçamento de erro transforma a confiabilidade em uma métrica quantificável que guia as prioridades da engenharia de forma objetiva, eliminando debates baseados em opinião.
Se o orçamento de erro está quase cheio: A equipe tem uma margem clara para inovar e lançar novas features. O risco de um pequeno incidente é aceitável de forma a manter o SLO em pé.
Se o orçamento de erro está quase esgotado: A prioridade da equipe muda automaticamente e de forma integrada entre os setores. Todas as novas features são congeladas e o foco se volta 100% para projetos de estabilização e confiabilidade até que o serviço volte a operar dentro do SLO e o orçamento de erro comece a se recuperar.
Como gestor, o orçamento de erro é sua métrica e ferramenta para acabar com a guerra entre “velocidade” e “estabilidade”. Ambos se tornam parte da mesma equação, governada por dados.
Passo 4: Identificação e Automação do “Toil”
Na definição do framework de SRE do próprio Google, “toil” é todo trabalho operacional repetitivo, manual e que poderia ser automatizado, geralmente sem valor duradouro quando efetuado manualmente. Uma parcela significativa da rotina de um DBA tradicional é gasta lidando com toil, então é papel do DBRE eliminá-lo tanto quanto for possível.
- Como Identificar o “Toil”: Faça uma auditoria com sua equipe. Pergunte:
- “Quais tarefas manuais vocês realizaram esta semana que poderiam ser roteirizadas?”
- “Quantas vezes fomos interrompidos para responder a um alerta de CPU que não era um problema real?”
- “Quanto tempo foi gasto em deploys manuais de schema?”
- “Qual é o processo para provisionar um novo banco de dados para um ambiente de staging?”
- Exemplos Comuns de “Toil” de Banco de Dados:
- Diagnosticar manualmente por que uma query está lenta.
- Aplicar scripts de migração de schema manualmente.
- Gerenciar permissões e grants de usuários.
- Executar failovers manuais.
- Responder a alertas de “tabela quase cheia”.
- Plano de Ação para Automação:
- Priorize pelo Impacto: Comece automatizando a tarefa que consome mais tempo ou que causa mais erros.
- Use as Ferramentas Certas:
- Infraestrutura como Código (IaC): Use Terraform para provisionar e configurar instâncias de banco de dados.
- Migrações de Schema: Use Flyway ou Liquibase integrados ao seu pipeline de CI/CD.
- Diagnóstico: Use uma plataforma de observabilidade como a dbsnOOp para automatizar o diagnóstico de performance.
Para automatizar esse processo de análise de métricas, ferramentas de observabilidade como o dbsnOOp são essenciais. Saiba mais clicando aqui.
Passo 5: Adote a ferramenta de observabilidade correta
O framework de SRE depende da visibilidade profunda e contextualizada do workload de seu banco de dados. Nenhum dos passos anteriores pode ser aplicado se sua operação vive no escuro. Portanto, faça uso da ferramenta correta para se municiar de toda informação necessária na tomada de decisão – seja data-driven, lembra-se? Nada de opiniões!
- Observabilidade para SLOs: O tradicional monitoramento que apenas registra queries lentas pode não fornecer dados na granularidade necessária para medir um SLI de latência p99. O dbsnOOp, somando monitoramento, observabilidade e machine learning é capaz de capturar 100% do seu workload, fornecenedo a telemetria precisa para saber se está dentro ou fora do seu SLO. De simples métricas de CPU, disco ou memória até um healthcheck completo com sugestões personalizadas para o seu ambiente e tecnologia de banco – relacional ou não.
- Observabilidade para Orçamentos de Erro: Pode ser desesperador ver o Orçamento de Erro ser queimado ao longo do mês sem saber grande parte das causas e ficar sem margem para trabalhar inovações – viver de apagar incêndios e troubleshooting de performance. Nesse contexto, o dbsnOOp te aponta exatamente o porquê de seus problemas no banco: pode apontar para a query específica, usuário ou serviço que está causando a violação do SLO, bem como indicar a maneira ótima de resolver os problemas.
- Sem uma capacidade de diagnóstico e troubleshooting rápidos, a equipe permanece cega e com o orçamento de erro estourado, sempre furando o SLO mensalmente, mesmo que por pouco.
- Observabilidade para Eliminar o “Toil”: Um grandessíssimo “Toil” para o DBA, em minha experiência, é o diagnóstico reativo da performance: rodar um diagnóstico demorado para descobrir o problema da vez que está causando uma lentidão avassaladora na aplicação. O dbsnOOp te ajuda a automatizar essa tarefa ao indicar a query problemática e seu plano de execução, bem como a recomendação de otimização em minutos, tudo através do machine learning que se adapta ao seu ambiente.
- Um exemplo de Toil a ser removido com dbsnOOp é o bloat constante no PostgreSQL, confira este artigo relacionado para saber mais!
Uma Jornada de Melhoria Contínua
A implementação do framework de SRE formulado nos escritórios de uma das maiores Big Techs do mundo em empresas de diversas escalas, obviamente, não é um processo fácil e formulaico, de maneira a se seguir uma receita de bolo que dá resultados em todas as empresas. Dessa forma, mostra-se fundamental o trabalho contínuo rumo a um SRE otimizado que finalmente evolui para um DBRE e garante a conformidade das suas operações na conjuntura atual – a era da nuvem!
Ao seguir este plano de ação, mudando a cultura, definindo SLOs baseados em dados, usando orçamentos de erro para guiar as prioridades e automatizando implacavelmente o “toil”, os líderes de engenharia podem transformar sua equipe de dados. Eles deixam de ser um gargalo reativo e se tornam um parceiro estratégico e proativo, que usa a engenharia para construir sistemas de dados que não são apenas estáveis, mas também rápidos, eficientes e capazes de escalar na velocidade do negócio.
Quer iniciar a jornada SRE para seus bancos de dados com a ferramenta de observabilidade certa? Marque uma reunião com nosso especialista ou assista a uma demonstração na prática!
Saiba mais sobre o dbsnOOp!
Visite nosso canal no youtube e aprenda sobre a plataforma e veja tutoriais
Aprenda sobre monitoramento de banco de dados com ferramentas avançadas aqui.
Leitura Recomendada
- Como o dbsnOOp garante que o seu negócio nunca pare: Este artigo explora o conceito de continuidade de negócio sob a perspectiva da observabilidade proativa. Aprenda como a detecção preditiva de anomalias e a análise de causa raiz permitem que as equipes de engenharia previnam incidentes de performance antes que eles impactem a operação, garantindo a alta disponibilidade dos sistemas críticos.
- O Health Check que revela em 1 dia gargalos escondidos no seu ambiente: Entenda o valor de um diagnóstico rápido e profundo no seu ambiente de dados. Este post detalha como uma análise concentrada, ou Health Check, pode identificar problemas crônicos de performance, configurações subótimas e riscos de segurança que passam despercebidos pelo monitoramento diário, fornecendo um plano de ação claro para otimização.
- Performance Tuning: como aumentar velocidade sem gastar mais hardware: Antes de aprovar o upgrade de uma instância, é fundamental esgotar as otimizações de software. Este guia foca em técnicas de performance tuning que permitem extrair o máximo de desempenho do seu ambiente atual, resolvendo a causa raiz da lentidão em queries e índices, em vez de apenas remediar os sintomas com hardware mais caro.
