O documento apresenta um sistema de monitoramento chamado Prometheus. Ele discute a arquitetura do Prometheus, incluindo o servidor Prometheus, exportadores, AlertManager e Grafana. Também aborda conceitos como métricas, bancos de dados timeseries, instrumentação de código, push gateway e alertas.
Apresento alguns conceitos sobre a arquitetura do JBoss Fuse. Nesta apresentação criamos um simples serviço CXF e mostramos diferentes formas de implantar e gerenciar o serviço no JBoss Fuse 6.1
Apresentação realizada no dia 13/04/2013, no 29º Guru-SP: gurusp.org/encontros/vigesimo-nono-encontro-do-guru-sp
Versão original em js: https://github.com/nuxlli/12factor-openruko
WSO2 Application Server como Alternativa ao TomcatEdgar Silva
Veja como podemos apoiar seu ambiente que está repleto de Tomcats que podem ser difíceis de gerenciar, monitorar etc. Breve visão do WSO2 AppServer em conjunto com o WSO2 BAM.
MVP Virtual Conference (MVP V-Conf) 2015: Executando ASP.NET MVC 6 no Mac OS ...Rogério Moraes de Carvalho
O MVP Virtual Conference (MVP V-Conf) é um novo evento virtual de dois dias apresentado por especialistas em tecnologia independentes que utilizam tecnologias da Microsoft diariamente. Conecte-se e veja o que a comunidade de usuários avançados está dizendo sobre o mundo de possibilidades mobile-first, cloud-first com tecnologias Microsoft reestruturadas.
Seguem as 5 trilhas do evento:
- IT Pro Track (English)
- Developer Track (English)
- Consumer Track (English)
- LATAM Track (Spanish)
- Brazil Track (Portuguese)
Na minha palestra, eu apresentei informações sobre como executar ASP.NET MVC 6 no Mac OS X e no Linux. A ideia foi apresentar um passo a passo de como configurar os sistemas operacionais Mac OS X e Linux para desenvolvimento de aplicações ASP.NET MVC 6, e ASP.NET 5 em geral.
Eu apresentei os seguintes tópicos na minha palestra:
- .NET no Linux e no Mac OS X
- ASP.NET 5 e ASP.NET MVC 6
- Visual Studio Code
- Linha de produtos Visual Studio 2015
- Ambientes de desenvolvimento
- Tecnologia de contêiner
- Suporte atual em Linux e Mac OS X
- Demonstração e recursos adicionais
[1] O documento introduz os principais elementos do WSO2 Enterprise Service Bus (ESB), incluindo mediators, sequências, proxy services e endpoints. [2] Ele explica como esses elementos se encaixam para fornecer integração de serviços e fluxos de mensagens. [3] O documento também descreve recursos adicionais do WSO2 ESB como templates, propriedades e suporte a vários protocolos de transporte.
O documento apresenta uma introdução ao JBoss Infinispan, uma plataforma open source para distribuição de dados com Java. O Infinispan permite armazenar objetos em memória para melhorar o desempenho de aplicações, além de sincronizar dados com bancos de dados de forma assíncrona. O documento descreve características como clusterização, evicção de dados, cache loaders e diferentes modos de cache como local, replicação e distribuição.
O documento discute as principais mudanças no ASP.NET vNext, incluindo a remoção da dependência do System.Web e suporte multiplataforma. Ele também descreve os novos componentes como o KRuntime, KVM, KRE e KPM e como configurar projetos usando o Project.json.
Apresento alguns conceitos sobre a arquitetura do JBoss Fuse. Nesta apresentação criamos um simples serviço CXF e mostramos diferentes formas de implantar e gerenciar o serviço no JBoss Fuse 6.1
Apresentação realizada no dia 13/04/2013, no 29º Guru-SP: gurusp.org/encontros/vigesimo-nono-encontro-do-guru-sp
Versão original em js: https://github.com/nuxlli/12factor-openruko
WSO2 Application Server como Alternativa ao TomcatEdgar Silva
Veja como podemos apoiar seu ambiente que está repleto de Tomcats que podem ser difíceis de gerenciar, monitorar etc. Breve visão do WSO2 AppServer em conjunto com o WSO2 BAM.
MVP Virtual Conference (MVP V-Conf) 2015: Executando ASP.NET MVC 6 no Mac OS ...Rogério Moraes de Carvalho
O MVP Virtual Conference (MVP V-Conf) é um novo evento virtual de dois dias apresentado por especialistas em tecnologia independentes que utilizam tecnologias da Microsoft diariamente. Conecte-se e veja o que a comunidade de usuários avançados está dizendo sobre o mundo de possibilidades mobile-first, cloud-first com tecnologias Microsoft reestruturadas.
Seguem as 5 trilhas do evento:
- IT Pro Track (English)
- Developer Track (English)
- Consumer Track (English)
- LATAM Track (Spanish)
- Brazil Track (Portuguese)
Na minha palestra, eu apresentei informações sobre como executar ASP.NET MVC 6 no Mac OS X e no Linux. A ideia foi apresentar um passo a passo de como configurar os sistemas operacionais Mac OS X e Linux para desenvolvimento de aplicações ASP.NET MVC 6, e ASP.NET 5 em geral.
Eu apresentei os seguintes tópicos na minha palestra:
- .NET no Linux e no Mac OS X
- ASP.NET 5 e ASP.NET MVC 6
- Visual Studio Code
- Linha de produtos Visual Studio 2015
- Ambientes de desenvolvimento
- Tecnologia de contêiner
- Suporte atual em Linux e Mac OS X
- Demonstração e recursos adicionais
[1] O documento introduz os principais elementos do WSO2 Enterprise Service Bus (ESB), incluindo mediators, sequências, proxy services e endpoints. [2] Ele explica como esses elementos se encaixam para fornecer integração de serviços e fluxos de mensagens. [3] O documento também descreve recursos adicionais do WSO2 ESB como templates, propriedades e suporte a vários protocolos de transporte.
O documento apresenta uma introdução ao JBoss Infinispan, uma plataforma open source para distribuição de dados com Java. O Infinispan permite armazenar objetos em memória para melhorar o desempenho de aplicações, além de sincronizar dados com bancos de dados de forma assíncrona. O documento descreve características como clusterização, evicção de dados, cache loaders e diferentes modos de cache como local, replicação e distribuição.
O documento discute as principais mudanças no ASP.NET vNext, incluindo a remoção da dependência do System.Web e suporte multiplataforma. Ele também descreve os novos componentes como o KRuntime, KVM, KRE e KPM e como configurar projetos usando o Project.json.
Deploy de aplicações Ruby com Mina - TDC Floripa 2014Ismael Stahelin
O documento apresenta a ferramenta Mina para deploy de aplicações Ruby. Mina é baseada em tarefas e permite implantações seguras através de safe deploys e deploy locks. O processo de deploy com Mina envolve a criação de um arquivo de configuração deploy.rb e a execução dos comandos "mina setup" e "mina deploy".
Redis é um banco de dados open source escrito em C, usado como cache e message broker. Ele armazena dados na memória para alta performance, com opções de persistência em disco, e suporta estruturas como strings, listas, conjuntos e hashes. Redis é usado por empresas como StackOverflow, GitHub e outros para aplicações que requerem alta performance e escalabilidade.
Performance e disponibilidade ‐ Um estudo de caso: website dos CorreiosAlex Hübner
[1] O documento descreve uma estratégia implementada para melhorar o desempenho e disponibilidade de um site institucional dos Correios que rodava no ColdFusion. [2] A estratégia envolveu duplicar as instâncias do ColdFusion em cada servidor para melhor aproveitar os recursos, otimizar configurações do servidor e do banco de dados, e estabelecer rotinas de reciclagem noturna. [3] As mudanças permitiram dobrar a capacidade do ambiente existente sem necessidade de novos servidores.
Material do treinamento "Treinamento RMAN Workshop 12c" promovido pela Oradata, neste treinamento, abordamos as mais variadas maneiras de se executar as operações de backup/restore/recover do banco de dados Oracle, desde as versões mais antigas onde tudo era manual, até as técnicas utilizadas nos dias atuais com o RMAN.
TDC 2012 Goiânia: Trilha Windows Phone / Windows 8 - Desenvolvimento de apps ...Rogério Moraes de Carvalho
Nesta palestra, eu apresentei informações de como usar os seus conhecimentos de desenvolvimento Web para construir apps para publicação na nova Windows Store do Windows 8 usando HTML5, CSS3 e JavaScript. Eu abordei os seguintes tópicos:
Windows Cliente: Evolução
Windows 8
Microsoft Surface
Demo – Windows 8
Windows Store apps
Linguagens suportadas
Windows Runtime (WinRT)
Ferramentas
Licença de desenvolvedor
Demo – Licença
Projetos JavaScript
Demo – Projeto JavaScript
Links úteis
O documento resume as principais novidades da versão 9 do Java, incluindo: (1) modularização do código Java para torná-lo mais escalável e flexível, (2) novas APIs para coleções imutáveis, métodos privados em interfaces e programação reativa, (3) melhorias nas APIs de processos, HTTP/2 e JShell.
O documento apresenta uma palestra sobre as novas tecnologias .NET Core, ASP.NET Core e Entity Framework Core. Aborda os principais conceitos como arquitetura modular e multiplataforma destas tecnologias, ferramentas como .NET Core CLI e Visual Studio Code, além de recursos como Entity Framework Code First e ASP.NET Core MVC.
Periódicos MundoJ e Java Magazine Fevereiro 2012rogerlista
O documento discute diversos tópicos relacionados a Java, incluindo: Java EE 6 Web Profile, Spring Framework, JBoss Seam 3, OpenShift, Android 4, Scrum, NoSQL, MongoDB, Neo4j e reconhecimento de som com Java ME.
O documento discute arquitetura de microsserviços, incluindo pros e contras de microsserviços, APIs da plataforma Zoox, definições importantes como bounded context e UUID, e boas práticas de arquitetura como separação de preocupações.
ASP.NET 5 - Novidades do Desenvolvimento Web em .NETRenato Groff
O documento resume o currículo e as experiências de Renato Groffe na área de tecnologia, incluindo mais de 15 anos de experiência, pós-graduação em Engenharia de Software, certificações como MCTS e ITIL. O documento também lista as redes sociais e contatos de Renato, além de resumir brevemente as principais novidades do Visual Studio 2015 e do ASP.NET 5.
Nesta palestra, eu apresentei um resumo das principais novas características e melhorias do .NET Framework 4.5 para desenvolvedores da plataforma .NET. Eu abordei os seguintes tópicos:
O .NET Framework
.NET Framework: Versões
Linguagem C#: Versões
Suporte a async & await
Biblioteca de classes portátil
.NET para Windows Store apps
Entity Framework 5
ASP.NET Web Forms 4.5
ASP.NET MVC 4
Windows Communication Foundation (WCF) 4.5
Windows Presentation Foundation (WPF) 4.5
Windows Workflow Foundation (WF) 4.5
Melhorias na Base Class Library
Links úteis
O documento fornece uma introdução ao sistema de monitoramento Zabbix e suas funcionalidades. Em 3 frases ou menos:
O documento apresenta o sistema de monitoramento Zabbix, discutindo seu histórico, arquitetura, componentes e funcionalidades como monitoramento de desempenho, aplicações e dispositivos de rede. O palestrante também discute tópicos como implantação, desempenho e modelos de negócio para Zabbix.
O documento discute conceitos relacionados ao desenvolvimento web em Linux, incluindo GNU/Linux, distribuições como Ubuntu, servidores web Apache, bancos de dados MySQL, linguagem de programação PHP e projetos de exemplo utilizando essas tecnologias.
FrontInVale 2016: Webpack - A evolução do asset pipeline (Lightning Talk)Aryel Tupinambá
O documento apresenta o Webpack, uma ferramenta de empacotamento de módulos que permite carregar dependências de forma otimizada. O Webpack usa plugins e loaders para processar diferentes tipos de arquivos e gerar um único arquivo de saída, resolvendo dependências de forma recursiva. Embora o Webpack não execute tarefas como compilação de Sass ou transpilação de ES6 diretamente, ele suporta esses casos por meio de loaders adequados.
O documento discute as novidades da plataforma Java EE 7, incluindo o foco em serviços de computação em nuvem, auto provisionamento e multi-tenancy. A especificação Java EE 7 também trará melhorias em APIs existentes como JPA, JSF e JAX-RS e novas APIs como JSON-P e WebSocket. O lançamento está previsto para o primeiro semestre de 2013.
Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)Tiago Marchetti Dolphine
1) O documento discute a arquitetura de microserviços, como decompor uma aplicação monolítica em serviços independentes e como eles se comunicam.
2) Apresenta os benefícios da arquitetura de microserviços como escalabilidade independente, deploy autônomo e equipes focadas, mas também desafios como integração e falhas.
3) Exemplifica a decomposição de uma loja virtual em microserviços como pedidos, produtos, preços e estoque que se comunicam via REST ou mensageria.
Deploy de aplicações Ruby com Mina - TDC Floripa 2014Ismael Stahelin
O documento apresenta a ferramenta Mina para deploy de aplicações Ruby. Mina é baseada em tarefas e permite implantações seguras através de safe deploys e deploy locks. O processo de deploy com Mina envolve a criação de um arquivo de configuração deploy.rb e a execução dos comandos "mina setup" e "mina deploy".
Redis é um banco de dados open source escrito em C, usado como cache e message broker. Ele armazena dados na memória para alta performance, com opções de persistência em disco, e suporta estruturas como strings, listas, conjuntos e hashes. Redis é usado por empresas como StackOverflow, GitHub e outros para aplicações que requerem alta performance e escalabilidade.
Performance e disponibilidade ‐ Um estudo de caso: website dos CorreiosAlex Hübner
[1] O documento descreve uma estratégia implementada para melhorar o desempenho e disponibilidade de um site institucional dos Correios que rodava no ColdFusion. [2] A estratégia envolveu duplicar as instâncias do ColdFusion em cada servidor para melhor aproveitar os recursos, otimizar configurações do servidor e do banco de dados, e estabelecer rotinas de reciclagem noturna. [3] As mudanças permitiram dobrar a capacidade do ambiente existente sem necessidade de novos servidores.
Material do treinamento "Treinamento RMAN Workshop 12c" promovido pela Oradata, neste treinamento, abordamos as mais variadas maneiras de se executar as operações de backup/restore/recover do banco de dados Oracle, desde as versões mais antigas onde tudo era manual, até as técnicas utilizadas nos dias atuais com o RMAN.
TDC 2012 Goiânia: Trilha Windows Phone / Windows 8 - Desenvolvimento de apps ...Rogério Moraes de Carvalho
Nesta palestra, eu apresentei informações de como usar os seus conhecimentos de desenvolvimento Web para construir apps para publicação na nova Windows Store do Windows 8 usando HTML5, CSS3 e JavaScript. Eu abordei os seguintes tópicos:
Windows Cliente: Evolução
Windows 8
Microsoft Surface
Demo – Windows 8
Windows Store apps
Linguagens suportadas
Windows Runtime (WinRT)
Ferramentas
Licença de desenvolvedor
Demo – Licença
Projetos JavaScript
Demo – Projeto JavaScript
Links úteis
O documento resume as principais novidades da versão 9 do Java, incluindo: (1) modularização do código Java para torná-lo mais escalável e flexível, (2) novas APIs para coleções imutáveis, métodos privados em interfaces e programação reativa, (3) melhorias nas APIs de processos, HTTP/2 e JShell.
O documento apresenta uma palestra sobre as novas tecnologias .NET Core, ASP.NET Core e Entity Framework Core. Aborda os principais conceitos como arquitetura modular e multiplataforma destas tecnologias, ferramentas como .NET Core CLI e Visual Studio Code, além de recursos como Entity Framework Code First e ASP.NET Core MVC.
Periódicos MundoJ e Java Magazine Fevereiro 2012rogerlista
O documento discute diversos tópicos relacionados a Java, incluindo: Java EE 6 Web Profile, Spring Framework, JBoss Seam 3, OpenShift, Android 4, Scrum, NoSQL, MongoDB, Neo4j e reconhecimento de som com Java ME.
O documento discute arquitetura de microsserviços, incluindo pros e contras de microsserviços, APIs da plataforma Zoox, definições importantes como bounded context e UUID, e boas práticas de arquitetura como separação de preocupações.
ASP.NET 5 - Novidades do Desenvolvimento Web em .NETRenato Groff
O documento resume o currículo e as experiências de Renato Groffe na área de tecnologia, incluindo mais de 15 anos de experiência, pós-graduação em Engenharia de Software, certificações como MCTS e ITIL. O documento também lista as redes sociais e contatos de Renato, além de resumir brevemente as principais novidades do Visual Studio 2015 e do ASP.NET 5.
Nesta palestra, eu apresentei um resumo das principais novas características e melhorias do .NET Framework 4.5 para desenvolvedores da plataforma .NET. Eu abordei os seguintes tópicos:
O .NET Framework
.NET Framework: Versões
Linguagem C#: Versões
Suporte a async & await
Biblioteca de classes portátil
.NET para Windows Store apps
Entity Framework 5
ASP.NET Web Forms 4.5
ASP.NET MVC 4
Windows Communication Foundation (WCF) 4.5
Windows Presentation Foundation (WPF) 4.5
Windows Workflow Foundation (WF) 4.5
Melhorias na Base Class Library
Links úteis
O documento fornece uma introdução ao sistema de monitoramento Zabbix e suas funcionalidades. Em 3 frases ou menos:
O documento apresenta o sistema de monitoramento Zabbix, discutindo seu histórico, arquitetura, componentes e funcionalidades como monitoramento de desempenho, aplicações e dispositivos de rede. O palestrante também discute tópicos como implantação, desempenho e modelos de negócio para Zabbix.
O documento discute conceitos relacionados ao desenvolvimento web em Linux, incluindo GNU/Linux, distribuições como Ubuntu, servidores web Apache, bancos de dados MySQL, linguagem de programação PHP e projetos de exemplo utilizando essas tecnologias.
FrontInVale 2016: Webpack - A evolução do asset pipeline (Lightning Talk)Aryel Tupinambá
O documento apresenta o Webpack, uma ferramenta de empacotamento de módulos que permite carregar dependências de forma otimizada. O Webpack usa plugins e loaders para processar diferentes tipos de arquivos e gerar um único arquivo de saída, resolvendo dependências de forma recursiva. Embora o Webpack não execute tarefas como compilação de Sass ou transpilação de ES6 diretamente, ele suporta esses casos por meio de loaders adequados.
O documento discute as novidades da plataforma Java EE 7, incluindo o foco em serviços de computação em nuvem, auto provisionamento e multi-tenancy. A especificação Java EE 7 também trará melhorias em APIs existentes como JPA, JSF e JAX-RS e novas APIs como JSON-P e WebSocket. O lançamento está previsto para o primeiro semestre de 2013.
Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)Tiago Marchetti Dolphine
1) O documento discute a arquitetura de microserviços, como decompor uma aplicação monolítica em serviços independentes e como eles se comunicam.
2) Apresenta os benefícios da arquitetura de microserviços como escalabilidade independente, deploy autônomo e equipes focadas, mas também desafios como integração e falhas.
3) Exemplifica a decomposição de uma loja virtual em microserviços como pedidos, produtos, preços e estoque que se comunicam via REST ou mensageria.
Melhores práticas para Arquitetura em Cloud ComputingDaniel Checchia
A nuvem reforça alguns conceitos antigos de criação de arquiteturas da Internet altamente escaláveis e introduz alguns novos conceitos que mudam completamente o modo pelo qual os aplicativos são criados e implantados.
Para usufruir do benefício completo de Nuvem, incluindo a sua flexibilidade e escalabilidade, é importante compreender os serviços, recursos e melhores práticas em Cloud Computing. Esta palestra fornece uma visão geral técnica e destaca melhores práticas arquiteturais para ajudá-lo a projetar arquiteturas eficientes e escaláveis.
Mudança de paradigma no monitoramento de banco de dadosPolis Consulting
O documento descreve uma apresentação sobre a ferramenta Aimbetter, que fornece monitoramento inteligente de bancos de dados em tempo real. A Aimbetter monitora o desempenho do banco de dados, identifica problemas e envia alertas para permitir uma resolução rápida. Ela também fornece análises avançadas de consultas para ajudar desenvolvedores a identificar e corrigir erros no código. A ferramenta oferece maior produtividade e visibilidade para equipes de DBA, desenvolvedores e centros de dados.
ASP.Net Performance – A pragmatic approach - Luis PaulinoComunidade NetPonto
Nesta sessão abordamos a performance de Sistemas de Informação desenvolvidos na plataforma ASP.NET com recurso a SQL Server com SGBD. Iremos explicar como surgem os problemas de performance em sistemas com alguns anos de existência e qual a abordagem a tomar, quando temos utilizadores insatisfeitos.
Abordaremos também alguns casos de sucesso no mercado a nível de sistemas de alta disponibilidade e como o mercado tem evoluído. De uma forma geral, pretendemos demonstrar técnicas de análise/tuning de performance em ASP.NET e sua evolução ao longo das várias versões, como também algumas técnicas de requisitos para obtenção e estruturação da informação.
Finalmente, o objetivo passa por divulgar procedimentos, técnicas e ferramentas que sirvam como uma referência que possam ser úteis caso surjam problemas de performance nos nossos sistemas de futuro, entre os quais : Do’s & Dont’s, Systematic Tuning, ASP.NET Trace, VS Profiling Tools, SQL Profiler entre outros.
1) O documento discute como um grande sistema REST funciona, abordando tópicos como arquitetura, desempenho e lições aprendidas.
2) É descrito como o Grupo Abril construiu uma plataforma chamada Alexandria usando arquitetura REST para gerenciar e publicar conteúdo digital em diversos canais.
3) Pontos importantes sobre desempenho como uso de cache, arquitetura de middleware e estratégias de cache HTTP são destacados.
AWS Meetup - Processando dados em alta escala com Node.js e AWS LambdaDaniel Baptista Dias
O documento discute como processar grandes volumes de dados do Twitter em tempo real usando AWS Lambda e Kinesis. A solução proposta usa Lambda para ler dados do Kinesis e indexá-los no ElasticSearch para permitir checagens em tempo real, resolvendo problemas de escalabilidade do Elasticsearch. Isso fornece elasticidade, tolerância a erros e capacidade de lidar com picos de tráfego.
O documento apresenta um minicurso sobre novas arquiteturas de data centers para cloud computing. O minicurso aborda tópicos como definições de cloud computing, modelos de serviços e implantação, exemplos de plataformas em nuvem, distribuição de custos em data centers, e novas arquiteturas para melhorar a eficiência como Monsoon, VL2, Portland, BCube e MDCube.
Este minicurso apresenta como desenvolver aplicações para Internet das Coisas (IoT) utilizando a linguagem JavaScript. O minicurso aborda conceitos de IoT, plataformas como Arduino e ESP8266, desenvolvimento de aplicações web com JavaScript no cliente e no servidor, integração com hardware e comunicação RESTful.
1) O documento discute arquiteturas de software para o século 21 e como a AWS pode ajudar empresas a construí-las de forma escalável e com baixo custo.
2) Apresenta diversos serviços da AWS como computação em nuvem, armazenamento, bancos de dados e ferramentas para desenvolvedores.
3) Discutem exemplos reais de como empresas usam a AWS para dar suporte a milhões de usuários de forma automatizada e com economias de até 71% nos custos.
Este documento apresenta um estudo de caso sobre frameworks IoT e analisa algumas opções para apoiar um protótipo de solução IoT. Ele discute os desafios de uma solução IoT típica, como um framework pode ajudar e faz uma breve análise de frameworks como Kaa, ThingWorx, Watson IoT e NodeRed. A conclusão é que a solução adotada utiliza NodeRed e Informix no gateway para análises no edge, enviando apenas resultados normalizados para visualização na nuvem.
O documento discute as oportunidades do mercado da Internet das Coisas (IoT), descrevendo brevemente os computadores para IoT, a arquitetura da IoT e concluindo com os desafios dessa nova área.
O documento apresenta SonarQube, uma ferramenta open source para análise estática de código e gerenciamento de débito técnico. Apresenta como SonarQube mede sete eixos da qualidade de código, como arquitetura, testes e complexidade, e integrações possíveis com TFS e IDEs. Demonstra como SonarQube ajuda equipes a identificar e reduzir débitos técnicos para melhorar a qualidade do código.
Big Data como Serviço: da captura à visualização de dados com alto desempenhoRicardo Longa
O documento descreve a arquitetura de dados da Neoway, incluindo como processam milhões de dados por dia através de crawlers, tratamento, integração e disponibilização dos dados usando Golang, MongoDB, Elasticsearch, mensageria e outros serviços. A arquitetura é construída para escala, disponibilidade e desempenho.
Ext JS é um framework JavaScript popular para construir aplicações ricas para desktop, tablet e smartphone. O documento apresenta o framework Ext JS, discutindo sua história, arquitetura, componentes, ferramentas e dicas para iniciantes.
O documento discute o tamanho adequado de micro serviços com base na experiência de reconstruir a arquitetura de um banco usando essa abordagem. Inicialmente foram criados muitos micro serviços pequenos, mas isso trouxe problemas de custo, manutenção e escalabilidade. Posteriormente, passou-se a pensar mais em termos de domínios, agrupando serviços relacionados e definindo melhor os contextos de domínio, o que melhorou a arquitetura. No final, conclui-se que o tamanho ideal depende de cada caso, mas deve-se foc
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...tdc-globalcode
O documento fornece instruções para criar um produto SaaS escalável com poucos recursos, discutindo como usar templates React e Spring Boot para o front-end e back-end, armazenar dados no PostgreSQL no AWS RDS, versionar código no GitHub, fazer integração contínua com o CircleCI, implantar na AWS usando Beanstalk, Cloudfront e RDS, e fazer entregas contínuas com CircleCI e AWS.
Webinar: Monitorando sensores IoT: Do ESP32 ao GrafanaEmbarcados
José Morais é um engenheiro de sistemas embarcados e diretor da TecnoEVO. Ele escreve sobre IoT e desenvolveu um sistema de monitoramento e controle remoto que coleta dados de campo, os armazena em um banco de dados e exibe visualmente usando dashboards como o Grafana. José deu uma demonstração mostrando como monitorar sensores IoT do ESP32 até o Grafana.
O documento descreve a parceria entre a Microsoft e a Sybase para lançar o SQL Server, desde a primeira versão em 1988 até versões mais recentes. Inicialmente, a Microsoft entrou com credibilidade e a Sybase com a tecnologia do DataServe. Posteriormente, a Microsoft adquiriu os direitos da tecnologia e passou a liderar o desenvolvimento do SQL Server.
Rodando uma API Com Django Rest Framework no Google CloudAlvaro Viebrantz
O documento descreve como construir e implantar uma API Django REST Framework no Google Cloud para monitoramento de tanques em uma fazenda, incluindo criação de projeto, banco de dados Cloud SQL, sensor IoT com MicroPython, recepção de dados na API e visualização no Data Studio.
Semelhante a TDC 2017 - Borg até o Prometheus: Site Reliability Engineering (20)
Rodando uma API Com Django Rest Framework no Google Cloud
TDC 2017 - Borg até o Prometheus: Site Reliability Engineering
1.
2. Quem somos ?
Paulo Castro
Físico pela USP e desenvolvedor de software, arquiteto e agora
coordenador de operações back ti na B2W.
http://paulorcf.com - @paulorcf
Felipe Signorini, DevOps na B2W, arquiteto padawan e grande
entusiasta do desenvolvimento durável.
https://github.com/Signorini - @signorini
3. Introdução - As coisas caem
As coisas caem, todos os profissionais de TI conhecem essa
verdade, como podemos minimizar esse problema.
Monitoramento é o pilar da equipe de operação e infraestrutura,
sendo assim, em um mundo de datacenters híbridos precisamos
pensar uma maneira nova de entender, monitorar e quantificar
os sistemas.
INtrodução
4. Monitoramento para que te quero
Sistema de monitoramento servem para agilizar a tomada de
decisões quando algo está errado.
Não impactar nossos clientes e consequentemente
nosso negócio.
Introdução
5. Saindo do código e visualizando o negócio.
Normalmente a implementação de um sistema de
monitoramento se limita a informações de servidor como
memória, cpu, disco e etc, mais podemos ir além com análise
de aplicativo até o negócio.
Introdução
7. Borg e SRE
SRE (Site Reliability Engineer) é uma
disciplina que incorpora engenharia
de software e aplica para operações,
como objetivo criar sistemas
ultra-escaláveis e que nunca param.
Definição Ben Treynor:
"what happens when a software
engineer is tasked with what used
to be called operations."
Borg e SRE
https://research.google.com/pubs/pub43438.html
https://github.com/kubernetes/kubernetes
Borg Kubernetes
8. Borg e SRE
Borg e SRE
https://research.google.com/pubs/pub43438.html
https://github.com/kubernetes/kubernetes
Borg Kubernetes
9. μServices
Palavra para reunir tudo isso Microserviços.
Pensando em todo esse novo cenário procuramos uma maneira
de entender a operação como developers.
Prometheus apareceu de uma maneira natural já que foi
pensado em como monitorar aplicação publicadas no
Kubernetes.
Borg e SRE
10. μServices
Palavra para reunir tudo isso Microserviços.
Pensando em todo esse novo cenário procuramos uma maneira
de entender a operação como developers.
Prometheus apareceu de uma maneira natural já que foi
pensado em como monitorar aplicação publicadas no
Kubernetes.
Borg e SRE
17. Tudo começou no Sound Cloud
Prometheus
Sistema de monitoramento e alerta open source desenvolvido internamente na SoundCloud.
Escrito em Go (Golang).
18. Vantagens e desvantagens
Prometheus
Vantagens
•Sistema multi dimensional de dados.
•Totalmente customizável, com funcionalidades poderosas.
•Banco TimeSeries otimizado.
•Totalmente Open Source com uma boa aprovação pela comunidade.
•Suporte a Services discovery.
•Modelo Pull.
Desvantagens
•Não tem nenhuma, mentira… :-)
•HA é difícil.
•Exportação dos dados históricos não é simples.
•Um setup em cada datacenter.
24. Pull, sim senhor
Prometheus
A grande maioria dos sistemas de monitoramento
tem a arquitetura baseada no modelo push.
Os servidores enviam informações para servidor
de monitoramento.
Modelo Pull o servidor expõe um endpoint e o Prometheus
consome.
Todo o trabalho fica a cargo do Prometheus deixando os
servidores fazerem seus trabalhos, que é atender os clientes!
31. Banco TimeSeries
BIT TALKS
Banco feitos especialmente para armazenar informações
temporais.
•InfluxDB
•Open TSDB
•Graphite
•PromQL (Este é do prometheus)
32. Banco TimeSeries
Banco timeseries
Como funciona um banco TimeSeries ?
Imagine que você consegue facilmente no seu laptop
correlacionar "data objects" na ordem de
68.000.000.000 (68*10^9), o que equivale a coletar
por 10 segundos 72 métricas com 15 processos em 20
hosts por 1 ano.
33. Banco TimeSeries
Banco timeseries
Como funciona um banco TimeSeries ?
Imagine que você consegue facilmente no seu laptop
correlacionar "data objects" na ordem de
68.000.000.000 (68*10^9), o que equivale a coletar
por 10 segundos 72 métricas com 15 processos em 20
hosts por 1 ano.
34. Banco TimeSeries
Banco timeseries
Como funciona um banco TimeSeries ?
Imagine que você consegue facilmente no seu laptop
correlacionar "data objects" na ordem de
68.000.000.000 (68*10^9), o que equivale a coletar
por 10 segundos 72 métricas com 15 processos em 20
hosts por 1 ano.
35. Banco TimeSeries
Banco timeseries
A mágica é:
● Separar em pequenos "chunks" de mesmo tamanho com "data objects"
em séries temporais.
● Comprimir os "chunks" para reduzir o volume da informação.
● Guardar os dados comprimidos e seu atributo em apenas um "record".
Após a mágica, ganhamos:
● 32 Gb de disco armazena 68 bilhões de data objects.
● Leitura dos "data objects" em milisegundos.
● A navegação nos atributos é super rápida (lendo os "chunks").
● Dá para rodar no seu laptop :-)
Complicado ?
36. Banco TimeSeries
Banco timeseries
Vamos a teoria:
● Definição 1
○ "Data object" é uma tupla de {timestamp, value} onde "value" pode
ser qualquer objeto.
● Definição 2
○ Uma série temporal T é uma lista arbitrária e cronologicamente
ordenada de "data objects" de um tipo de "value".
● Definição 3
○ Um "chunk" é cronologicamente ordenada como parte de uma série
temporal.
● Definição 4
○ Um banco de dados de séries temporais é específico para
armazenar e recuperar informação no tempo de forma eficiente e
optimizada.
38. Histogram
Matriz de dados
Requisições por
segundo distribuídos
Counter
Dado incremental.
Soma de requisições
Gauge
Incremental e
decremental
Consumo de CPU
Estilos de métricas
Métricas
Summary
Matriz de dados
multidimensional.
Consumo por
requisição, max, med,
min etc.
39. Tipos de exporter
Métricas
Dentro da documentação oficial temos mais de 50 tipos de
exporter, deste de serviços específicos, redes, tipos de negócio,
se olharmos os oferecidos pela comunidade as opções são
infinitas, destacamos alguns exporters:
•Node: Informações de infra
•JMX: Exportar todas as informações JMX
•JSON : Exportar métricas vindo de jsons
•Cadvisor: Informações detalhadas de containers dockers
•BlackBox: Informações sobre a saúde de serviços
•Rabbit: Informações detalhadas sobre o Rabbit
•MongoDb: Informações detalhadas sobre o MONGODB
•ElasticSearch: Informações de saúde ElasticSearch
Código
Frameworks
40. Subindo o Node exporter
Prometheus
go get github.com/prometheus/node_exporter
cd ${GOPATH-$HOME/go}/src/github.com/prometheus/node_exporter
make
./node_exporter <flags>
wget http://node_exporter-0.14.0.darwin-386.tar.gz
nohup ./node_exporter &
42. Construindo suas próprias métricas
Instrumentação de código
Poderá criar e expor métricas personalizadas com
instrumentação no próprio código, atualmente quase todas as
linguagens possuem suas bibliotecas.
•Python
•Java
•Node
•Go
•Elixir
•Ruby
•Entre outros
52. Definição por queries
Alertas
Sistema de alertas delimitados por queries, possibilitando uma
completa customização em como os alertas irão funcionar.
Integração com E-mail, Hipchat, slack, pageduty e etc.
55. Granularidade nos alertas
Alertas
Com um sistema de tags e um grande poder do AlertManager,
podemos delimitar regras e pesos para cada tipo de alertas.
•Severidade de cada alerta
•Diferentes canais de atendimento e equipes
•Históricos de alertas
59. WebHook
Alertas
# Whether or not to notify about resolved alerts.
[ send_resolved: <boolean> | default = true ]
# The endpoint to send HTTP POST requests to.
url: <string>
61. Templates
Grafana
Grafana possui compatibilidade com Prometheus nativamente,
além de possuir uma gama de templates produzido pela
comunidade.
Todas as métricas são automaticamente disponíveis para
Grafana, sendo possível de forma fácil criar um dashboard
customizado para cada necessidade.
Quer navegar sobre dados históricos de 4 meses atrás, sem
problemas.
Quer ver em tempo real o quê está acontecendo também dá.
76. Inteligência com dados!
Futuro próximo
Com dados temporais que coletamos podemos junto com áreas de
negócio descobrir coisas fantásticas, hoje já sabemos:
Operações
● Será que sua aplicação precisa de mais ou menos recurso ?
● Diminuição drástico do MTTR (Tempo médio de recuperação
do sistema).
● Entendemos arquitetura da sua aplicação e te ajudamos a
nunca mais ficar fora do ar.
Indicadores de negócio
● Quanto realmente seu app vendeu.
● GMV por app.
● Cliente não percebe problemas, são resolvidos antes.
Dashboards são compartilhados para equipe que centraliza as
estatísticas de seu app.