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

Sebastian Webber

August 12, 2021
Tweet

More Decks by Sebastian Webber

Other Decks in Technology

Transcript

  1. 12+ factor
    databases
    Sebastian Webber

    View full-size slide

  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

    View full-size slide

  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

    View full-size slide

  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

    View full-size slide

  5. 12factors.net

    View full-size slide

  6. 0 - Persistência
    On Premises: Storage dedicado
    com discos, rede e energia
    redundantes tolerantes a falhas
    Na cloud: EBS ou similar

    View full-size slide

  7. 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`.

    View full-size slide

  8. 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.

    View full-size slide

  9. 3 - Configurações
    Salve suas configurações no git e
    faça do deploy delas como se
    fosse uma app no servidor.

    View full-size slide

  10. 4 - Serviços de apoio
    Não esqueça tratar as ferramentas
    externas, como backup e
    monitoramento, como parte do
    próprio banco.

    View full-size slide

  11. 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.

    View full-size slide

  12. 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.

    View full-size slide

  13. 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.

    View full-size slide

  14. 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.

    View full-size slide

  15. 10 - Paridade entre desenvolvimento e produção
    Use a mesma arquitetura pra
    todos os ambientes.
    Sério.

    View full-size slide

  16. Até Agora
    Dev Produção

    View full-size slide

  17. 11 - Logs
    Use os logs pra pegar insights
    sobre o que o banco está
    trabalhando e no que ele precisa
    de ajuda.

    View full-size slide

  18. 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.

    View full-size slide

  19. Ok, agora me
    mostra!

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  22. No K8S...
    Configurações

    View full-size slide

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

    View full-size slide

  24. No K8S...
    Logs

    View full-size slide

  25. No K8S...
    Processos administrativos

    View full-size slide

  26. Pra resumir...

    View full-size slide

  27. lets check
    the DEMO

    View full-size slide

  28. StackGres Architecture

    View full-size slide

  29. Anatomy of the Pod

    View full-size slide

  30. Pra resumir...

    View full-size slide