Todas as notas

NOTAS DE ESTUDO

AWS Cloud Development Kit (CDK)

  • Defina infraestrutura em uma linguagem conhecida: JavaScript/TypeScript, Python, Java ou .NET.
  • O código é compilado para um template CloudFormation em JSON/YAML.
  • Assim, é possível implantar a infraestrutura e o código da aplicação juntos.
    • Útil para funções Lambda.
    • Útil para contêineres Docker em EC2/EKS.

Elastic Beanstalk

  • Visão de implantação de aplicações AWS voltada ao desenvolvedor.
  • Utiliza componentes já estudados: EC2, ASG, ELB, RDS e outros.
  • Reúne tudo em uma visão simples de entender, mantendo o controle das configurações.
  • Oferta de Platform as a Service, PaaS.
  • O Beanstalk é gratuito; as instâncias subjacentes são cobradas.
  • Gerencia:
    • Configuração de instâncias e sistema operacional.
    • Estratégia de deploy configurável, executada pelo serviço.
    • Provisionamento de capacidade.
    • Balanceamento e escalabilidade automática.
    • Saúde e capacidade de resposta da aplicação.
  • O desenvolvedor cuida do código da aplicação.
  • Três modelos de arquitetura:
    • Instância única, adequada ao desenvolvimento.
    • Balanceador e ASG, para aplicações web de produção ou pré-produção.
    • Apenas ASG, para aplicações não web, como workers em produção.
  • Suporta várias plataformas, incluindo Go, Java SE e Java com Tomcat.
  • O agente de saúde envia métricas ao CloudWatch, verifica a aplicação e publica eventos de integridade.

AWS CodeDeploy

  • Implantação automática de aplicações.
  • Funciona com instâncias EC2 e servidores locais.
  • Serviço híbrido.
  • Os servidores precisam ser provisionados e configurados previamente com o agente CodeDeploy.

AWS CodeBuild

  • Compilação de código na nuvem.
  • Compila fontes, executa testes e gera pacotes prontos para implantação, por exemplo pelo CodeDeploy.
  • Benefícios:
    • Totalmente gerenciado e serverless.
    • Escalabilidade contínua e alta disponibilidade.
    • Segurança.
    • Pagamento somente pelo tempo de build.

AWS CodePipeline

  • Orquestra as etapas para publicar código automaticamente em produção:
    • Código → build → teste → provisionamento → deploy.
    • Base de integração contínua e entrega contínua, CI/CD.
  • Benefícios:
    • Gerenciado e compatível com CodeCommit, CodeBuild, CodeDeploy, Beanstalk, CloudFormation, GitHub, serviços de terceiros e plugins personalizados.
    • Entregas e atualizações rápidas.

AWS CodeArtifact

  • Pacotes de software dependem de outros pacotes, e novas dependências são criadas continuamente.
  • Armazenar e recuperar essas dependências é gerenciamento de artefatos.
  • Tradicionalmente seria necessário manter um sistema próprio.
  • O CodeArtifact oferece gerenciamento de artefatos seguro, escalável e econômico.
  • Compatível com Maven, Gradle, npm, yarn, twine, pip e NuGet.
  • Desenvolvedores e CodeBuild podem recuperar dependências diretamente do serviço.

AWS Systems Manager (SSM)

  • Gerencia sistemas EC2 e locais em escala.
  • Outro serviço AWS híbrido.
  • Oferece informações operacionais sobre a infraestrutura.
  • Conjunto de mais de dez produtos.
  • Recursos principais:
    • Automação de patches para melhorar a conformidade.
    • Execução de comandos em uma frota de servidores.
    • Armazenamento de configurações no Parameter Store.
  • Funciona com Linux, Windows, macOS e Raspberry Pi OS, anteriormente Raspbian.

Systems Manager - Session Manager

  • Inicia um shell seguro em instâncias EC2 e servidores locais.
  • Não exige acesso SSH, bastion hosts nem chaves SSH.
  • Dispensa a porta 22, melhorando a segurança.
  • Suporta Linux, Windows e macOS.
  • Envia logs de sessão para S3 ou CloudWatch Logs.

Systems Manager - Parameter Store

  • Armazenamento seguro de configurações e segredos, incluindo chaves de API e senhas.
  • Serverless, escalável, durável e acessível por SDK.
  • Permissões de acesso controladas por IAM.
  • Versionamento e criptografia opcional.