Sobes.tech
Middle

Como a AWS suporta as práticas de DevOps?

sobes.tech IA

Resposta da IA

A AWS oferece uma vasta gama de serviços que automatizam tarefas e suportam as práticas-chave de DevOps:

  • CI/CD (Integração Contínua/Entrega Contínua):

    • AWS CodeCommit: Serviço gerido para armazenar código em repositórios Git privados.
    • AWS CodeBuild: Serviço para compilar e testar código.
    • AWS CodeDeploy: Serviço para implementar automaticamente aplicações em várias capacidades de computação (EC2, Fargate, Lambda, on-premises).
    • AWS CodePipeline: Serviço para orquestrar toda a pipeline de CI/CD.
    # Exemplo de parte da pipeline do CodePipeline
    Stages:
      - Name: Source
        Actions:
          - Name: Source
            ActionTypeId:
              Category: Source
              Owner: AWS
              Provider: CodeCommit
              Version: 1
            OutputArtifacts:
              - Name: SourceOutput
            Configuration:
              RepositoryName: my-app-repo
              BranchName: main
      - Name: Build
        Actions:
          - Name: Build
            ActionTypeId:
              Category: Build
              Owner: AWS
              Provider: CodeBuild
              Version: 1
            InputArtifacts:
              - Name: SourceOutput
            OutputArtifacts:
              - Name: BuildOutput
            Configuration:
              ProjectName: my-app-build
    
  • Infraestrutura como código (IaC):

    • AWS CloudFormation: Serviço declarativo para modelar e provisionar recursos AWS usando modelos.
    • AWS CDK (Cloud Development Kit): Framework para definir infraestrutura na nuvem em linguagens de programação familiares.
    • Terraform (compatível com AWS): Ferramenta IaC de terceiros popular.
    # Exemplo de modelo CloudFormation para uma instância EC2
    Resources:
      MyEC2Instance:
        Type: AWS::EC2::Instance
        Properties:
          ImageId: ami-0abcdef1234567890 # Substitua por um ID de AMI válido
          InstanceType: t2.micro
          Tags:
            - Key: Name
              Value: MyWebAppServer
    
  • Monitorização e registo:

    • Amazon CloudWatch: Serviço de monitorização abrangente para recursos e aplicações AWS. Fornece métricas, logs e eventos.
    • AWS CloudTrail: Serviço que regista ações de utilizadores e chamadas API, garantindo auditoria e segurança.
    • Amazon OpenSearch Service (anteriormente Elasticsearch): Serviço gerido para análise de logs e pesquisa.
  • Gestão de configuração:

    • AWS Systems Manager: Conjunto de ferramentas para automatizar tarefas operacionais, incluindo gestão de configuração, correções, acesso remoto a instâncias, etc.
    • AWS OpsWorks: Serviço para automatizar operações usando Chef e Puppet.
  • Contenerização e orquestração:

    • Amazon ECS (Elastic Container Service): Serviço de gestão de contêineres altamente escalável e rápido, suportando Docker.
    • Amazon EKS (Elastic Kubernetes Service): Serviço Kubernetes gerido.
    • AWS Fargate: Motor sem servidor para contêineres, permitindo executar contêineres sem gerir servidores.
  • Computação sem servidor:

    • AWS Lambda: Serviço que permite executar código sem alocar ou gerir servidores. Útil para automatizar tarefas e implementar microserviços.
  • Gestão de segredos:

    • AWS Secrets Manager: Serviço para armazenar segredos de forma segura e rotacioná-los automaticamente, como passwords, chaves API e certificados.
    • AWS Systems Manager Parameter Store: Fornece armazenamento hierárquico para dados de configuração e segredos.
  • Confiabilidade e resiliência:

    • Muitos serviços da AWS são projetados para alta disponibilidade e tolerância a falhas.
    • Capacidade de implementar em várias zonas de disponibilidade e regiões.
    • AWS Auto Scaling: Escala automaticamente a capacidade de computação com base na carga.
  • Segurança:

    • AWS IAM (Identity and Access Management): Gerencia o acesso aos recursos da AWS.
    • AWS Security Hub: Fornece uma visão centralizada do estado de segurança.
    • Outros serviços (VPC, Security Groups, WAF, etc.) para garantir a segurança de rede e proteção de aplicações.