Twelve Factor App
Fabrício Veronez
Arquiteto de Aplicações
YouTube – http://youtube.com/c/fabricioveronez
Email - fabricioveronez@gmail.com
Facebook - http://www.facebook.com/fabricioveronezdev/
Linkedin - http://www.linkedin.com/in/fabricioveronez
Telegram - fabricioveronez
Twelve Factor App
• Usam formatos declarativos para automatizar a configuração inicial, minimizar
tempo e custo para novos desenvolvedores participarem do projeto;
• Tem um contrato claro com o sistema operacional que o suporta, oferecendo
portabilidade máxima entre ambientes que o executem;
• São adequados para implantação em modernas plataformas em nuvem,
evitando a necessidade por servidores e administração do sistema;
• Minimizam a divergência entre desenvolvimento e produção, permitindo a
implantação contínua para máxima agilidade;
• E podem escalar sem significativas mudanças em ferramentas, arquiteturas,
ou práticas de desenvolvimento.
1-Codebase
Uma base de código com rastreamento
utilizando controle de revisão, muitos deploys
Base de Código
Deploy
Desenvolvimento
Homologação
Produção
2-Dependencies
Declare e isole as dependências
3-Config
Armazene as configurações no ambiente
4-Backing services
Trate os serviços de apoio, como recursos
ligados
Serviço
Serviço
de
Email
Banco
de
Dados
Twitter
5-Build, release, run
Separe estritamente os builds e execute em
estágios
Pacote
Configuração
Release
6-Processes
Execute a aplicação como um ou mais
processos que não armazenam estado
7-Port binding
Exporte serviços por ligação de porta
8-Concurrency
Dimensione por um modelo de processo
WebApp.1 Worker.1 Storage.1
WebApp.2 Worker.2
Worker.3
Worker.4
9-Disposability
Maximizar a robustez com inicialização e
desligamento rápido
10-Dev/prod parity
Mantenha o desenvolvimento, teste, produção
o mais semelhante possível
11-Logs
Trate logs como fluxo de eventos
12-Admin processes
Executar tarefas de
administração/gerenciamento como
processos pontuais
http://bit.ly/news-veronezdev
Quer saber mais?

12 Factor Apps