Por Edilson Azevedo* e Cesar Mesquita* >>

A Ilegra esteve presente no The Dev Conf 2016, que aconteceu em Porto Alegre de 5 a 8 de outubro, participando de diversas trilhas, entre elas a “Cloud Computing” onde apresentou a palestra que dá título a este post. Confira o que abordamos! :-)

A TI passa por um momento de transformação. Cada vez mais a área de Negócios demanda por ciclos de entrega de software rápidos e com qualidade.

A transformação digital impulsiona a necessidade de uma adaptação tecnológica capaz dessa flexibilidade. Processos de integração e liberação contínuos, Cloud, microserviços, plataformas escaláveis como Kubernetes, aplicações distribuídas, cada vez ganham mais adeptos e se tornam realidade.

Neste post abordaremos o monitoramento de aplicações rodando no ECS (Serviço de Orquestração de Containers da Amazon) de forma dinâmica, permitindo trabalhar simultaneamente com grandes volumes de dados. A solução utilizará a ferramenta Prometheus da SoundCloud: Pioneira no modelo de dado dimensional com timeseries.

O Prometheus, em comparação com as ferramentas de monitoramento tradicionais, permite o monitoramento dinâmico de ambientes baseados em microservices, onde cada peça da solução trabalha de forma independente:

Monitorando aplicações distribuídas em Cloud com SoundCloud Prometheus

Além disso, sua arquitetura de dados baseada em timeseries permite que o monitoramento em si não seja baseado apenas em alertas de status “up or down”, mas estatísticas comportamentais de uma métrica específica. Em outras palavras – e utilizando um exemplo específico – por que alertar o time se 300 containers – de 1.000 – estão com problemas se a experiência do usuário final não está sendo impactada?

Além disso, sua arquitetura de dados baseada em timeseries permite que o monitoramento em si não seja baseado apenas em alertas de status “up or down”, mas estatísticas comportamentais de uma métrica específica. Em outras palavras - e utilizando um exemplo específico - por que alertar o time se 300 containers - de 1.000 - estão com problemas se a experiência do usuário final não está sendo impactada?

QUERIES

Outro ponto forte do Prometheus é a facilidade em buscar informações. Sua classificação de dados utilizando “Labels” é distribuída hierarquicamente e permite a busca em várias dimensões de uma mesma métrica:

QUERIES Outro ponto forte do Prometheus é a facilidade em buscar informações. Sua classificação de dados utilizando “Labels” é distribuída hierarquicamente e permite a busca em várias dimensões de uma mesma métrica:

ALERTAS

Como falamos, Prometheus armazena e classifica as informações em timeseries e isso é ótimo quando falamos de alertas.

Como exemplo, esse é o método de alerta de “Disk Full” em uma ferramenta bem conhecida chamada Nagios:

Monitorando aplicações distribuídas em Cloud com SoundCloud Prometheus

Vemos claramente que os alertas são baseados em pontos de threshold estáticos.

Já no Prometheus, ele se beneficia dos dados anteriores e busca um padrão comportamental que não é usual para o ambiente monitorado:

Monitorando aplicações distribuídas em Cloud com SoundCloud Prometheus

INSTRUMENTAÇÃO

A última feature que abordaremos aqui é a instrumentação: a habilidade do software de monitoramento de se integrar com a aplicação.

No exemplo abaixo, com uma pequena alteração no código da aplicação, habilitamos o Prometheus a buscar métricas de uma determinada feature:

Monitorando aplicações distribuídas em Cloud com SoundCloud Prometheus

As possibilidades são infinitas. Pode-se, com isso, não apenas monitorar o comportamento da aplicação, mas também a interação com o usuário.

Pode-se assistir esse comportamento e utilizar esses dados para a liberação de uma feature de forma granular, ou perceber a atividade de um grupo de usuários e com isso sugerir melhorias na aplicação, por exemplo.

A arquitetura utilizada para testes do Prometheus baseou-se nesse exemplo:

Monitorando aplicações distribuídas em Cloud com SoundCloud Prometheus

Os passos para replicar esse ambiente podes ser encontrados aqui.

Esse foi um pequeno resumo de como o Prometheus em conjunto com soluções AWS podem trazer melhores dados sobre a experiência do usuário, comportamento da aplicação e de ambientes microservices.

A apresentação completa pode ser vista aqui.

REFERÊNCIAS:

https://prometheus.io/

https://aws.amazon.com/blogs/compute/service-discovery-via-consul-with-amazon-ecs/

 

SOBRE OS AUTORES

Edilson_Azevedo

*Edilson Azevedo é formado em Redes de Computadores e com 12 anos de vivência na área de TI, 10 deles dedicados massivamente em tecnologias opensource. Atualmente é cloud solution architect na área de operações da Ilegra especializando-se em cloud computing e metodologias ágeis.

Cesar_Mesquita

*Cesar Mesquita é DevOps Engineer com ampla experiência como agile coach e arquiteto de infraestrutura em clouds públicas e privadas. Trabalha na ilegra como arquiteto de soluções em cloud, possui mais de 13 anos atuando na operação de infraestruturas de TI e é um entusiasta da cultura DEVOPS. Fã incondicional de The Walking Dead, Breaking Bad e Band of Brothers.

Tagged on:         

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

CAPTCHA
Change the CAPTCHA codeSpeak the CAPTCHA code