Upgrade to Pro — share decks privately, control downloads, hide ads and more …

12+ factor databases

12+ factor databases

Apresentei essa talk no devops extreme realizado pela linux tips em 2021.

Mesma disponivel nessa URL: https://www.youtube.com/watch?v=LD4m3sABLi8

6f3efd5477238ca18957c723854ec795?s=128

Sebastian Webber

August 12, 2021
Tweet

More Decks by Sebastian Webber

Other Decks in Technology

Transcript

  1. 12+ factor databases Sebastian Webber

  2. • Super fã do PostgreSQL • Aprendiz de ninja •

    Gosta dos Golang e Ruby • Organiza uns evento por aí • Tende a falar bobagem nos eventos • Faz uns rango que fica bonito • Humildão que não toma IPA @sebaWebber
  3. • Super fã do PostgreSQL • Aprendiz de ninja •

    Gosta dos Golang e Ruby • Organiza uns evento por aí • Tende a falar bobagem nos eventos • Faz uns rango que fica bonito • Humildão que não toma IPA @sebaWebber
  4. • Super fã do PostgreSQL • Aprendiz de ninja •

    Gosta dos Golang e Ruby • Organiza uns evento por aí • Tende a falar bobagem nos eventos • Faz uns rango que fica bonito • Humildão que não toma IPA @sebaWebber
  5. None
  6. 12factors.net

  7. 0 - Persistência On Premises: Storage dedicado com discos, rede

    e energia redundantes tolerantes a falhas Na cloud: EBS ou similar
  8. Até Agora

  9. 1 - Base de código Automação do deployment ou rollback

    das mudanças no banco armazenadas no git - também conhecido como migrations. Capricha no `git log`.
  10. Até Agora

  11. 2 - Dependências Setup do ambiente que o banco vai

    rodar seja vm/equipamento físico ou containers. Lembre-se do drama do Alpine e a GLib C.
  12. Até Agora

  13. 3 - Configurações Salve suas configurações no git e faça

    do deploy delas como se fosse uma app no servidor.
  14. Até Agora

  15. 4 - Serviços de apoio Não esqueça tratar as ferramentas

    externas, como backup e monitoramento, como parte do próprio banco.
  16. Até Agora

  17. 5 - Construa, lance e Execute Use IaC para criar

    os servers/containers , instalar e configurar seus banco de dados. Objetivo final da infra *deve* server imutável.
  18. 6 - Processos e 7 -Vínculo de portas Crie suas

    configurações a fim de garantir que sejam independentes do ambiente, podendo rodar em portas e locais diferentes. Cada banco vai precisar de seu disco independente.
  19. 8 - Concorrência Limite os recursos do banco e garanta

    que ele sempre execute num equipamento que tenha os recursos mínimos. Evite bancos com alta concorrência rodarem no mesmo host.
  20. 9 - Descartabilidade Tarefas de upgrade ou mudanças de configuração

    considere aplicá-las em outro host, movendo os dados até ele - ou através da promoção de uma réplica.
  21. 10 - Paridade entre desenvolvimento e produção Use a mesma

    arquitetura pra todos os ambientes. Sério.
  22. Até Agora Dev Produção

  23. 11 - Logs Use os logs pra pegar insights sobre

    o que o banco está trabalhando e no que ele precisa de ajuda.
  24. Até Agora

  25. 12 - Processos administrativos Tenha um host/container configurado e pronto

    pra executar manutenções no banco. Não improvise. tenha tudo instalado *antes* da manutenção.
  26. Até Agora

  27. Ok, agora me mostra!

  28. No K8S... Persistência + Deps

  29. No K8S... Base de código

  30. No K8S... Configurações

  31. No K8S... Serviços de apoio

  32. No K8S... Logs

  33. No K8S... Processos administrativos

  34. Pra resumir...

  35. lets check the DEMO

  36. StackGres Architecture

  37. Anatomy of the Pod

  38. Pra resumir...