Post

TFTEC Ao Vivo 2024: Conexão, Conhecimento e Imersão em Cloud

Nos dias 26 e 27 de outubro, São Paulo foi palco do evento TFTEC Ao Vivo, uma imersão totalmente única no universo do Azure. O evento reuniu profissionais e entusiastas de tecnologia de todo o Brasil para um aprendizado prático e aprofundado, com um dia cheio de “mão na massa” e interações em tempo real com especialistas. Foram mais de 16 horas de conteúdo intensivo, distribuídas em dois dias, proporcionando uma experiência completa e exclusiva aos participantes.

Além do aprendizado técnico, o evento ofereceu diversas oportunidades de networking, permitindo conhecer a comunidade técnica além das fotinhas do Youtube e Linkedin HAHA. Houve também um happy hour para os participantes onde trocamos experiências e demos várias risadas.

Benefícios oferecidos aos participantes:

  • Acesso completo aos dois dias de evento.
  • Brindes exclusivos.
  • Coffee breaks e almoço.
  • Acesso às gravações por 2 anos.
  • Certificado de participação impresso.

Os alunos do TFTEC Prime que participaram do evento receberam vantagens especiais, como renovação gratuita ou descontos para eventos futuros.

Arquitetura da Solução Azure do TFTEC Cloud

Um dos grandes destaques do evento foi a apresentação de uma arquitetura robusta e moderna para aplicações no Azure, projetada para alta escalabilidade e segurança. Esse exemplo prático foi essencial para que os participantes compreendessem como construir soluções complexas na plataforma. Irei explorar os principais componentes dessa arquitetura.

Visão Geral da Arquitetura

A arquitetura integra diversos serviços do Azure, organizados para oferecer uma infraestrutura segura, escalável e fácil de manter para aplicações corporativas. Os principais elementos são:

  • Segurança e Autenticação: Uso do Azure Active Directory (Entra ID) e Azure AD B2C, para autenticação e autorização para usuários internos e externos. O App Registration facilita o gerenciamento de permissões e registros de aplicações.

  • Application Gateway (App GW) e API Management (APIM): O App Gateway protege e gerencia o tráfego de entrada para as aplicações, enquanto o APIM centraliza a gestão de APIs, garantindo roteamento seguro e controle de acesso.

  • Monitoramento e Análise: Com o Azure Application Insights e Log Analytics, a arquitetura oferece visibilidade dos logs e desempenho. Isso facilita o monitoramento em tempo real.

  • Serviços Backend e Banco de Dados: No backend, as APIs centralizam a lógica de negócios, incluindo sistemas de CRM e outros serviços essenciais. Essas APIs se conectam ao Azure SQL Database para armazenamento com alta disponibilidade e integridade dos dados.

  • Serviços Integrados do Azure: A arquitetura também utiliza serviços como Storage Account para armazenamento de arquivos, Key Vault para gerenciamento seguro de Secrets, Azure Functions para execução de tarefas sob demanda, Logic Apps para automação de fluxos de trabalho e DNS Zone.

  • Azure DevOps: Com o Azure Repos para controle de versão do código, Azure Pipelines para automação CI/CD, e Terraform para definição de infraestrutura como código (IaC).

  • Azure Container Registry (ACR): Permite fácil integração com o Kubernetes e outros serviços, facilitando o deploy seguro e contínuo das aplicações.

Terraform e Kubernetes

Provisionamento de Infraestrutura com Terraform:

  • Infraestrutura como Código (IaC): O Terraform é utilizado para gerenciar a infraestrutura como código, permitindo que toda a configuração seja descrita em arquivos, facilitando a reutilização e o versionamento.

  • Configuração e Versionamento: Geralmente profissionais de DevOps configuram o código Terraform para a infraestrutura, que é versionado no Azure Repos e gerenciado por pipelines, garantindo consistência e segurança nos deploys.

Pipeline de Build e Deploy:

  • Construção e Armazenamento de Imagens: Com o código da infraestrutura no Azure Repos, o pipeline é ativado para construir e enviar as imagens de contêiner para o Azure Container Registry (ACR).

  • Testes e Validações: O pipeline automatizado executa testes e validações antes de enviar a imagem, garantindo que o build esteja em conformidade com as políticas de qualidade da equipe.

Gerenciamento de Estado com Backend Remoto:

  • Armazenamento Seguro de Estado: O estado do Terraform, armazenado no arquivo tfstate, é mantido em um backend remoto, utilizando Azure Key Vault e Storage Account para garantir segurança e facilitar a colaboração.

Azure Kubernetes Service (AKS):

  • Orquestração de Contêineres: O AKS gerencia os contêineres, consumindo as imagens armazenadas no ACR e distribuindo as cargas de trabalho conforme necessário, mantendo a disponibilidade e performance das aplicações.

