Skip to content

Instantly share code, notes, and snippets.

@virgiliojr94
Last active April 18, 2024 20:43
Show Gist options
  • Save virgiliojr94/0e82fe5b32668de5a4476dd5402574e2 to your computer and use it in GitHub Desktop.
Save virgiliojr94/0e82fe5b32668de5a4476dd5402574e2 to your computer and use it in GitHub Desktop.

Desafio técnico de nivelamento DevOps+SRE

Atividade 1

Construa uma aplicação HTTP simples que expõe métricas no formato do Prometheus (Prometheus - Monitoring system & time series database). Configure um Prometheus para coletar essas métricas e um Grafana (Grafana OSS | Leading observability tool for visualizations & dashboards) locais para poder visualizar essas métricas.

As métricas expostas pela aplicação devem incluir:

  • Throughput de requests que a app está recebendo;
  • Tempo de processamento dos requests. Aqui teremos gráfico com percentis (p99, p90, p50);
  • Distribuição dos status codes das responses.

Se quiser, pode expor outras métricas também, mas essas 3 devem estar expostas pela aplicação.

Tendo essa aplicação em mãos, montar um dashboard no Grafana para que essas métricas possam ser visualizadas.

Tudo pode estar rodando local usando docker-compose, sem problemas. Não precisa deployar essa stack em nenhum lugar. Mas é importante que existam instruções para que outra pessoa possa reproduzir tudo localmente, no PC dela.

Atividade 2

Considerando o que você aprendeu na Atividade 1, como você transportaria essa aplicação para um cenário onde ela rodaria no Kubernetes? Qual seria um possível plano de ação para rodar toda essa stack (Prometheus, Grafana e sua app) dentro de um cluster Kubernetes?

Essa atividade é apenas uma pesquisa, é para que você possa montar esse possível plano de ação de como seria rodar tudo isso no Kubernetes.

De preferência responda essa questão no readme do seu repositorio.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment