<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Valesca Fortunato</title>
    <description>The latest articles on DEV Community by Valesca Fortunato (@valescaf).</description>
    <link>https://dev.to/valescaf</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F233388%2F5b200410-1655-46c5-ba51-bcd606967569.jpeg</url>
      <title>DEV Community: Valesca Fortunato</title>
      <link>https://dev.to/valescaf</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/valescaf"/>
    <language>en</language>
    <item>
      <title>Elastic Stack - 6 ferramentas e 1 curiosidade</title>
      <dc:creator>Valesca Fortunato</dc:creator>
      <pubDate>Fri, 31 Jan 2020 02:22:11 +0000</pubDate>
      <link>https://dev.to/womakerscode/elastic-stack-6-ferramentas-e-1-curiosidade-3pgc</link>
      <guid>https://dev.to/womakerscode/elastic-stack-6-ferramentas-e-1-curiosidade-3pgc</guid>
      <description>&lt;p&gt;O &lt;strong&gt;Elastic Stack&lt;/strong&gt; é a suíte de ferramentas open source da &lt;strong&gt;Elastic&lt;/strong&gt;, que tem como foco principal a busca e visualizaçāo de dados em near real time. Um frase bem comum nas apresentações da empresa é: onde tiver dados, você pode usar o Elastic.&lt;/p&gt;

