Como o Slack Reconstruiu seu Sistema de Notificações
Aprofundamento CEVIU
Aprofundamento
O Slack não apenas atualizou, mas reconstruiu do zero seu sistema de notificações, um dos componentes mais críticos (e problemáticos) da infraestrutura de plataforma. O antigo modelo era uma colcha de retalhos: quatro sistemas de preferência que evoluíram separadamente, com regras distintas para desktop e mobile, sincronização falha e semântica conflitante (ex.: 'nada' no iOS ≠ 'desligado' no macOS). A nova arquitetura desacoplou intenção ('o que notificar') de entrega ('como receber'), introduzindo um controle unificado via flag desktop_push_enabled e três estados explícitos por canal: todas as postagens, menções ou mudo. A migração foi feita em tempo real, sem downtime, usando 'estratégia de tempo de leitura' para mapear configurações antigas, nada de dumps massivos no banco.
A engenharia de plataforma também modernizou a camada de interface: componentes React reutilizáveis substituíram o código iOS legado (inclusive parte do 'Liquid Glass' atualizado para iOS 26), e o salvamento automático eliminou o passo intermediário de 'Salvar'. Isso não é só UX: é redução de estado inconsistente, menor superfície de erro e menor custo operacional com suporte, fato comprovado pela queda mensurável em tickets e aumento de 5x no engajamento com as configurações.
Por que isso importa
Para equipes de DevOps e engenharia de plataformas, esse caso é um case study prático de refatoração estratégica em escala: como migrar milhões de usuários sem interrupção, desacoplar lógica de negócios de canais de entrega e alinhar arquitetura com mental models reais dos usuários. A decisão de priorizar consistência sobre compatibilidade estrita, e usar mapeamento comportamental em vez de migração de dados, é replicável em sistemas de alerta, pipelines de CI/CD com múltiplos canais de notificação (Slack, email, SMS) e até em ferramentas internas de observabilidade. Além disso, a central de 'Atividade', lançada em janeiro de 2026, mostra que a reformulação não parou nas notificações: ela abriu espaço para novos padrões de consumo de eventos dentro da própria aplicação, reduzindo dependência de notificações externas.
Perguntas frequentes
Como o Slack conseguiu migrar milhões de usuários sem downtime?
Usando uma estratégia de 'tempo de leitura': ao acessar as configurações, o sistema interpretava as preferências antigas em tempo real e as mapeava para o novo modelo. Não houve migração em lote no banco de dados, nem fallback para estado padrão.
Qual foi a mudança arquitetônica mais importante?
O desacoplamento entre intenção de notificação (ex.: 'menções em #devops') e mecanismo de entrega (ex.: push iOS ou badge no app). Isso permitiu que os usuários vissem tudo no feed de Atividade, mas recebessem apenas push para eventos críticos.
Por que o salvamento automático faz diferença técnica além da UX?
Elimina estado inconsistente entre frontend e backend, reduz chamadas redundantes à API e remove um ponto de falha comum em interfaces complexas, especialmente em aplicações multiplataforma com cache local e sincronização eventual.
O que mudou nas configurações de notificação para os usuários?
Antes havia quatro modelos mentais conflitantes, com opções como 'nenhuma', 'apenas menções' e 'tudo' com significados diferentes por plataforma. Agora há três estados claros e universais por canal: todas as novas postagens, menções ou mudo, e uma única chave de ativação para push.
Fontes
- slack.engineeringfonte original
- Categoria
- CEVIU DevOps
- Publicado
- 20 de março de 2026
- Editoria
- CEVIU DevOps
