Sobes.tech
Middle+

O que você implementou na plataforma de nuvem AWS?

sobes.tech IA

Resposta da IA

No AWS, implementei a automação do deployment de infraestrutura e aplicações, usando serviços IaaS e PaaS.

Principais áreas de trabalho:

  • Infraestrutura como código (IaC): Uso do AWS CloudFormation e Terraform para descrever e gerenciar a infraestrutura (VPC, EC2, RDS, S3, etc.).
  • Pipelines CI/CD: Configuração do AWS CodePipeline, CodeBuild, CodeDeploy para construção, teste e deployment automáticos de aplicações. Integração com GitHub/GitLab.
  • Contenerização: Deployment e gestão de aplicações containerizadas usando Amazon ECS e Amazon EKS. Configuração do Fargate para containers sem servidor.
  • Monitoramento e logging: Implementação do Amazon CloudWatch para coleta de métricas e logs, configuração de alertas. Uso do AWS X-Ray para tracing de sistemas distribuídos.
  • Gestão de configurações: Uso do AWS Systems Manager para gestão centralizada de instâncias EC2.
  • Segurança: Configuração do AWS Identity and Access Management (IAM) para gestão de acessos, uso de Security Groups e NACLs para segurança de rede, implementação do AWS Secrets Manager para armazenamento seguro de segredos.
  • Computação sem servidor: Desenvolvimento e deployment de funções no AWS Lambda.
  • Trabalho com bancos de dados: Configuração e migração para Amazon RDS (PostgreSQL, MySQL) e Amazon DynamoDB.
  • Otimização de custos: Análise do consumo de recursos com AWS Cost Explorer e otimização de despesas.

Exemplo de pipeline no AWS CodePipeline:

# Exemplo de definição de pipeline no CloudFormation
Resources:
  MyPipeline:
    Type: AWS::CodePipeline::Pipeline
    Properties:
      Name: my-application-pipeline
      RoleArn: !GetAtt CodePipelineServiceRole.Arn
      ArtifactStore:
        Type: S3
        Location: !Ref PipelineArtifactBucket
      Stages:
        - Name: Source
          Actions:
            - Name: SourceAction
              ActionTypeId:
                Category: Source
                Owner: ThirdParty
                Provider: GitHub
                Version: '1'
              OutputArtifacts:
                - Name: SourceOutput
              Configuration:
                Owner: my-github-user
                Repo: my-application-repo
                Branch: main
                PollForChanges: true
                AccessToken: "{{resolve:secretsmanager:github_token:SecretString:token}}"
        - Name: Build
          Actions:
            - Name: BuildAction
              ActionTypeId:
                Category: Build
                Owner: AWS
                Provider: CodeBuild
                Version: '1'
              InputArtifacts:
                - Name: SourceOutput
              OutputArtifacts:
                - Name: BuildOutput
              Configuration:
                ProjectName: !Ref CodeBuildProject
        # ... outros etapas (Test, Deploy)

Uso do Terraform para deploy de VPC:

# terraform.tf
resource "aws_vpc" "main" {
  cidr_block = "10.0.0.0/16"
  enable_dns_hostnames = true
  enable_dns_support = true

  tags = {
    Name = "main-vpc"
  }
}

resource "aws_subnet" "public" {
  vpc_id     = aws_vpc.main.id
  cidr_block = "10.0.1.0/24"
  availability_zone = "us-east-1a" # AZ de exemplo

  tags = {
    Name = "public-subnet-us-east-1a"
  }
}

# ... outros recursos (Internet Gateway, Tabelas de rotas, etc.)