&lt;p&gt;Se você leu meu artigo anterior já viu que o Elastic Stack tem muitos casos de uso, e inclusive apresentei um deles. Agora vamos conhecer os principais componentes do “stack”:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Elasticsearch&lt;/strong&gt;: é um mecanismo de pesquisa e análise RESTful, responsável pelo armazenamento e busca dos dados. Com muitos casos de uso, ele é o coração do Elastic Stack! Olha em quantos projetos você pode usar Elasticsearch: Aplicações de busca diversas como websites e aplicativos, logging e análise de logs, métricas de infraestrutura e monitoramento de containers, APM, análise e visualização de dados geoespacial, análise de segurança e de negócios.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Kibana&lt;/strong&gt;: É uma poderosa ferramenta de visualização de informações e gerenciamento do seu ambiente Elastic. É possível usar até Canva no Kibana, demais né? Para uma lista completa de funcionalidades, acesse: &lt;a href="https://www.elastic.co/pt/kibana/features"&gt;https://www.elastic.co/pt/kibana/features&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Logstash&lt;/strong&gt;: É pipeline de ingestāo de dados, viabilizando a coleta, transformação e armazenamento dos dados de qualquer fonte, tamanho e origem. Com o Logstash você pode fazer, por exemplo um ETL dos dados ou usar os filtros existentes para processar seus eventos dependendo da sua caracteristica.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Beats&lt;/strong&gt;: é a família de agentes de dados, onde é possível enviar dados de centenas ou milhares de máquinas e sistemas para o Logstash ou Elasticsearch diretamente. Abaixo vamos falar dos 7 Beats que compõe essa família e a aplicação deles:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Filebeat&lt;/strong&gt; é a sua visão dos Logs, ou um agente cujo objetivo é coletar dados de arquivos de logs. Isso é extremamente útil principalmente em ambientes robustos com muitas máquinas virtuais ou containers, pois você pode de uma maneira muito simples ,centralizar todos esses logs no Elasticserach através do uso do Filebeat.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Metricbeat&lt;/strong&gt; é a sua visão das métricas. É um agente que coleta métricas de sistemas e dados de recursos como CPU, disco, memória, resoluçāo de DNS e muito mais são em seguida esses dados sāo enviados para o Elasticsearch e podem ser visualizados no Kibana. Atualmente o Metricbeat possui 48 módulos, incluindo módulos para MongoDB, Kubernetes, Redis, etc. Bem útil não?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Packetbeat&lt;/strong&gt; é a sua visão do monitoramento de rede. Com esse agente é possível coletar, pesquisar e analisar seu tráfego de redes. Ele também é uma biblioteca onde você pode escolher um protocolo ou criar a sua aplicação. Isso faz com que seu troubleshoot de rede suba vários níveis!&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Winlogbeat&lt;/strong&gt; é a sua visão dos Logs do Windows, ele trás os mesmo benefícios do Filebeat só para que o sistema operacional Windows. Colete, pesquise e analise os eventos do Windows de forma muita mais fácil e prática.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Auditbeat&lt;/strong&gt; é a sua visão de auditoria, permitindo monitorar e auditar as atividades de usuários e processos no seu ambiente Linux. Esse agente possui uma série de regras de autoria já prontas para você utilizar. Outro ponto de destaque é a função de File Integrity Monitor, muito útil para quem tem ambientes com certificação PCI-DSS pois esse é um dos requisitos obrigatórios da norma.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Heartbeat&lt;/strong&gt; é a sua visão de monitoramento de serviços. Com esse agente é possível monitorar URLs, criando health checks com vários protocolos como ICMP, TCP e HTTP. Uma das maiores dificuldades no monitoramento de aplicações com alta disponibilidade distribuídas em vários servidores é que a maioria das ferramentas se limita em consultar um endpoint, e o load-balancer envia a resposta do servidor que foi responsável por aquela requisição apenas. Com o Heartbeat você tem o monitoramento da aplicação em cada host, sendo possível identificar qual servidor está com a aplicação quebrada, por exemplo. Você ainda pode adicionar ou remover de forma automatizada o monitoramento de um serviço ou aplicação.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Functionbeat&lt;/strong&gt; é a sua visão de dados da Cloud (AWS). Com uma arquitetura serveless você pode fazer a ingestão dos Logs do CloudWatch, dos eventos do Kineses e SQS no seu Elasticsearch. Coletar, enviar, monitorar os dados dos seus serviços de Cloud de forma muito simples.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;APM&lt;/strong&gt;: O Application Performance Monitoring tem como objetivo monitorar todas as chamadas da sua aplicaçāo como já foi falado anteriormente, o foco dele é dar visibilidade de todo o fluxo de requisições, pois com isso, você pode identificar facilmente vários gargalos e resolver a causa raiz de inúmeros problemas, além de também ter visāo da experiência do usuário.&lt;br&gt;
Atualmente o Elastic APM possui 7 agentes (Java, Go, Node.js, Python, Ruby, .NET e Real User Monitoring (RUM)) e diferente de várias outras soluções de mercado, esses agentes são instrumentados diretamente na aplicação, o que torna o processo de configuraçāo mais prático e seguro.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;SIEM&lt;/strong&gt;: É uma ferramenta de gerenciamento e correlação de eventos de segurança lançada recentemente aproveitando know-how da Elastic em armazenamento e busca de dados. Toda a ingestão, tratamento, análise e correlação dos logs e eventos de forma simplificada e rápida, gerando alertas a partir de regras de correlação criadas por você ou pré existentes. Além disso é usado machine learning com modelos para identificação de anomalias que podem tornar-se ameaças ao seu ambiente.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Vamos a curiosidade?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Você sabe porque o Elasticsearch foi criado? Shay Banon era um desenvolvedor desempregado e recém casado que acompanhou sua esposa em Londres onde ela estudava na escola Le Cordon Bleu para ser Chef de cozinha (très chic!). Enquanto ele procurava emprego, começou a brincar com uma versão recente de Apache Lucene com a intenção de construir um motor de busca de receitas para a sua esposa.&lt;br&gt;&lt;br&gt;
Trabalhar diretamente com Apache Lucene pode ser complicado, então Shay começou a trabalhar em uma abstração para facilitar os programadores Java adicionarem pesquisa a seus aplicativos. Esse foi seu primeiro projeto de código aberto chamado Compass.&lt;br&gt;
Mais tarde, Shay conseguiu um emprego trabalhando em um ambiente distribuído de alto desempenho com data-grids em memória. A necessidade de uma pesquisa distribuída de alto desempenho em tempo real era óbvia e ele decidiu reescrever as bibliotecas do Compass como um servidor autonômo chamado Elasticsearch.&lt;br&gt;
O primeiro lançamento público foi em fevereiro de 2010. Desde então, o Elasticsearch se tornou um dos projetos mais populares no GitHub com milhares de colaboradores.&lt;br&gt;&lt;br&gt;
A Elastic é uma companhia open-source e se você tiver curiosidade sobre o modelo de negócios dele, recomendo fortemente esse link: &lt;a href="https://www.elastic.co/about/history-of-elasticsearch"&gt;https://www.elastic.co/about/history-of-elasticsearch&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Nosso próximo artigo será sobre arquitetura do Elastic Stack.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Você sabe tudo que acontece com a sua aplicação em produção?</title>
      <dc:creator>Valesca Fortunato</dc:creator>
      <pubDate>Thu, 30 Jan 2020 01:10:38 +0000</pubDate>
      <link>https://dev.to/womakerscode/voce-sabe-tudo-que-acontece-com-a-sua-aplicacao-em-producao-7md</link>
      <guid>https://dev.to/womakerscode/voce-sabe-tudo-que-acontece-com-a-sua-aplicacao-em-producao-7md</guid>
      <description>&lt;p&gt;&lt;strong&gt;Você sabe tudo que acontece com a sua aplicação em produção?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Hoje vamos aprender um pouco sobre observalidade e monitoramento com o &lt;strong&gt;&lt;a href="https://www.elastic.co/apm"&gt;Elastic APM&lt;/a&gt;&lt;/strong&gt; e eu espero que ao final desse texto você esteja tão animada quanto eu para saber tudo sobre o comportamento, ambiente e dependências da sua aplicação. Vamos lá?&lt;/p&gt;

