.NET
Cloud Native e Cloud Agnostic
para rodar .NET em qualquer Cloud
ou sem Cloud sempre de forma profissional!
Últimas publicações
Aqui estão os últimos 12 posts de mais de 500…
Streams no RabbitMQ
Uma novidade que vai deixar aqueles que ficavam comparando RabbitMQ e Kafka mais perdidos ainda. No dia 9 de julho saiu um o RabbitMQ 3.9.0 RC que conta com suporte a Streams. A comparação direta era descabida até então: Enquanto o Kafka trabalha com streams o RabbitMQ lida com filas. Alguns...
Kafka vs RabbitMQ
Vamos direto ao ponto: São coisas diferentes, se você está comparando ambos ou está querendo decidir entre eles, você não entendeu algum deles ou não entendeu nenhum dos dois. Mentiras ditas sobre RabbitMQ Ao longo dos últimos anos eu ouvi barbaridades, das coisas mais descabidas possíveis e...
MVP | Developer Technologies | 2021-2022
A terceira nomeação chegou!!!! É sempre um momento de muita gratidão. É sempre momento de olhar para o que construímos nesse último ano. No ano passado falei como foi minha primeira renovação. Agora começamos um novo ciclo, e quero compartilhar algumas coisas com você. Uma bandeira clara O...
SQL Server 2017 e 2019 +Automações | Update JUN/2021
Desde julho de 2018 quando produzi a primeira versão dessa imagem, muita coisa aconteceu. Eu imaginava que em alguns meses ou no máximo em um ano, esse trabalho pudesse se tornar desnecessário. Por isso hoje estou lançando um update nessa imagem, trazendo SQL Server 2017 e 2019. A imagem oficial...
Entendendo RabbitMQ #2 – Caso de Estudo – Envio de Emails
Essa segunda série de posts sobre RabbitMQ visa mostrar como podemos usar RabbitMQ em cenários que não demandam escala. É para explodir a cabeça de quem diz que RabbitMQ é um canhão para matar uma formiga. Na série anterior eu abordei em mais de 11 posts sobre RabbitMQ com foco nos mais variados...
Você sabe se escolheu o data center certo?
Na jornada de criar aplicações globais, o arquiteto precisa prover dados que guiem as estratégias de crescimento de qualquer negócio. Esses dados interferem na forma como projetamos disponibilidade, cache, e recursos específicos para atender regiões específicas do globo. Mas e aí, você sabe de...
Entendendo RabbitMQ #1 – Reduzindo e/ou Eliminando Acoplamento
Ao esbarrar com uma nova tecnologia, você pode se perguntar: Será que é para mim? Com RabbitMQ não é diferente. Mas será que RabbitMQ é para o teu projeto? Nesse post eu vou mostrar minha visão sobre esse questionamento, mostrando os benefícios e quais são os dilemas a respeito do uso de RabbitMQ....
Tutorial: Trabalhando com Secret Files no Jenkins Pipeline
Você já se perguntou como usar arquivos de configurações sensíveis em pipelines de CI/CD sem que isso crie uma vulnerabilidade no seu servidor ou no seu repositório GIT? Afinal, como lidar com arquivos de configuração sensíveis em pipelines Jenkins? METAEsse post é direcionado para quem tem a...
Enterprise Application Log v4
Hoje chegamos à versão 4 do nosso stack de observabilidade. Contamos com o upgrade para a versão 7.13.0 de todos os recursos da Elastic e a adição de novos componentes entre eles o Application Performance Monitoring (APM). Motivador Monitoramento sempre foi um desafio. E cenários on premise ou...
EasyNetQ em perspectiva
Abstrações são desenhadas para resolver problemas e abstrair um ou mais aspectos de uma implementação. Uma abstração pode entregar redução de complexidade, maior coesão, configuração facilitada, adaptação e até mesmo suprimir aquilo que não nos é relevante quando um novo padrão emerge do seu...
Arquitetura de Software – 10 anos de Facebook
No dia 1° de Abril de 2011 eu fundei um grupo de arquitetura que amanhã, no último dia 1° completou 10 anos. É sobre essa história que vou falar hoje. O ano era 2010, e eu já estava cansado dos mesmos assuntos, do bairrismo. Entrar na comunidade naquela época foi um desafio. Os assuntos estavam...
Entrypoint vs CMD – v2 – Conteinerizando o Kubectl
Se você precisa interagir com um cluster kubernetes, você já deve ter ouvido falar do Kubectl (o Cube Control). Hoje eu vou abordar os conceitos de Entrypoint e CMD, e vou mostrar como eu conteinerizei o Kubectl em uma imagem docker, vou explicar o porquê e vou te mostrar o repositório do github...
Projetos Open Source
projetos ativos e projetos antigos disponíveis para estudo
Nenhum resultado encontrado
A página que você solicitou não foi encontrada. Tente refinar sua pesquisa, ou use a navegação acima para localizar a postagem.
Entender | Analisar | Projetar | Desenvolver | Implantar | Manter
A segurança que você busca não está em um tutorialPara entender uma tecnologia é importante entender o que influenciou sua criação, o que ela faz de fato, como ela faz. Para que então se sinta seguro e confiante a respeito das decisões que está prestes a tomar.
De um lado precisamos compreender o que está sendo feito por baixo dos panos para descobrir como extrair o máximo de uma tecnologia ou, ao menos, não atrapalhar o bom funcionamento dela.
O Cloud Native .NET é uma jornada de descoberta sobre tecnologias e patterns que fazem parte da maioria dos softwares que usamos, que somos usuários e que suportam e toleram altas cargas de trabalho, de forma eficaz, eficiente e sustentável.
É primeiro entendendo o que eles fazem, que podemos descobrir oportunidades e evoluir no que fazemos…
Conteúdo
Entendendo RabbitMQ #1 – Reduzindo e/ou Eliminando Acoplamento
Ao esbarrar com uma nova tecnologia, você pode se perguntar: Será que é para mim? Com RabbitMQ não é diferente. Mas será que RabbitMQ é para o teu projeto? Nesse post eu vou mostrar minha visão sobre esse questionamento, mostrando os benefícios e quais são os dilemas a respeito do uso de RabbitMQ....
Tutorial: Trabalhando com Secret Files no Jenkins Pipeline
Você já se perguntou como usar arquivos de configurações sensíveis em pipelines de CI/CD sem que isso crie uma vulnerabilidade no seu servidor ou no seu repositório GIT? Afinal, como lidar com arquivos de configuração sensíveis em pipelines Jenkins? METAEsse post é direcionado para quem tem a...
Enterprise Application Log v4
Hoje chegamos à versão 4 do nosso stack de observabilidade. Contamos com o upgrade para a versão 7.13.0 de todos os recursos da Elastic e a adição de novos componentes entre eles o Application Performance Monitoring (APM). Motivador Monitoramento sempre foi um desafio. E cenários on premise ou...
EasyNetQ em perspectiva
Abstrações são desenhadas para resolver problemas e abstrair um ou mais aspectos de uma implementação. Uma abstração pode entregar redução de complexidade, maior coesão, configuração facilitada, adaptação e até mesmo suprimir aquilo que não nos é relevante quando um novo padrão emerge do seu...
Arquitetura de Software – 10 anos de Facebook
No dia 1° de Abril de 2011 eu fundei um grupo de arquitetura que amanhã, no último dia 1° completou 10 anos. É sobre essa história que vou falar hoje. O ano era 2010, e eu já estava cansado dos mesmos assuntos, do bairrismo. Entrar na comunidade naquela época foi um desafio. Os assuntos estavam...
Entrypoint vs CMD – v2 – Conteinerizando o Kubectl
Se você precisa interagir com um cluster kubernetes, você já deve ter ouvido falar do Kubectl (o Cube Control). Hoje eu vou abordar os conceitos de Entrypoint e CMD, e vou mostrar como eu conteinerizei o Kubectl em uma imagem docker, vou explicar o porquê e vou te mostrar o repositório do github...
Habemus Kubernetes
Hoje eu estou muito feliz por fazer esse anúncio por aqui. Oficialmente estamos subindo as primeiras aulas de Kubernetes no Docker Definitivo, hoje também temos live no canal .NET, falando do Hub de Eventos e em breve teremos conteúdo aqui no gaGO.io que abordam direta ou indiretamente o tema...
Hub de Eventos
Na quinta-feira, dia 18/Março/2021 vamos falar do Hub de eventos que produzi para atender uma demanda particular. Eu não precisava de extrema performance e redundância, mas e se precisasse? Um assunto que eu estava abordando em Janeiro era o Hub, que agora vira conteúdo no Docker Definitivo. Mas...
MongoDump e MongoRestore com Docker
Recentemente produzi a Jornada Dev Pro e foi um evento que teve uma aplicação de suporte. Embora funcionalmente não tenha atendido minhas expectativas, o projeto atendeu bem à seu propósito. Agora é hora de migrar essa infra para outro servidor, e aí? Como lidar com backup/restore do mongodb?...
.NET Microservices Architecture Guidance | 3 Ebooks Gratuitos
A abundância de conteúdo descentralizado e a velocidade com que o mercado avança gera desconforto em qualquer um. Encontrar guias que levem de um ponto A a um ponto B é o desavio de livros, blogs, produtores de conteúdo gratuito e pago. E eu me incluo nisso. Aqui apresento 3 ebooks que ajudam...
Publish com VS em produção: Impactos e Consequências
A Microsoft sem sombra de dúvidas é uma empresa com um foco incrível no desenvolvedor. Diariamente recebemos algum tipo de update, feature, novo produto ou projeto para ajudar no nosso dia-a-dia. O Visual Studio é uma dessas IDE's incríveis, que fazem tudo por você. E se você já me viu criando um...
A Jornada DEV PRO
Ao longo dos últimos anos eu vi muitos desenvolvedores batendo cabeça, cada do seu jeito. Não foram nem uma, nem duas, nem três vezes em que vi profissionais desdenhando de projetos com Redis, RabbitMQ, Kong, Keycloak, ELK Stack e diversas outras tecnologias, eles dizem: "É um canhão para matar...
Conheça nosso Podcast
DevShow PodcastEm 2019 resolvemos criar um podcast, o DevShow Podcast, desde lá são mais de 40 episódios com muito assunto legal, sempre com essa pegada pessoal, falando coisas sérias, mas sem o menor compromisso com a formalidade.
.NET
Consciência Crítica vs Comportamento de Manada
Tomar decisões implica, ou deveria implicar, em conhecimento prévio somado ao discernimento e ponderação a respeito dos impactos e reflexos de cada decisão. Se você não está ponderando sobre suas próprias decisões, alguém está fazendo por você. Direta ou indiretamente. Nos resta saber se estamos falando de influência ou manipulação.
ler mais…
Docker – de A a Z – 20 – Volume TMPFS – o poder do file system em memória
Uma das coisas lindas do Linux é a separação volumes e file system. E você não faz ideia do que dá para fazer com file system em memória!!!?
ler mais…
O fim do IIS
Talvez você esteja acostumado com o Internet Information Services, talvez conheça-o, assim como eu, desde o tempo do Personal Web Server. Entre amor e ódio o IIS ajudou muita gente, mas seus dias de apogeu estão chegando ao fim.
ler mais…
Desenvolvimento de Software: Não deixe seu código-fonte contar mentiras para outros programadores
No telegram fazendo suporte à comunidade, acabei me deparando com um exemplo que me chamou muita a atenção. Um código que mentia.
ler mais…
Isso não é microsserviço!
No post passado eu introduzi uma analogia sobre o automobilismo profissional, e como os avanços tecnológicos chegam ao nosso dia-a-dia como consumidores de automotivos, carros de passeio.
ler mais…Arquitetura
DESCONTINUADO | 10 domínios para você usar à vontade… só no localhost
Se você quer validar um proxy reverso, hospedar diversas aplicações no IIS para testar, enfim, estou compartilhando com vocês 10 domínios que apontam para 127.0.0.1.
ler mais…
Mensageria já existia quando Jesus nasceu…
Até hoje eu consigo me surpreender com quão “novo” é o conceito de filas e troca de mensagens assíncronas para programadores. Hoje eu vou mostrar como esse conceito já está presente na nossa sociedade desde antes do nascimento de Jesus Cristo e você não percebeu ainda.
ler mais…
EDA – Event Driven Architecture: Não confunda eventos com comandos
A diferenciação entre eventos e comandos foi um tema discutido dentro do grupo de arquitetura do Docker Definitivo, e como um tema que gera confusão e ceticismo em alguns aspectos, é hora da gente sair da discussão sobre a parte visível desse iceberg e aprofundarmos na execução e nos cuidados a respeito do tamanho de mensagens e principalmente na diferenciação entre evento e comando.
ler mais…
RabbitMQ e Kubernetes | Rivais ou Aliados?
Se, ambos, RabbitMQ e Kubernetes promovem um melhor uso de sua infraestrutura, trazem resiliência, escalabilidade, performance, será que eles não seriam concorrentes? Como eles concorrem? Eles podem colaborar?
ler mais…
RabbitMQ é Resiliente? [video]
Será que o RabbitMQ de fato é seguro?
O que acontece quando ele cai?
O que acontece se minha aplicação cai?
Será que o RabbitMQ persiste os dados no disco?
Ou o RabbitMQ trabalha somente com dados em memória?
Todas essas perguntas são pertinentes, e vou abordá-las nesse vídeo.
A maior parte do meu conteúdo é o mesmo em todas as redes sociais.
Mas algumas delas me permitem criar conteúdo mais focado na audiência e interesse de cada plataforma.
Assim, instagram, facebook, linkedin e Youtube possuem conteúdos diferentes.
Siga para ficar por dentro de tudo.
Containers
Natal Nerd 2018 – Workshop sobre Docker
Pessoal, para quem não está sabendo vai rolar hoje o treinamento de Docker Online (Docker de Ponta a Ponta – do Desenvolvimento à Nuvem). O Renato Groffe irá ministrar e eu vou ajudar na organização e moderação.
Booking.com – Shipper – BlueGreen e Canary Deployents no Kubernetes
A Booking.com publicou no dia 9/Dezembro/2018 o código fonte do Shipper. Shipper é um projeto de open source que oferece rollouts avançados e personalizados para um ou vários Clusters Kubernetes. Shipper usa gráficos Helm e conceitos nativos do Kubernetes para facilitar a configuração de blue/green ou canary deployments em seus aplicativos.
A versão atual usa a versão padrão do Kubernetes com seu traffic shifting, dessa forma você não precisa de um service mesh para começar. O suporte à Istio está no roadmap e segundo eles ficará pronto nos próximos meses.
ler mais…
Diário de Bordo – Dezembro 2018
Olá pessoal,
trago novidades interessantes que vou compartilhar com vocês.
Oragon
Saiu a versão 1.5.0 do Oragon.Contexts. Oragon.Contexts aglutina os aspectos AOP que dão suporte à Exception Handling e contextos NHibernate. As maiores adições acontecem nos contextos NHibernate que agora suportam:
- SQL Server
- MySQL
- Oracle
- DB2
- PostgreSQL NOVO
- SQLite NOVO
Além das adições, o projeto ganha testes integrados. Isso sinifica que a cada commit, com a ajuda do jenkins e docker, uma nova instância de cada um dos bancos é criada, exclusivamente para validar a implementação. Ainda falta adicionar o DB2 a esse procedimento.
Os testes tem o papel adicional de ser exemplo de implementação.
As configurações estão aqui enquanto, no teste integrado você encontra os testes de aceitação para o acesso a dados. Esses testes garantem que:
- Os objetos de banco (tabelas, colunas, etc) conseguem ser criados dinamicamente via NHibernate Schema Update.
- Leitura e escrita são validados nos cenários de mapeamento 1xN, Nx1 e NxN.
Tudo isso em diversas alternativas de leitura e escrita para expor à cenários diferentes de uso da infraestrutura.
Bom, o resultado é maior garantia para as novas releases, além de incrementar o processo de build, possibilitando a criação dinâmica desses recursos, que possivelmente pode virar um projeto de suporte.
Documentação Oragon
#ChegaDeDesculpas é hora de entregar uma documentação que apresente a solução de forma clara. Embora tenha muito interesse em migrar para o DocFX, usei a imagem que mantenho do Confluence e uma licença anual (10 usuários) para iniciar a documentação do projeto. Você pode ver esse processo de documentação crescendo no endereço docs.oragon.io.
MVP
em 1° de Novembro fui nomeado Microsoft MVP na categoria Developer Technologies. Esse é um prêmio dado pelas contribuições à comunidade.
Vamos combinar, é para ser sem estrelismo. Continuo o suporte no Telegram, e nos grupos (veja na home, os grupos que mais contribuo). Tem faltado tempo, principalmente pois estou atendendo um projeto específico fulltime, muitas vezes tendo de viajar. Meio a restruturação de equipe, enfim. Tenho trabalhado com foco extremo na entrega de features, o que me toma um tempo adicional, além do suporte ao time.
Um dos melhores benefícios do programa MVP é a visibilidade, o que para mim se traduz em possibilidade de causar maior impacto. Estar Microsoft Most Valuable Professional abre possibilidades para impactar mais gente e levar ideias mais longe. No meu caso especificamente, adoro diversos produtos Microsoft, e debuto a favor da sua utilização concomitantemente com soluções open source. De RabbitMQ a Jenkins, de NodeJS com Typescript, ou com API Managers, Linux Containers com Docker, open source me fascina e incentivo seu uso, sempre que entendo que traz valor para as soluções que desenho.
Eventos
Como disse acima, as possibilidades de causar impacto com o MVP são maiores, assim a agenda de eventos de Dezembro é insana para a minha experiência.
Dia 4 – DevWeek 2018 – NH + .NET Core
No dia 4, 22h, vou falar de NHibernate e .NET Core. Vou mostrar as features do projeto e apresentar meus argumentos para elegê-lo meu ORM “Oficial” há mais de 10 anos e permanecer considerando-o o único ORM no .NET Core.
Esse evento será no Canal .NET.
#online #gratuito
https://gago.io/evento/devweek-2018-nhibernate/
Dia 5 – Microsoft Monthly meetup – RJ
No dia 5, logo pela manhã, 9h vou falar sobre Computer Vision no mundo corporativo, apresentando os estudos que fizemos e encontramos em 2017 e 2018 e apresento um roadmap do que está sendo planejado para entrar em produção já em 2019.
https://gago.io/evento/microsoft-rio-monthly-meetup-05-12-2018/
#presencial #microsoft #errejota
No dia 5 volto para SP e passo o resto da semana aqui.
Dia 10 – Containers Night #1
Dia 10 estarei em São Paulo falando Estruturando Implantações corporativas com Docker. Na Fujitsu, em São Paulo.
https://www.meetup.com/pt-BR/dotnet-Sao-Paulo/events/256811038/
#presencial #fujissu #essepê
Dias 11-12 – Microsoft Ignite
Aproveitando, na mesma semana começa o Microsoft Ignite, também aqui em SP. Já enviou sua inscrição?
Estarei assistindo ao evento!
https://gago.io/evento/microsoft-ignite-the-tour-sp/
#presencial #sp
Dias 13-14
Nos dias 13 e 14 continuarei em SP para um evento privado (na verdade ainda estou me habituando com os “acessos” à informação, e não sei o que dá para divulgar. Mas saiba que se não estou respondendo suas mensagens, é porque estou em um evento nesse período.
Dia 15 ou 16 – Docker – Aulão Beneficente
Renato Groffe ainda está fechando a data, mas faremos um evento beneficente, online, para arrecadar dinheiro para o Natal NERD. Renato me pediu para ajudar na moderação no Youtube, e me ofereci para falar um pouco. Ainda estamos fechando as datas, preciso criar o evento aqui no site, enfim.
Será pago e 100% do dinheiro será para o Natal Nerd.
Fechando 2018
Acompanho quase que diariamente as visitas aqui do site. E como é um número gerenciável, dá para entender o que cada um busca, quais os interesses, o que tem buscado recorrentemente. O maior problema nesse momento é um projeto em que estou tocando e precisando urgentemente de um arquiteto para tocar o projeto e me deixar volta para Ofertas e Inovação, minha área na Ebix que está parada desde maio desse ano.
Os resultados do ano são positivos e esse dezembro está mais tumultuado do que deveria em virtude de ter adiado minhas férias por conta desse projeto. Eu iria pegar esse período para tirar férias.
Novidades para 2019
2019 já começou para mim! Estou trabalhando nas novas direções que os projetos que estou tocando devem assumir, e novas estratégias para alcançar e apoiar mais gente a entregar mais projetos.
Muita coisa boa está por vir, e conto com o suporte e apoio de vocês.
Feedback
A propósito, sei que alguns me acompanham e gostariam de trocar uma ideia, bater um papo, falar sobre seus problemas. Não hesitem, dou preferência para a utilização do Telegram. Sou mais tímido do que se imagina!
Pessoal, um grande abraço, e continuamos na saga por fazer uma Brasil melhor! Com comunidades mais participativas, mais colaborativas.
Enfim, venha fazer parte disso, todos os links para comunidades estão na home do site.
[EBOOK] Designing Distributed Systems by Brendan Burns
Com o subtítulo “Rapidly develop reliable, distributed systems with the patterns and paradigms in this free e-book” o livro Designing Distributed Systems de autoria de Brendan Burns, Distinguished Engineer at Microsoft, works on Azure and is cofounder of the Kubernetes project. Apesenta uma visão geral sobre sistemas distribuídos sob a ótica de containers e orquestração de containers. Como dito na breve assinatura do Brendan, ele é um cofounder do projeto Kubernetes e hoje trabalha na Microsoft.
Por que eu escrevi este livro
Ao longo da minha carreira como desenvolvedor de uma variedade de sistemas de software de web search a nuvem, eu construí um grande número de sistemas distribuídos confiáveis e escaláveis. Cada um desses sistemas foi, em geral, construído do zero. Em geral, isso é verdade de todos os aplicativos distribuídos. Apesar de ter muitos dos mesmos conceitos e mesmo às vezes lógica quase idêntica, a capacidade de aplicar padrões ou reutilizar componentes é muito, muito desafiador. Isso me forçou a perder tempo reimplementando sistemas, e cada sistema acabou sendo menos polido do que poderia ter feito. A recente introdução de contêineres e orquestradores de contêineres fundamentalmente mudou o panorama do desenvolvimento do sistemas distribuídos. De repente, temos um objeto e interface para expressar padrões centrais de sistemas distribuídos e construção componentes reutilizáveis em containers. Eu escrevi este livro para reunir todos os praticantes de sistemas distribuídos, nos dando uma linguagem compartilhada e uma biblioteca de dardos para que todos possamos construir sistemas melhores mais rapidamente.
Saiba mais sobre o Autor
Siga Brendan Burns no Twitter, GitHub.
Baixe o Livro: https://azure.microsoft.com/en-us/resources/designing-distributed-systems/
GitHub: https://github.com/brendandburns/designing-distributed-systems
Underwater – Construindo Libraries .NET Standard Profissionais
Então você quer lançar uma library no Nuget.Org? Nesse post vou abordar Github Organization (Org), a integração do Org inteiro com seu Jenkins. No Jenkins vou falar de testes unitários, build, deploy, de projetos .NET Core usando Jenkins Pipeline/Jenkinsfile e publicação dos seus pacotes no MyGet e Nuget. Vou abordar cobertura de código e análise com SonarQube, tudo que estou começando a implantar nos meus projetos.
Mensageria
Message Broker & .Net Core – Introdução ao RabbitMQ
Pessoal, no dia 15/Fev batemos um papo no Canal .NET com o título Message Broker & .Net Core – Introdução ao RabbitMQ. Nesse bate-papo apresentamos RabbitMQ como Message Broker, mas com foco no AMQP, que por sua vez desponta como principal standard, amplamente utilizado e implementado por diversos serviços, projetos e produtos, oferecendo maior flexibilidade na hora de escolher sua implementação de message broker.
Na narrativa abordei modelos de integração mais antigos, até uma implementação com AMQP, mostrando features, e algumas dicas valiosíssimas que ajudam no entendimento de alguns elementos, que a princípio parecem não fazer muito sentido, mas depois se mostram valiosíssimos dada a sua simplicidade e flexibilidade.
Hangout (Gravado)
Se você quer saber mais sobre RabbitMQ, AMQP, e conhecer algumas demonstrações de uso, fique de olho aqui no site pois tem muito conteúdo a respeito.
Apresentação
[slideshare id=88038393&doc=20-rabbitmq-180215092334]
Demos e Código Fonte
RabbitMQ – Exemplos de Setup
RabbitMQ no Docker (Este projeto consistem em um conjunto de dockerfiles que demonstram as diversas formas de configurar e habilitar plugins no RabbitMQ)
No github separei em um modelo gradativo do mais simples para o mais complexo, adicionando features a cada nova pasta: Gradualmente adicionei vhosts à configuração, depois volumes, plugins (management, mqtt, stomp, nativo e com suporte web), até termos uma instância full featured.
Apresentei também demos com AMQP + .NET Core além de MQTT e STOMP usando as páginas de exemplo que vão embarcadas no RabbitMQ.
O código está no meu github: https://github.com/luizcarlosfaria/CanalDotNet-MessageBroker
Youtube Downloader
As demos anteriores são muito boas, mas precisava mostrar algo mais “real”, então apresentei esse projeto. Esse foi um projeto que serviu de narrativa entre dezembro e fevereiro, me ajudando a apresentar cenários reais de uso de RabbitMQ entre outros diversos elementos. A segunda demonstração foi pautada sob esse projeto e seu código fonte está disponível no github.
https://github.com/luizcarlosfaria/youtube-downloader
Messaging Patterns – Pipelines Elásticos
Pipelines Elásticos quebram processamentos em pipes que por sua vez podem ser escalados individualmente. Atuando com grandes cargas de trabalho, oferece flexibilidade, melhor consumo de recursos e melhora no tempo de resposta com o aumento de paralelismo.
A dinâmica peculiar aos processos de longa duração exige sempre algum tipo de reengenharia e algum nível de inventividade. São cenários em que o mais simples nem sempre traz os resultados esperados. Escalar processos de longa duração pode não ser tão trivial quando parece. A dificuldade mora na razão entre paralelismo e produtividade, depreciados pela natureza desse tipo de processamento.
ler mais…
docker-gallery/EnterpriseApplicationLog – v3.0
Em outubro no post Docker – de A a Z – 15 – RabbitMQ, LogStash, ElasticSearch e Kibana com Docker Compose eu apresentei um modelo interessante de Log, com uma abordagem diferente. Ficou muito simples para trabalhar com o stack, no entanto a Elastic.co mudou muita coisa no meio do caminho e foi necessário readaptar o projeto às novidades da plataforma. Para alegria dos que gostam do projeto que compilei, aqui está a novidade: Revisitei as configuração e acertei o que era necessário para o stack!
A premissa base que me levou à compilar esse stack é criar a possibilidade de utilização desses 5 elementos, sem dor de cabeça. Conectando os pontos, e criando um pacote pré-moldado, todo o entendimento e gerenciamento da plataforma se torna mais simples, e se você quer um stack funcional em minutos, é uma das poucas alternativas.
Eu já fiz pelo menos 2 setups desse stack sem docker e docker-compose e te garanto: é absurdamente traumático, principalmente se quem for executar a tarefa precisa de um documento formal que diga como fazer tudo, from scratch! São 5 elementos, 5 configurações específicas, cada um em um documento, cada um com seus passos em ordem, enfim, um mini-inferno para ambientes mais burocráticos e inviável para quem só quer estudar. Esses motivos me fizeram criar o projeto, permitir que com 3 linhas de comando e alguns segundos, você tenha tudo isso rodando e colaborando em sua infraestrutura.
Sobre os comandos, continuam os mesmos:
git clone https://github.com/docker-gallery/EnterpriseApplicationLog.git cd ./EnterpriseApplicationLog docker-compose up
Entre a primeira release, em outrubro de 2016, e meados de 2017 muita coisa coisa mudou, a Elastic criou seu repositório próprio para imagens docker e lançou algumas releases de seus produtos, com isso muita coisa parou de funcionar, e o stack ficou quebrado. As últimas releases no docker hub causaram essas quebras, mas serviram de alerta.
Agora o stack está aqui novamente!
A release 3.0 do projeto conta com:
- Adequação à mudança de hub.docker.com para docker.elastic.co.
- Revisão das configurações e adequação para as novas versões dos produtos.
- Update do RabbitMQ indo para a versão baseada em apline.
- Remoção do Xpack (o stack ELK é open source, no entanto o Xpack é um pacote pago).
Se quer conferir, rode as linhas de comando acima, ou visite o repositório que está disponível no GitHub. Esse projeto não possui imagem própria, apenas configura imagens do hub.docker.com e agora do docker.elastic.co.
Docker – de A a Z – 15 – RabbitMQ, ElasticSearch , LogStash e Kibana
Durante a série Docker de A a Z, esse foi um dos Stacks entregues para facilitar a compreensão de como docker pode nos ajudar a unir soluções complexas, colaborando para criar stacks com diversos projetos e produtos.
Esse stack serviu para a apresentação, mas também virou projeto e hoje é mantido e atualizado, por mim e por colaborações.
Para simplificar a apresentação desse conteúdo o post foi movido para a página do Stack aqui no site.
Conteúdo e Posicionamento
.NET + Cloud Native + Cloud Agnostic
.NET | DevOps | Microservices | Containers | Continuous Delivery
.NET muito além do .NET
O mínimo de infra que todo dev e/ou arquiteto deveria saber
Aplicações distribuídas e comunicação entre serviços (RabbitMQ / gRPC)
Containers, Docker e Kubernetes
RabbitMQ e Mensageria e comunicação assíncrona entre aplicações e serviços
Arquitetura de Software e Arquitetura de Solução com foco no melhor aproveitamento em projetos .NET
Nossos números
Desde 2002 trabalhando com desenvolvimento de software
Desde 2002 ajudando outros devs
Desde 2010 trabalhando exclusivamente como arquiteto
Contas atingidas no telegram/facebook
Alunos
Microsoft MVP
Conteúdo Gratuito
Tudo que está aqui no gaGO.io é conteúdo gratuito, feito para ajudar desenvolvedores dos mais variados níveis.
Cursos
Tenho também alguns programas de acompanhamento. Esses programas tem a função de ajudar desenvolvedores em áreas específicas ou de forma mais abrangente na jornada do arquiteto.






