Monitoramento e Análise:

  • Visibilidade e Monitoramento Contínuo: Log Analytics e Application Insights oferecem uma visão em tempo real dos logs e dados de desempenho, facilitando a análise e resolução proativa de problemas.

Descrição do Pipeline de CI/CD com Terraform

  1. Desenvolvimento
    • Codificação: O desenvolvedor escreve o código da infraestrutura usando Terraform.
    • Pull Request (PR): Após finalizar, cria um PR no Azure Repos, enviando as mudanças.
  2. Pipeline de Integração Contínua (CI)
    • Validações Automatizadas:
      • terraform init: Inicializa o Terraform.
      • terraform fmt: Formata o código conforme os padrões.
      • terraform validate: Valida a sintaxe e a integridade do código.
      • checkov: Verifica a segurança do código.
      • tflint: Executa linting para identificar possíveis erros e padrões não recomendados.
      • terraform plan: Gera um plano de execução mostrando as mudanças que serão aplicadas.
      • Infracost: Calcula o custo estimado das alterações e adiciona um comentário no PR com a previsão de custos, auxiliando na avaliação do impacto financeiro.
  3. Verificação e Revisão
    • Correção de Erros: Se o pipeline CI falhar, o desenvolvedor revisa e corrige o código.
    • Revisão do PR: Com o CI aprovado, o PR é revisado pela equipe.
    • Aprovação: Se aprovado, o pipeline de CD é iniciado.
  4. Pipeline de Entrega Contínua (CD)
    • terraform init: Reexecuta a inicialização para o ambiente de produção.
    • terraform apply: Aplica as mudanças no ambiente real, atualizando a infraestrutura conforme o plano.
  5. Validação Final
    • Verificação do Ambiente: A equipe valida se tudo está conforme o esperado no ambiente de produção.

Esse fluxo garante que as mudanças na infraestrutura sejam aplicadas de forma controlada e segura, com verificações de qualidade, segurança e custo antes de qualquer alteração no ambiente produtivo. O uso de ferramentas como Terraform e Infracost permite automação e transparência, contribuindo para um gerenciamento eficiente da infraestrutura em nuvem.

Arquitetura de CI/CD com Azure DevOps para Deploy no Azure Kubernetes Service (AKS)

O diagrama a seguir ilustra um pipeline de CI/CD configurado no Azure DevOps, integrando o Azure Kubernetes Service (AKS) para orquestração de contêineres. Esse pipeline automatiza o processo de build, packaging, armazenamento e deploy de uma aplicação em contêiner no AKS.

  1. Código Fonte
    • Desenvolvedor: Cria e edita o código da aplicação.
    • Azure Repos: O código é versionado e armazenado no Azure Repos.
    • Trigger de CI: O pipeline de Integração Contínua inicia automaticamente após o push.
  2. Build
    • Azure Pipelines Build: Constrói a aplicação e prepara o contêiner.
    • Docker: O código é empacotado em uma imagem Docker.
    • Helm: Um chart Helm é gerado para definir e configurar o deploy no Kubernetes.
    • Azure Container Registry (ACR): A imagem Docker é armazenada no ACR.
    • Trigger de CD: Um trigger de Entrega Contínua é acionado quando uma nova imagem é enviada ao ACR.
  3. Deploy
    • Azure Pipelines Deploy: Aplica o chart Helm e realiza o deploy da imagem no cluster AKS.
  4. Ambiente
    • Azure Kubernetes Service (AKS): Ambiente final de execução da aplicação, onde o Kubernetes orquestra e gerencia os contêineres em um cluster escalável.

Esse fluxo automatizado facilita a integração e o deploy contínuos, assegurando que cada alteração no código seja construída, validada e implantada de maneira consistente. A integração com Docker e Helm permite uma configuração flexível e reproduzível para a implantação de contêineres no AKS.

Conclusão

O TFTEC Ao Vivo foi um evento incrível, proporcionando uma oportunidade única de rever amigos, fortalecer o networking e aprender mais sobre o universo Azure. Durante dois dias imersivos, profissionais de todo o Brasil puderam se aprofundar em tecnologias de ponta, participar de sessões práticas e interagir diretamente com especialistas da área. Além do aprendizado técnico, o ambiente amigável e colaborativo criou um espaço valioso para trocas de experiências e conexões duradouras, reafirmando a importância da comunidade Azure no desenvolvimento de novas competências e na inovação contínua. Estamos ansiosos para o próximo encontro e para continuar crescendo juntos na jornada rumo à nuvem!

Caso queira visitar o repositório oficial do projeto, segue os links: tftecsp2024 -tftec-aovivo-iac


Este post está licenciado sob CC BY 4.0 e pelo autor.