The Twelve-Factor App: o guia que todo sistema deveria seguir (mas poucos seguem)
Se você já trabalhou num sistema que funcionava perfeitamente no seu computador mas quebrava assim que ia pra produção, ou já se irritou com uma atualização que exigiu reconstruir tudo só porque mudou a senha do banco de dados, você já sentiu na pele o problema que o Twelve-Factor App tenta resolver. Essa ideia surgiu por volta de 2010, dentro da empresa Heroku, com Adam Wiggins à frente. Na…
O Twelve-Factor App é uma lista de doze práticas que ajudam a garantir que sistemas de software funcionem bem quando implantados em produção. Produzida pela empresa Heroku em 2010, essa lista aborda questões como portabilidade, crescimento e manutenção de sistemas.
A primeira prática é ter um único código-fonte com várias versões em uso, gerando cópias para diferentes ambientes como testes, homologação e produção. A segunda prática exige que dependências explícitas sejam listadas em um arquivo separado, garantindo que o sistema funcione de maneira consistente em diferentes máquinas. A terceira prática sugere manter configurações sensíveis, como senhas e chaves de acesso, fora do código-fonte e em variáveis de ambiente do servidor.
A quarta prática trata serviços externos como peças substituíveis, permitindo trocas de banco de dados ou serviços de envio de e-mail sem a necessidade de alterações de código. A quinta prática divide o processo de construção, preparação e execução em etapas distintas, facilitando o controle de versões e a reversão quando necessário.
A sexta prática evita que informações importantes sejam armazenadas dentro do próprio sistema em execução, recomendando o uso de bancos de dados externos para armazenar dados persistentes. A sétima prática enfatiza que o sistema deve ser autocontido e disponibilizado através de uma porta de comunicação própria, sem dependência de outros programas.
As oitava e nona práticas defendem a divisão do sistema em partes diferentes para lidar com diferentes tipos de tarefas, permitindo o aumento de capacidade de forma independente conforme a demanda. A décima prática busca manter o ambiente de testes semelhante ao de produção, diminuindo a diferença entre os ambientes e evitando surpresas ao implantar o sistema.
A undécima prática sugere que os registros de atividade devem ser gerenciados por ferramentas especializadas em vez de serem armazenados dentro do sistema em si. Por fim, a duodécima prática afirma que tarefas administrativas devem ser tratadas de forma semelhante ao restante do sistema, facilitando a manutenção e atualizações.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.