aws meetup | 03/11/2016 | cloudwatch + sns - caso de uso

17
Olá

Upload: franklin-lisboa

Post on 08-Jan-2017

25 views

Category:

Technology


0 download

TRANSCRIPT

Olá

...ainda sobre a VTEX

Ainda falando da empresa em que trabalho, a VTEX é uma plataforma de e-commerce que apesar de nascida no Brasil começou uma expansão na América Latina bem na época que entrei e hoje está em mais de dez países, mantemos no ar lojas como Boticário, Sony Brasil e C&A no Brasil, Walmart argentina e Fravega, que é tipo as Casas Bahia da Argentina, dentre outros caras grandes mundo afora.

...sobre o cenário

Hoje, infra da VTEX é quase que totalmente Powered by AWS, digo quase porque existem pequenos serviços que rodam em outras nuvens como Azure e alguns serviços terceirizados. Contando com isso na AWS trabalhamos numa quantidade superior a 600 servidores e serviços diversos que precisamos monitorar pra que caso algo dê errado saibamos e se possível sanemos antes mesmo do cliente final saber que houve problema.

...das ferramentas

Dentre várias ferramentas, serviços proprietários e desenvolvidos em casa o Cloudwatch sempre foi usado à exaustão, mas até pouco tempo apenas passivamente onde coletavamos métricas e as trabalhávamos fora do Cloudwatch, isso no que se refere a notificações é claro, questões relacionadas a auto scaling são tratadas diretamente no ambiente. Inserir ou remover instâncias baseadas no processamento por exemplo é um procedimento padrão ligado ao cloudwatch.

...sobre o Target

O CloudWatch possui um sistema de alarmes para tomada de ações, seja em cima da instância, do AutoScaling group ou apenas notificar, e aí está finalmente o alvo do talk de hoje, usar esses alarmes para notificar de forma ativa.

...sobre o AWS CloudWatch

O CloudWatch possui um sistema de alarmes para tomada de ações, seja com efeito na instância, no AutoScaling Group ou apenas notificar, e aí está finalmente o alvo do talk de hoje, usar esses alarmes para notificar de forma mais efetiva.

… ainda sobre o AWS CloudWatch

No talk anterior foi falado sobre o Cloudwatch e a criação de alarmes o que ja é muito útil pro dia-a-dia, a parte ruim é que pra notificação direta nos resta a opção de email, e sejamos francos, quem fica vigiando o email 24x7 pra saber se seu sistema caiu?

… AWS SNS (Simple Notification Service)

Nesse ponto entra outro amigo nosso, que é o Mr SNS (Simple Notification Service). Ao criarmos o alarme podemos definir como ação a inserção dessa notificação de alarme em um topico de SNS, escolhendo um nome da lista ou inserindo seu "arn" (AWS Resource Name)

… ainda sobre o AWS SNS (Simple Notification Service)

Para cada tópico criado no SNS podemos colocar vários "Subscribers" que são agentes que vão receber toda notificação que chegar a esse tópico. E aí que está o ponto chave, apesar de você ainda poder inserir seu email como subscriber, você pode também executar um POST http/s, onde o SNS vai enviar um json com as informações contidas no alarme.É importante frisar que para um subscriber receba notificações é necessário confirmar que o desejo de recebê-las em sua aplicação assim como por email, então vc tem, obrigatoriamente, que tratar e responder o json de confirmação que é enviado quando cadastrar uma aplicação como subscriber, pois apenas depois disso vai passar a receber notificações.

… ainda sobre o AWS SNS (Simple Notification Service)

Vale a pena ressaltar que existem outras formas de obter notificações do SNS para agir, além do email e post, como podemos ver no menu de criação de subscription do SNS.

… ainda sobre o AWS SNS (Simple Notification Service)

… e nesse fluxograma

… ainda sobre o AWS SNS (Simple Notification Service)

O uso do SMS, enviado pela própria AWS como parte do SNS, onde é necessário apenas inserir o número do celular acompanhado do código do país e número de área

… ainda sobre o AWS SNS (Simple Notification Service)

...e a interação com o AWS Lambda

“O AWS Lambda é um serviço de computação sem servidor que executa seu código em resposta a eventos e gerencia automaticamente os recursos computacionais adjacentes para você. Você pode usar o AWS Lambda para estender outros serviços da AWS com lógica personalizada ou criar seus próprios serviços de back-end que operam na escala, desempenho e segurança da AWS. O AWS Lambda pode executar automaticamente códigos em resposta a múltiplos eventos, como modificações a objetos em buckets do Amazon S3 ou atualizações de tabela no Amazon DynamoDB.”

… casos de uso

Na VTEX temos uma app centralizadora de notificações, que recebe um post não só do SNS, mas de outros agentes e ferramentas e com essa informações notifica através de ligação telefone e postagem em um canal do Slack (Ferramenta usada para comunicação interna na empresa).

No entanto com base nas informações que temos hoje é possível, uma vez que se pode inserir métricas no CloudWatch, até mesmo disparar um alarme com base no portão eletrônico de uma casa, ou sensor de movimento.

… fontes

Toda informação presente foi extraída da documentação oficial da AWS.

CloudWatchhttps://aws.amazon.com/pt/cloudwatch/

SNShttps://aws.amazon.com/pt/sns/

Lambdahttps://aws.amazon.com/pt/lambda/

?

/franklinlisboa

/franklinlisboa

Obrigado

/freaklin