1 of 21

Setembro 2025

Reliability as Code:

Como usar GitHub Actions e Terraform para projetar resiliência

TDC São Paulo

2 of 21

Ana Manzan

Analista Cloud na Bosch

10+ anos de carreira em tech

Microsoft MVP

Community Lead @DougBrazil e @ItuDevelopers

@devsnasnuvens

3 of 21

Como podemos projetar sistemas que resistem a falhas e se recuperam com inteligência?

4 of 21

SEMPRE Assumindo que as falhas irão acontecer!

5 of 21

Design para falhas

    • Consistência
    • Idempotência
    • Redundância
    • Elasticidade / Escalonamento
    • Observabilidade

6 of 21

Consistência

Automação de tarefas repetitivas

Revisões de código

Infra como Código

Deploys gradativos

7 of 21

Idempotência

8 of 21

Idempotência

9 of 21

Zona de disponibilidade 02

Redundância

Zona de disponibilidade 01

10 of 21

Elasticidade / Escalonamento

Scale Up

(Aumentar recursos da instância: RAM, CPU, etc)

+

+

+

+

+

+

+

+

+

+

Scale Out

(Adicionar novas instâncias)

11 of 21

Observabilidade

Logs

Traces

Métricas

12 of 21

Redução de erro humano

Estratégias de deployment

Infraestrutura imutável

Configuração de autoscaling

Recriação automática em caso de falhas

Validação de mudanças em todos os estágios

Distribuição de recursos em zonas de disponibilidade

Provisionamento de dashboards, alertas e logs

Execução de testes integrados à pipeline (latência, disponibilidade, caos)

+

13 of 21

Setembro 2025

devsnasnuvens.com.br

OBRIGADA!

TDC São Paulo

https://github.com/devsnasnuvens/tdc-sp-2025

14 of 21

O que são GitHub Actions?

    • Funcionalidade que nos permite automatizar fluxos de trabalho de desenvolvimento de software direto no repositório
      • Em resumo: É a ferramenta de CI/CD do GitHub :)
    • Composto por blocos de código que nos permite executar tarefas, como:
      • Build
      • Publish e Upload
      • Deploy
      • Envio de e-mails ou mensagens no slack

15 of 21

Como começar a usar actions?

/.github/workflows/<workflow>.yml

Name

Trigger

Job

Job…

Runner

Steps

Actions

Commands

16 of 21

Show me the code

17 of 21

E as estratégias?

Onde ficam?

    • Múltiplos ambiente
    • Canary
    • Blue-green

Exemplos de estratégia:

É o tipo de abordagem que utilizamos para lançar uma nova versão da aplicação

O que é:

18 of 21

Blue-green deployment

Ambiente produtivo

19 of 21

Blue-green deployment

Ambiente produtivo

Nova versão

20 of 21

Blue-green deployment

Ambiente produtivo

Nova versão

21 of 21

Setembro 2025

devsnasnuvens.com.br

OBRIGADA!

TDC São Paulo

https://github.com/devsnasnuvens/tdc-sp-2025