&lt;p&gt;Para trazer todos esses conceitos para o mundo real, vamos sugerir um caso de uso em que o &lt;strong&gt;&lt;a href="https://www.elastic.co/"&gt;Elastic Stack&lt;/a&gt;&lt;/strong&gt; + &lt;strong&gt;&lt;a href="https://www.elastic.co/apm"&gt;APM&lt;/a&gt;&lt;/strong&gt; são as nossas ferramentas principais na investigação do comportamento de erro em uma aplicação (oi, vida real!?)&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;“Não se gerencia o que não se mede, não se mede o que não se define,&lt;br&gt;
não se define o que não se entende, e não há sucesso no que não se&lt;br&gt;
gerencia”&lt;/em&gt; - Deming, William&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Mas o que é essa tal de Observabilidade?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A observabilidade é um conceito matemático da teoria do controle, onde quão bem podemos conhecer o estado de um sistema baseado nas suas saídas externas. Esse conceito é aplicado ao monitoramento de TI onde as saídas externas são os dados da sua aplicação, como por exemplo, um evento no log, latência da resposta da rede, o tracing completo de uma transação.&lt;br&gt;&lt;br&gt;
A observalidade é uma ferramenta importante em ambientes com microsserviços ou aplicações altamente distribuídas pois ela permite uma maior visualização do que está acontecendo em todas as dependências da aplicação, facilitando não só a operação mas a evolução dos sistema.&lt;/p&gt;

