Este documento apresenta como o Elasticsearch, Kibana, Logstash e Codahale Metrics podem ser usados para monitoramento em tempo real de sistemas. O Elasticsearch é usado para armazenar e pesquisar dados, o Logstash coleta e envia dados para o Elasticsearch, o Kibana permite visualizar e analisar os dados armazenados no Elasticsearch e o Codahale Metrics gera métricas sobre o desempenho do código que podem ser enviadas para o Elasticsearch. Exemplos demonstram como esses ferramentas podem ser usadas para detectar anomalias, me
Reunir características fundamentais como integração com grande volume de dados, tempo de resposta adequado e alta disponibilidade. São estes os grandes desafios do desenvolvedor Java na atualidade, frente às novas aplicações. Descubra e desvende "o caminho das pedras" para sua aplicação não morrer na praia.
Atualmente utilizamos MongoDB em um sistema que processa uma média de 300k eventos por dia. O objetivo dessa paletra é compartilhar as lições aprendidas e técnicas de otimizações que utilizamos com foco nos seguintes pontos: Queries, Fields, Sort, Indexes, Replicação, Consistência de dados, Consumo de CPU/memória, Transação.
Apresentação de TCC. Conceitos de Escalabilidade Vertical/Horizontal, Clusterização e Balanço de Carga. Testes de desempenho na Aplicação, desenvolvida com Ruby On Rails, Ajax, MySQL.
AWS Meetup - Processando dados em alta escala com Node.js e AWS LambdaDaniel Baptista Dias
Palestra dada em 15/05/2018 no AWS Meetup SP.
Desenvolver um sistema que suporte um grande número de dados por minuto pode ser der desafiador e complexo.
Irei mostrar um estudo de caso da Sprinklr onde processamos cerca de 500 mil de dados por minuto utilizando Node.js e AWS Lambda, mostrando quais são os pontos onde devemos nos preocupar e quais são os desafios encontrados para se suportar este volume de dados.
Reunir características fundamentais como integração com grande volume de dados, tempo de resposta adequado e alta disponibilidade. São estes os grandes desafios do desenvolvedor Java na atualidade, frente às novas aplicações. Descubra e desvende "o caminho das pedras" para sua aplicação não morrer na praia.
Atualmente utilizamos MongoDB em um sistema que processa uma média de 300k eventos por dia. O objetivo dessa paletra é compartilhar as lições aprendidas e técnicas de otimizações que utilizamos com foco nos seguintes pontos: Queries, Fields, Sort, Indexes, Replicação, Consistência de dados, Consumo de CPU/memória, Transação.
Apresentação de TCC. Conceitos de Escalabilidade Vertical/Horizontal, Clusterização e Balanço de Carga. Testes de desempenho na Aplicação, desenvolvida com Ruby On Rails, Ajax, MySQL.
AWS Meetup - Processando dados em alta escala com Node.js e AWS LambdaDaniel Baptista Dias
Palestra dada em 15/05/2018 no AWS Meetup SP.
Desenvolver um sistema que suporte um grande número de dados por minuto pode ser der desafiador e complexo.
Irei mostrar um estudo de caso da Sprinklr onde processamos cerca de 500 mil de dados por minuto utilizando Node.js e AWS Lambda, mostrando quais são os pontos onde devemos nos preocupar e quais são os desafios encontrados para se suportar este volume de dados.
11 gigas por dia e um milhão de possibilidades (meetup bh)Marcus Lacerda
Como fizemos pra coletar e indexar 11 gigas de logs/documentos por dia, gerados a partir de um conjunto sistemas de missão crítica, proporcionando ao cliente uma forma de antecipar problemas e responder rapidamente sobre anomalias na sua operação, em tempo real.
TCC 1 - Um método para o desenvolvimento de software baseado em microserviçosThiago Pereira
Trabalho de conclusão de curso do curso (TCC 1) de Engenharia de Software da Universidade Federal do Ceará com o tema: Um método para o desenvolvimento de software baseado em microserviços.
With the increasing variety of web enabled devices entering the market, the next generation of the web will need to be more flexible than ever before. In this session we will explore how Responsive Design can help build "A Foundation for the Web" and ensure maximum compatibly on any device now or in the future. We'll also take a glimpse at how using solutions like Zurb's Foundation and ASP.Net MVC can jump start development, and produce effective results fast.
Apresentação realizada durante o 6º Simpósio da ATI, sobre o tema Dados Abertos e iniciativas para cidades inteligentes em 2016 #OpenDAta #SmartCities #DadosAbertos #CidadesInteligentes
Presentation from DDD Sydney, May 28th, 2016
Buzz word! More buzz words! And another buzz word!! Now that that's out of the way, if you're thinking of heading down the microservices path, then how do you do it? How do you build the services? What do you need to think about if you're starting from scratch? What if you're converting a legacy app? How do we deal with versioning? Do we have to use a NoSQL solution, just because Netflix does? Do we need to use docker/containers? What about the code? Show me the code! Well, that's what this session is all about. Designing and building microservices in .NET and then handling a bunch of other concerns that a microservices approach will force you to think about. Sounds interesting, doesn't it? You betcha.
Tornando as coisas mais simples com Azure Functions e Node.JSMatheus Donizete
Palestra realizada no TDC (The Developers Conference) 2018, edição de Porto Alegre. Se trata de uma apresentação sobre Serverless e o funcionamento das Azure Functions, ecossistemas e funcionalidades, com exemplos de código e um pouco mais.
Por que e como montamos um meio de pagamentos inteiramente em Node.js? Nessa palestra, falarei sobre o que aprendemos construindo um projeto relativamente grande em Node. Primeiro, os motivos que nos levaram a usá-lo no Pagar.me e porque Node foi a ferramenta certa para nós. Depois, sobre como montamos uma infraestrutura que une Node.js com tecnologias diferentes (MongoDB, MySQL e ElasticSearch) para usar a melhor parte de cada uma delas e ganhar versatilidade e escalabilidade.
Também abordarei os cuidados com código (patterns, code style, modules, etc), testes, integração contínua e segurança na stack que precisamos ter para criar algo grande com Node. Além disso, contarei um pouco sobre ele em produção, incluindo as ferramentas que usamos para rodar e monitorar nossa aplicação e a infraestrutura por trás dela. O objetivo é mostrar quando, como e porque utilizar o Node, e provar até onde ele pode chegar.
[DataFest-2017] Apache Cassandra Para Sistemas de Alto DesempenhoEiti Kimura
Quando seus negócios crescem, seus sistemas chave não suportam mais o volume de informação inserido, não respondem mais requisições dos seus clientes, a quem chamar? Como resolver? Conheça o Apache Cassandra e como foi fundamental para evoluir nossos sistemas e alavancar o crescimento dos nossos negócios, aplicado no desenvolvimento de sistemas distribuídos de alto desempenho para aplicativos móveis
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009Ramon Durães
Explorando o desenvolvimento para web usando o ASP.NET 3.5 / AJAX / LINQ / Visual Studio 2008 no Campus Party 2009. Palestra realizada por Ramon Durães. MVP e especialista em desenvolvimento de software. Autor de livros e publicações relacionadas. Para saber mais visite o blog http://www.ramonduraes.net
Com o surgimento de frameworks cada dia mais avançados e fáceis de utilizar, desenvolvedores estão cada dia mais focados na lógica de negócio e menos na infraestrutura necessária para execução das aplicações, que acabam por se tornar mais complexas, multi stack e distribuídas.
Mesmo com a evolução gigantesca na área automação que acompanhou esses frameworks (evolução essa liderada por técnologias como Capistrano, Heroku (PaaS) e Vagrant) o gargalo de comunicação entre equipe de desenvolvimento e operações continua a ser o maior impasse da área na hora de colocar uma solução para rodar.
Nesta palaestra vamos falar sobre "arquitetura executável" com foco na ferramenta open source de orquestração: AZK. Uma ferramenta que ajuda a ganhar agilidade no processo de orquestração do ambiente de desenvolvimento, mas sobre tudo tem como resultado uma "documentação executável da arquitetura" que facilita muito a vida de toda a equipe.
11 gigas por dia e um milhão de possibilidades (meetup bh)Marcus Lacerda
Como fizemos pra coletar e indexar 11 gigas de logs/documentos por dia, gerados a partir de um conjunto sistemas de missão crítica, proporcionando ao cliente uma forma de antecipar problemas e responder rapidamente sobre anomalias na sua operação, em tempo real.
TCC 1 - Um método para o desenvolvimento de software baseado em microserviçosThiago Pereira
Trabalho de conclusão de curso do curso (TCC 1) de Engenharia de Software da Universidade Federal do Ceará com o tema: Um método para o desenvolvimento de software baseado em microserviços.
With the increasing variety of web enabled devices entering the market, the next generation of the web will need to be more flexible than ever before. In this session we will explore how Responsive Design can help build "A Foundation for the Web" and ensure maximum compatibly on any device now or in the future. We'll also take a glimpse at how using solutions like Zurb's Foundation and ASP.Net MVC can jump start development, and produce effective results fast.
Apresentação realizada durante o 6º Simpósio da ATI, sobre o tema Dados Abertos e iniciativas para cidades inteligentes em 2016 #OpenDAta #SmartCities #DadosAbertos #CidadesInteligentes
Presentation from DDD Sydney, May 28th, 2016
Buzz word! More buzz words! And another buzz word!! Now that that's out of the way, if you're thinking of heading down the microservices path, then how do you do it? How do you build the services? What do you need to think about if you're starting from scratch? What if you're converting a legacy app? How do we deal with versioning? Do we have to use a NoSQL solution, just because Netflix does? Do we need to use docker/containers? What about the code? Show me the code! Well, that's what this session is all about. Designing and building microservices in .NET and then handling a bunch of other concerns that a microservices approach will force you to think about. Sounds interesting, doesn't it? You betcha.
Tornando as coisas mais simples com Azure Functions e Node.JSMatheus Donizete
Palestra realizada no TDC (The Developers Conference) 2018, edição de Porto Alegre. Se trata de uma apresentação sobre Serverless e o funcionamento das Azure Functions, ecossistemas e funcionalidades, com exemplos de código e um pouco mais.
Por que e como montamos um meio de pagamentos inteiramente em Node.js? Nessa palestra, falarei sobre o que aprendemos construindo um projeto relativamente grande em Node. Primeiro, os motivos que nos levaram a usá-lo no Pagar.me e porque Node foi a ferramenta certa para nós. Depois, sobre como montamos uma infraestrutura que une Node.js com tecnologias diferentes (MongoDB, MySQL e ElasticSearch) para usar a melhor parte de cada uma delas e ganhar versatilidade e escalabilidade.
Também abordarei os cuidados com código (patterns, code style, modules, etc), testes, integração contínua e segurança na stack que precisamos ter para criar algo grande com Node. Além disso, contarei um pouco sobre ele em produção, incluindo as ferramentas que usamos para rodar e monitorar nossa aplicação e a infraestrutura por trás dela. O objetivo é mostrar quando, como e porque utilizar o Node, e provar até onde ele pode chegar.
[DataFest-2017] Apache Cassandra Para Sistemas de Alto DesempenhoEiti Kimura
Quando seus negócios crescem, seus sistemas chave não suportam mais o volume de informação inserido, não respondem mais requisições dos seus clientes, a quem chamar? Como resolver? Conheça o Apache Cassandra e como foi fundamental para evoluir nossos sistemas e alavancar o crescimento dos nossos negócios, aplicado no desenvolvimento de sistemas distribuídos de alto desempenho para aplicativos móveis
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009Ramon Durães
Explorando o desenvolvimento para web usando o ASP.NET 3.5 / AJAX / LINQ / Visual Studio 2008 no Campus Party 2009. Palestra realizada por Ramon Durães. MVP e especialista em desenvolvimento de software. Autor de livros e publicações relacionadas. Para saber mais visite o blog http://www.ramonduraes.net
Com o surgimento de frameworks cada dia mais avançados e fáceis de utilizar, desenvolvedores estão cada dia mais focados na lógica de negócio e menos na infraestrutura necessária para execução das aplicações, que acabam por se tornar mais complexas, multi stack e distribuídas.
Mesmo com a evolução gigantesca na área automação que acompanhou esses frameworks (evolução essa liderada por técnologias como Capistrano, Heroku (PaaS) e Vagrant) o gargalo de comunicação entre equipe de desenvolvimento e operações continua a ser o maior impasse da área na hora de colocar uma solução para rodar.
Nesta palaestra vamos falar sobre "arquitetura executável" com foco na ferramenta open source de orquestração: AZK. Uma ferramenta que ajuda a ganhar agilidade no processo de orquestração do ambiente de desenvolvimento, mas sobre tudo tem como resultado uma "documentação executável da arquitetura" que facilita muito a vida de toda a equipe.
Serviços reativos foram definidos pelo Manifesto Reativo. Eles são construídos para serem flexíveis, fracamente acoplados, escaláveis, e também qualificados com base nos quatro principais princípios: responsividade, resiliência, elasticidade e dirigido à mensagens. Java e a plataforma Java EE oferecem uma ótima estrutura com bibliotecas para implementar serviços reativos e transformá-los em uma arquitetura otimizada para micro-serviços. Esta palestra apresentará as melhores práticas para implementar serviços reativos em Java usando RxJava, definindo uma arquitetura de micro-serviços baseada em casos reais e boa práticas aplicadas.
Slides do treinamento técnico da força de vendas sobre a nova plataforma de IaaS da Embratel. Conheça: http://portal.embratel.com.br/cloud/cloud-server/
O AWS IoT é uma plataforma gerenciada de nuvem que permite aos dispositivos conectados interagir de forma fácil e segura com aplicativos em nuvem e outros dispositivos. Como desenvolvedor do IoT, você deseja interagir com os serviços da AWS, como Kinesis, Lambda e Amazon Machine Learning para obter o máximo de sua aplicação IoT. Nesta sessão, iremos fazer uma sessão sobre como definir regras ou recuperar o último estado conhecido e desejado do dispositivo usando o Device Shadows, conhecer os casos de uso e os benefícios do AWS Greengrass e rotear dados de dispositivos para os serviços da AWS para alavancar toda a nuvem para o seu aplicativo de internet das coisas.
https://aws.amazon.com/pt/iot/
Google AppEngine: Desafios da adoção de cloud no mercado de segurosGustavo Concon
Palestra sobre case apresentado no QConSP 2013, com uma diversidade de produtos da plataforma Google e como endereçamos requisitos tradicionais de Enterprise Apps na plataforma.
Semelhante a Monitoramento em tempo real (DEVDAY2015) (20)
2. Marcus Lacerda
❖ Formado UFU em 2002
❖ JAVA, .NET, JS, ESB (...)
❖ Arquiteto na Ci&T ~9 anos
❖ Bike e Kartista frustrado ;-)
marcus-lacerdaa
marcuslacerda
@mlacerda_cit
43. var node = new Uri("http://localhost:9200");
var config = new ConnectionConfiguration(node);
var client = new ElasticsearchClient(config);
PM > Install-Package Elasticsearch.Net
var myJson = @"{ ""text"" : ""hello world"" }";
client.Index("myindex","mytype","1", myJson);
.Net API
44. client.search({
q: 'devday'
}).then(function (body) {
var hits = body.hits.hits;
}, function (error) { … });
var client = new elasticsearch.Client({
host: 'localhost:9200'
});
var elasticsearch = require('elasticsearch');
Javascript API
45. REST API
● Microsoft .NET
● JavaScript
● Java (binary protocol)
● Ruby
● Python
● PHP
● Perl
● C++
Outras Bibliotecas
57. Java library que fornece um conjunto de
ferramentas poderosas para medir o
comportamento do seu código no ambiente de
produção
source: http://metrics.dropwizard.io
Codahale Metrics
Conteúdo apresentado está disponível nesse link. Será divulgado no momento da apresentação no evento.
Passar a ideia do projeto
-> milhares de usuários conectados no sistema
-> múltiplos dispositivos: mobile, browser, relogia
-> centranas de integrações e APIs públicas
Link com apresentação do Rodrigão (desafios)
-> http://pt.slideshare.net/RodrigoStefaniDoming/qcon-rio-2015-arquitetura-incremental
Características:
O projeto tinha alguns requisitos bem cabulosos!
24x7, isso muda impacta bastante algumas decisões, principalemnte no sentido de quanto voce consegue mensurar dela.
usuários simultaneos 1k, nessa era atual onde normalmente falamos de milhares/milhoes de usuários 1k parece pouco, mas temos que lembrar que este é um sistema, complexo, que executa regras de negócio, faz gestão, processa indicadores, para que esses 1k usuários que estão ativos 24hs pod dia 7 dias por semana.
300k requiests / dia.
Para esse desafio nos acabamos precisando de
PLATAFORMA: "a brincadeira começa quando os usuários começam a utilizar a sua plataforma". Como estar preparado para a vida real?
Como permitir um trabalho de analitics e detecção de anomalias em tempo real?
Precisamos de informações (estatística) sobre o que está acontecendo "dentro" da solução?
Ter condições de analisar dados estátisticos para saber o que está acontecendo na solução e tomar medidas proativas durante a implantação.
Técnica como:
Capture domain events explicitly
Real user monitoring
Structured logging / events
Como permitir um trabalho de analitics e detecção de anomalias em tempo real?
Precisamos de informações (estatística) sobre o que está acontecendo "dentro" da solução?
Ter condições de analisar dados estátisticos para saber o que está acontecendo na solução e tomar medidas proativas durante a implantação.
Técnica como:
Capture domain events explicitly
Real user monitoring
Structured logging / events
Essas informações existem, mas geralmente estão desestruturadas
LOGS da aplicação
LOGS dos servidores
Requests dos usuários
SQL vs Requests
Mais importante do que ter todas as perguntas antecipadamente era ter uma forma fácil de encontrar o que precisávamos
Precisamos de informações (estatística) sobre o que está acontecendo "dentro" da solução?
Ter condições de analisar dados estátisticos para saber o que está acontecendo na solução e tomar medidas proativas durante a implantação.
Repositório central e estruturado das informações técnicas
Plataforma flexível e poderosa de pesquisa que permitisse investigar o que está acontecendo
Fazer o link com Sonar para análise estática de código que já é comum nos projetos quando se fala de Continuous Integration.
Repositório central e estruturado das informações técnicas
Plataforma flexível e poderosa de pesquisa que permitisse investigar o que está acontecendo
Fazer o link com Sonar para análise estática de código que já é comum nos projetos quando se fala de Continuous Integration.
ElasticSearch is an open source, RESTful search engine built on top of Apache Lucene and released under an Apache license. It is Java-based and can search and index document files in diverse formats.
ElasticSearch has been compared to Apache Solr and offers several notable features:
Provides a scalable search solution.
Performs near-real-time searches.
Provides support for multi-tenancy.
Streamlines backup processes and ensures data integrity.
An index can be easily recovered in a case of a server crash.
Uses Javascript Object Notation (JSON) and Java application program interfaces (APIs).
Automatically indexes JSON documents.
Indexing uses unique type-level identifiers.
Each index can have its own settings.
Searches can be done with Lucene-based querystrings.
Grandes players estão usando
Stackoverflow usava Lucene.NET. Apos problemas de performance, mudou pra elastic (isso a uns 2 anos atras).
-> http://meta.stackexchange.com/questions/160100/a-new-search-engine-for-stack-exchange
-> http://highscalability.com/blog/2014/7/21/stackoverflow-update-560m-pageviews-a-month-25-servers-and-i.html
-> Zendesk migrou do Solr para Elasticsearch depois de problemas para escalar seu produto
https://www.elastic.co/elasticon/2015/sf/from-apache-to-solr-to-elasticsearch-evolution-zendesk-search-experience
Compass foi descontinuado para dar vida ao Elasticsearch, com grande mindset deste ser realmente distribuido
Precisa ter o java 7 instalado
Baixar o elasticsearch no site e descompatar o zip
Arquivo pequeno. Menos de 20 megas
Executar o comando ./bin/elasticsearch
Repositório central e estruturado das informações técnicas
Plataforma flexível e poderosa de pesquisa que permitisse investigar o que está acontecendo
Fazer o link com Sonar para análise estática de código que já é comum nos projetos quando se fala de Continuous Integration.
Mostrar o pacote de instacal
witix-dashbaord
witix-client
Mostrar elasticserach funcionando
http://localhost:7001/witix/es
http://localhost:7001/witix/head/ (backoffice de administracao)
Caso mais comum Input (File) para Output (Elasticsearch)
Precisa ter o java 7 instalado
Vaixar o logstash no link logstash/logstash-1.5.4.zip e descompacta-lo
Arquivo pequeno. Menos de 20 megas
Repositório central e estruturado das informações técnicas
Plataforma flexível e poderosa de pesquisa que permitisse investigar o que está acontecendo
Fazer o link com Sonar para análise estática de código que já é comum nos projetos quando se fala de Continuous Integration.
Mostrar o pacote de instacal
witix-dashbaord
witix-client
Mostrar elasticserach funcionando
http://localhost:7001/witix/es
http://localhost:7001/witix/head/ (backoffice de administracao)
Repositório central e estruturado das informações técnicas
Plataforma flexível e poderosa de pesquisa que permitisse investigar o que está acontecendo
Fazer o link com Sonar para análise estática de código que já é comum nos projetos quando se fala de Continuous Integration.
Repositório central e estruturado das informações técnicas
Plataforma flexível e poderosa de pesquisa que permitisse investigar o que está acontecendo
Fazer o link com Sonar para análise estática de código que já é comum nos projetos quando se fala de Continuous Integration.
Repositório central e estruturado das informações técnicas
Plataforma flexível e poderosa de pesquisa que permitisse investigar o que está acontecendo
Fazer o link com Sonar para análise estática de código que já é comum nos projetos quando se fala de Continuous Integration.
Trabalho de analitics e detecção de anomalias em tempo real!