Lambda e logs - Hugo-benjamim/chatunai-app GitHub Wiki

A aws oferece uma caralhada de serviços listo abaixo os principais

AWS Lambda

Serviço da AWS que permite executar códigos ou funções sem a necessidade de provisionar servidores. Permite que executemos códigos de maneira Serverless.
Paga-se por execução e facilita muito por nos poupar o trampo de configurar servidores.
Lambdas são microServiços, conceito de function as a service, executa só a função gerada por algum trigger sem precisar se preocupar com mais nada. Ainda mais desacoplado que os Softwares as a Service.

Lambda functions: funcionam em um paradigma diferente de programação, com orientação a eventos. Um trigger dispara a função, essa função executa algo e retorna ou altera alguma informação. Pode ir no banco de dados buscar uma informação, fazer um update, chamar outras funções, etc

Linguagens suportadas

Node, Python, Java, C#, Ruby, Go

AWS Step Functions

Gerencia e orquestra as requisições dos lambdas

AWS EventBridge

É um barramento para gestão de eventos, gerencia e roteia da melhor maneira para direcionar para os consumidores, é serverless.

AWS Glue

Serve como cola, brincadeira, funciona para receber uma entrada e processar ela para adaptar a necessidade dentro do sistema, muito similar aos helpers do typescript. É um serviço de ETL( extraction, transformation and loading). Muito do serviço de data engeenering de pegar um dado e transformar em um formato que seja útil e utilizável

Cloud Trail

É o log interno do aws, registra quem fez o que em qual recurso e quando. Registra tudo usado dentro da conta. Muito útil para governança e auditoria.
Registra informações via Console, SDK, CLI e APIs de serviços, monitoramento completo de todas as atividades na conta. Por isso permite criação de trilhas para facilitação das buscas, podem ser criadas regras para coletas mais fáceis.
Permite armazenamento em um bucket S3 dos logs, facilitando a análise posterior ou para casos de auditoria ou histórico, pode integrar com AWS Athena que gera insights baseado em dados.

Cloudtrail para auditoria

Pode ser usado como trigger para lambdas dependendo do log gerado, facilitando automação. Pode mandar os logs para o cloudwatch também e cloudwatch events para gerar triggers nessa ferramenta. Salva as informações em JSON com id, data, usuário, etc.

CloudWatch

Ferramenta de monitoração dos RECURSOS da aws, como logs de usuários, etc. Ferramenta para observability e métricas padrões ou customizadas para acompanhamento ou disparos de alarmes dependendo dos resultados.
Cloudwatch events: eventos gerados pelos logs, pode criar automações para por exemplo escalar mais máquinas caso as métricas passem de determinado valor

Coletar dados -> Monitorar a saúde das aplicações -> Agir com os events -> Analisar as métricas do passado

Bom para analises de otimizações de recursos ou detecção de bugs, usei bastante.
Ira disparar alertas quando a conta superar o budget

Xray

AWS xray facilita a análise de comportamento, é como se fosse um tableau dos logs gerados no CloudWatch. Cria um mapa dos serviços e mostra de maneira gráfico o estado dos serviços fornecidos. Esse mapa é muito útil para situações de aplicações grandes com muitos serviços, facilita essa análise para identificar problemas ou pontos de melhoria. É o cloudwatch melhorado que permite uma visão estratégica.

Visão estratégica e com zoom out dos comportamentos dos serviços e aplicações

Traces: Coleta todas as chamadas que ocorreram em determinada execução, junta os logs do cloudWatch. facilita o rastreamento de problemas. Necessita que seja inicializado (instrumentalizado) em cada um dos recursos usados, seja no EC2, Lambdas, BeanStalk, etc. Integrado com os bancos de dados redshift, rds e Dynamo.
Detecta latência nas chamadas também.