&lt;p&gt;Do cenário simples de uma aplicação básica (front, back-end e banco) a ambientes mais complexos como infraestrutura híbrida (cloud e on premisses) e altamente distribuídos (apis, microsserviços, filas, cache), quanto maior informação e correlação entre os eventos maior a agilidade na investigação de incidentes e erros, sendo possível muitas vezes antecipar a quedas de um serviço, desde que sua aplicação gere os insumos corretos. Mas que insumos seriam esses?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;O 3 pilares da Observabilidade (Logs, Métricas e Tracing)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Logs&lt;/strong&gt;: Os logs são registros de ações que ocorrem em qualquer sistema, esses registros podem servir como base para investigar vários tipos de situações, por exemplo, imagine que você seja responsável por um e-commerce de livros e o cenário ideal é que todas as pessoas que visitam o seu site, consigam adquirir os livros desejados. Porém, em algum momento, um incidente aconteceu e durante o processo de compra os seus usuários começam a não conseguir concluir as transações, nesse momento eles estāo recebendo uma mensagem que diz que o site está indisponível.&lt;br&gt;
Nesse cenário, a açāo a ser tomada é investigar para tratar o problema e uma das primeiras coisas que você pode fazer é consultar os logs.&lt;br&gt;
Ao começar a investigar, você se depara com o seguinte código de erro: Status http 500 - Internal Server Error (com timestamp, por favor Dev(a)s).&lt;br&gt;
Esse registro te dá a visão de que existe um problema na sua aplicação, mas não te diz onde é, por isso é importante juntar as informações obtidas nos logs com métricas!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Métricas&lt;/strong&gt;: As métricas são um agrupamento de registros de log. Voltando para o cenário de crise, pense que você ainda está no meio da investigação da indisponibilidade do seu e-commerce e já sabe que o status que os usuários estão recebendo é o http 500, mas ainda não sabe a causa, porém ao observar as métricas de sistema operacional dos seus servidores, você nota que o banco de dados da sua aplicaçāo está instável e por isso a sua aplicaçāo está indisponível para os usuários.&lt;/p&gt;

&lt;p&gt;Ótimo, já evoluímos na investigaçāo, mas ainda podemos ir um pouco mais além, chegou a hora do nosso amigo &lt;strong&gt;Elastic APM&lt;/strong&gt;!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Elastic  APM (Application Performance Monitoring)&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;O &lt;strong&gt;Elastic APM&lt;/strong&gt; tem como principal funçāo monitorar sua aplicaçāo de ponta a ponta, trazendo para você métricas de infraestrutura e principalmente de serviços. Essa funçāo é muito útil quando você precisa entender a integração dos serviços e como eles interagem entre si, além de também ter visão da experiência do usuário.&lt;/p&gt;

&lt;p&gt;Voltando para a investigaçāo, você já sabe que o banco de dados do seu e-commerce está comprometendo o fluxo de compras, mas se não houve nenhuma mudança significativa no ambiente de banco como podemos identificar a causa raiz? É aí que o &lt;strong&gt;Elastic APM&lt;/strong&gt; pode te ajudar e &lt;strong&gt;muito&lt;/strong&gt;. Com o &lt;strong&gt;Elastic APM&lt;/strong&gt; é possível ver toda a trilha de uma transação, inclusive com a query que a aplicação faz em cada contexto. Mágico não? &lt;br&gt;
A utilização do &lt;strong&gt;Elastic APM&lt;/strong&gt; parece um bicho de sete cabeças mas só parece, com poucas linhas de código instrumentadas na sua aplicação é possível ver o que está acontecendo com o serviço quase em tempo real.&lt;/p&gt;

&lt;p&gt;Hoje o &lt;strong&gt;APM&lt;/strong&gt; da &lt;strong&gt;Elastic&lt;/strong&gt; suporte as seguintes linguagens de programação: Java, .NET, node.Js, Django, Flask, Rails, RUM-JS e Go.&lt;/p&gt;

&lt;p&gt;Agora que você já sabe quais problemas o Elastic APM pode te ajudar a resolver =)&lt;/p&gt;

&lt;p&gt;No próximo artigo vamos falar um pouco sobre o &lt;strong&gt;Elastic Stack&lt;/strong&gt; e aplicabilidade de cada solução.&lt;/p&gt;

</description>
      <category>elasticsearch</category>
      <category>apm</category>
      <category>sysadmin</category>
      <category>monitoring</category>
    </item>
  </channel>
</rss>
