Saltar para o conteúdo
BigTree108

Cloud Azure e DevOps

Infraestrutura como código, pipelines que fazem deploy várias vezes por dia, uma base de segurança com negação por defeito e uma fatura que se mantém previsível. É assim que construímos um ambiente cloud e que gerimos o nosso.

O trabalho de DevOps em si

  • Pipelines. Build, testes, análise de segurança e deploy no GitHub Actions, com credenciais federadas em vez de segredos guardados e cada action fixada por hash.
  • Infraestrutura como código. Terraform para tudo, revisto como plano antes de ser aplicado, com deteção de drift agendada que comunica o que alguém alterou à mão.
  • Entrega de bases de dados. Alterações de esquema como migrações versionadas que correm no pipeline, de modo que não pode acontecer um deploy que entregue código sem o respetivo esquema.
  • Monitorização e alertas. Registos, métricas e traces num único espaço de trabalho, com alertas que só chegam a uma pessoa quando um programador pode agir sobre eles.
  • Controlo de custos. Escalões bem dimensionados, preços por consumo onde a carga tem picos e uma fatura mensal que alguém realmente lê.

Com o que construímos

Cada recurso é declarado em Terraform e implementado a partir do GitHub Actions com credenciais federadas. Nada é montado à base de cliques num portal, nem nos nossos ambientes nem nos da sua empresa.

  • Computação

    Azure Functions no isolated worker do .NET 10 para a API e 40 tarefas agendadas; os Container Apps Jobs executam as implementações de bases de dados e as migrações do EF Core.

  • Dados

    Azure SQL com segurança ao nível da linha e colunas Always Encrypted com chaves geridas pelo cliente no Key Vault; Blob Storage para documentos e PDF assinados.

  • Front ends

    Duas Static Web Apps, o portal e este site, ambas servidas com uma Content Security Policy rigorosa e pré-renderizadas onde os crawlers precisam de HTML.

  • Identidade

    Entra ID para pessoas e grupos, identidades geridas atribuídas pelo utilizador para cada carga de trabalho, OIDC a partir do GitHub Actions. Sem credenciais de longa duração no pipeline.

  • Observabilidade

    Application Insights e Log Analytics com regras de alerta que chegam à equipa como mensagens do Teams. Só os sinais sobre os quais um programador pode agir se tornam alertas.

  • Governação

    Políticas de grupos de recursos, bloqueios de gestão, proteção contra eliminação definitiva e definições de diagnóstico, tudo declarado em Terraform com o motivo junto de cada regra.

Disciplina de custos

Os nossos princípios de engenharia ordenam as prioridades numa ordem fixa: primeiro o custo, depois a segurança, depois a modernidade, depois o desempenho. Um teto de custos é definido antes de a arquitetura ser desenhada, e cada decisão de design é verificada face a ele. Na prática, isso significa preços por consumo em vez de servidores sempre ligados onde a carga tem picos, um escalão de base de dados bem dimensionado em vez do que o fornecedor recomenda, e alertas construídos com serviços já incluídos na subscrição em vez de um produto pago de on-call.

Base de segurança

  • As firewalls negam por defeito; o SQL só é acessível a partir da sub-rede das Functions.
  • Os segredos existem apenas no Key Vault e são lidos através de identidades geridas.
  • As colunas pessoais e financeiras usam Always Encrypted, pelo que nem um administrador da base de dados as consegue ler.
  • As actions e as imagens de contentor são fixadas por hash; as atualizações de dependências chegam como pull requests revistos e um aviso de segurança é uma atualização incondicional.
  • O CodeQL corre em cada push, os planos do Terraform são validados antes de serem aplicados e o drift é detetado de forma agendada.

O nosso historial em cloud

Mais de 20 pipelines de CI/CD construídos, releases de duas semanas transformadas em deploys diários, tempo de release reduzido de quatro horas para 25 minutos, despesa em Azure reduzida em 30 % numa plataforma. Números do nosso historial de entregas.

Contratar para isto, sem improvisar

O DevOps é uma função para a qual recrutamos de forma deliberada: o nosso historial de vagas inclui um engenheiro DevOps e um entrevistador técnico dedicado de DevOps, pelo que os candidatos são avaliados por quem faz o trabalho e não por um generalista a ler uma checklist.

Quer o seu ambiente Azure em código, com uma fatura menor?

Envie acesso de leitura à sua subscrição ou uma descrição do que corre onde. Recebe uma avaliação escrita e um plano no prazo de um dia útil.