Práticas recomendadas do Terraform para confiabilidade em qualquer escala
Ao adotar o Terraform pela primeira vez, há uma atração natural por ter um único arquivo de estado que cubra toda a sua infraestrutura. É simples. É expressivo. É rápido - a princípio. E é uma ideia terrível.
Em escala, muitos arquivos de estado do Terraform são melhores do que um. Mas como você traça os limites e decide quais recursos pertencem a quais arquivos de estado? Quais são as práticas recomendadas para organizar arquivos de estado do Terraform para maximizar a confiabilidade, minimizar o raio de explosão das alterações e alinhar com o design dos provedores de nuvem?
Nossas recomendações são baseadas em tudo o que aprendemos usando o Terraform no Segment e no Slack. Nossa experiência é com a AWS, mas acreditamos que a seguinte estratégia vale para qualquer grande provedor de nuvem.
Certamente, o objetivo principal para qualquer um que use o Terraform é descrever sua infraestrutura como código para que ela possa ser versionada, ramificada, revisada, mesclada etc. Em escala, porém, vários outros recursos desejados tendem a surgir:
Promova mudanças desde o desenvolvimento até a preparação para a produção. Os ambientes de pré-produção são importantes para criar confiança na correção de nossas alterações.
Continua no link a seguir...