.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…
Rancher Longhorn no Kubernetes 1.25
Recém lançado em agosto, Kubernetes 1.25 trouxe desafios para o longhorn. Há pouco mais de 10 dias foi liberada na master do projeto a versão que permite usá-lo no Kubernetes 1.25. Mas afinal, o que é Longhorn? Se você usa AKS, EKS, GKE, ou Microk8s e instalações das mais variadas de Kubernetes,...
Depende!
Sempre que uma pergunta técnica ou sobre system design, ou até mesmo arquitetura é respondida com "Depende!", há quem se questione se realmente estamos trabalhando com exatas. Afinal, se estamos no mundo das exatas, porque tudo depende? O que de fato faz os melhores profissionais responderem essas...
Chiseled Ubuntu Images – O mais próximo que teremos de Imagens Distroless para .NET chega junto com o anúncio do .NET 6 no Ubuntu 22.04
No dia 16 de agosto de 2022, a Microsoft anunciou o resultado de sua parceria com a Canonical. Os frutos vão desde o .NET 6 instalável via APT, mas passam também pelas Chiseled Ubuntu Images. Imagens docker super enxutas. Claro que o anúncio não poderia deixar de falar sobre as novas imagens...
Sobre Ports and Adapters, Agnostic Services e modelagem de Serviços
Se você busca flexibilidade e alguma versatilidade para escolher entre estratégias de deployment e distribuição de aplicações a qualquer momento do ciclo de vida do projeto. Desde o dia 1 até a véspera de uma implantação. Ou se você não está certo, mas quer poder trocar uma chamada HTTP por uma...
Quiet Quiting – Problema ou Oportunidade?
Se você acredita que é responsável pelos seus próprios resultados e acredita que pode crescer pelo trabalho duro, disciplina e estudo, esse post é para você. Se você está disposto a sacrificar o hoje por um amanhã melhor, e acredita que tem de ralar para conseguir suas coisas, esse post é para...
Cloud Native | 4 – DevOps
Ao lado de Containers, Microsserviços e Entrega Contínua, DevOps está no alicerce do Cloud Native. Hoje desmistificaremos DevOps e espero acabar de uma vez por toda com essa ideia de que é coisa de infra. Antes de começarmos, preciso recorrer à sua própria memória recente. Preciso que você faça...
RabbitMQ Operators | RabbitMQ Messaging Topology Operator for Kubernetes – Tutorial PT-BR
No último post sobre Operators, eu falei sobre o RabbitMQ Cluster Operator for Kubernetes, o papel dele é construir um cluster. Uma vez que o cluster está ativo e em operação, é hora de começar a usar esse cluster. Virtual Host, Exchanges, Filas e Binds, afinal quem e quando eu deveria criar esses...
MVP | Developer Technologies | 2022-2023
A quarta nomeação chegou!!!! É sempre um momento de muita gratidão. É sempre momento de olhar para o que construímos nesse último ano. Hoje eu darei continuidade ao papo do ano passado, há exatos 1 ano eu falava de Lock-In e posicionamento, agora é hora de continuar essa conversa. No ano passado...
Oficialmente: 20 anos de Carreira!
No dia 1° de julho de 2002, por volta de 19 horas, momento em que esse post será publicado, eu estava chegando em casa do meu primeiro dia de trabalho na Petrobras. Hoje contarei um pouco desse início, os primeiros anos da minha carreira foram decisivos para o resto dessa jornada. O Brasil estava...
Cloud Native | 3 – Continuous Delivery
Nós já vimos como Cloud Native está próximo de microsserviços. Agora é hora de pensar em colocar esses serviços em produção. Com fazemos isso? Tecnologias Cloud Native permite a criação de aplicações escaláveis, resilientes, observáveis, e modernas em um ambiente extremamente dinâmico. Podendo...
Perdemos 17 anos por não entender redes Docker
Somos 6390 pessoas no grupo de Docker do telegram. Se cada um de nós perdeu ao menos 1 dia tentando fazer 2 contêineres conversarem então juntos perdemos mais de 17 anos! Esse é um guia prático de redes docker que ajudará a entender esse universo. A missão desse post é trazer os principais...
RabbitMQ Operators | RabbitMQ Cluster Operator for Kubernetes – Tutorial PT-BR
E se eu dissesse para você que você pode, com apenas 1 comando, criar um cluster RabbitMQ dentro do seu Kubernetes, de forma segura e prática? Hoje é a vez de criarmos o seu cluster RabbitMQ com a ajuda do RabbitMQ Cluster Operator for Kubernetes. Se você chegou até aqui se perguntando: Afinal, o...
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
RabbitMQ Operators | RabbitMQ Messaging Topology Operator for Kubernetes – Tutorial PT-BR
No último post sobre Operators, eu falei sobre o RabbitMQ Cluster Operator for Kubernetes, o papel dele é construir um cluster. Uma vez que o cluster está ativo e em operação, é hora de começar a usar esse cluster. Virtual Host, Exchanges, Filas e Binds, afinal quem e quando eu deveria criar esses...
MVP | Developer Technologies | 2022-2023
A quarta nomeação chegou!!!! É sempre um momento de muita gratidão. É sempre momento de olhar para o que construímos nesse último ano. Hoje eu darei continuidade ao papo do ano passado, há exatos 1 ano eu falava de Lock-In e posicionamento, agora é hora de continuar essa conversa. No ano passado...
Oficialmente: 20 anos de Carreira!
No dia 1° de julho de 2002, por volta de 19 horas, momento em que esse post será publicado, eu estava chegando em casa do meu primeiro dia de trabalho na Petrobras. Hoje contarei um pouco desse início, os primeiros anos da minha carreira foram decisivos para o resto dessa jornada. O Brasil estava...
Cloud Native | 3 – Continuous Delivery
Nós já vimos como Cloud Native está próximo de microsserviços. Agora é hora de pensar em colocar esses serviços em produção. Com fazemos isso? Tecnologias Cloud Native permite a criação de aplicações escaláveis, resilientes, observáveis, e modernas em um ambiente extremamente dinâmico. Podendo...
Perdemos 17 anos por não entender redes Docker
Somos 6390 pessoas no grupo de Docker do telegram. Se cada um de nós perdeu ao menos 1 dia tentando fazer 2 contêineres conversarem então juntos perdemos mais de 17 anos! Esse é um guia prático de redes docker que ajudará a entender esse universo. A missão desse post é trazer os principais...
RabbitMQ Operators | RabbitMQ Cluster Operator for Kubernetes – Tutorial PT-BR
E se eu dissesse para você que você pode, com apenas 1 comando, criar um cluster RabbitMQ dentro do seu Kubernetes, de forma segura e prática? Hoje é a vez de criarmos o seu cluster RabbitMQ com a ajuda do RabbitMQ Cluster Operator for Kubernetes. Se você chegou até aqui se perguntando: Afinal, o...
Cloud Native | 2 – A relação com Microservices
O que faz Microsserviços estar no coração do Cloud Native? Seria a forma de distribuir aplicações? Seria a forma de lidar com complexidade? Seria pela forma como usa recurso de cloud? Qual é a relação entre Microsserviços e Cloud Native? Hoje vamos abordar essa relação de proximidade! Não podemos...
RabbitMQ Operators | Entendendo Kubernetes Operators
Embora não seja comum ver conteúdo sobre o assunto, Operators está no coração do Kubernetes e esse definitivamente é um dos temas mais legais na minha opinião no que diz respeito ao projeto. Nessa série composta por 3 posts, vamos abordar step-by-step os 2 operators do RabbitMQ, mas hoje vamos...
Cloud Native | 1 – Definindo Cloud Native
Ao longo dos últimos anos Cloud Native tem estado em evidência. Há a oportunidade de retrocesso? É hype? Sempre teremos quem defenda que tudo é hype! Por quê com Cloud Native seria diferente? Na real, essas pessoas em geral adiam por anos o estudo por julgaram que algo é hype, até não conseguirem...
Porque as empresas vão continuar buscando seniors ao invés de júniores?
O apagão na TI é um fenômeno real, mas um fenômeno bem estranho do nosso mercado é a distância entre o JR e o estagiário, ou seja o profissional possível, e o profissional desejável. É sobre esses problemas que vamos discutir hoje. De um lado jovens querendo um emprego na TI, a nova mina e ouro do...
Bloqueio do Telegram – SITREP 02 – Quem vai pagar essa conta é você!
Hoje somos dezenas de milhares de profissionais de tecnologia amontoados em grupos do telegram. Nós nos ajudamos e fazemos da vida do desenvolvedor, devops, infra mais fácil, na medida que ele conta com suporte da própria comunidade. Cada comunidade técnica é composta por um grupo de pessoas...
Bloqueio do Telegram – SITREP 01 – Situação e Plano de ação
O bloqueio do telegram está causando histeria na comunidade técnica e em grupos privados. Aqui vou abordar 2 temas. Comunidades técnicas e Grupos de Alunos. Contexto Decisão do supremo demanda bloqueio do Telegram no Brasil. Como é realizado o bloqueio? Quando um país bloqueia um serviço de...
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
Chiseled Ubuntu Images – O mais próximo que teremos de Imagens Distroless para .NET chega junto com o anúncio do .NET 6 no Ubuntu 22.04
No dia 16 de agosto de 2022, a Microsoft anunciou o resultado de sua parceria com a Canonical. Os frutos vão desde o .NET 6 instalável via APT, mas passam também pelas Chiseled Ubuntu Images. Imagens docker super enxutas.
ler mais…
RabbitMQ, .NET, OpenTelemetry, Distributed Tracing, Jaeger, Prometheus e Grafana
Parece sopa de letrinhas aleatórias né? Mas isso fez algum sentido para você, e achou legal, deixa eu te contar o que fizemos aqui do lado de dentro.
ler mais…
NHibernate em 2022 – Será que faz sentido?
Se você já me viu falar de persistência, você talvez já saiba do que eu estou falando, mas talvez não entenda os argumentos.
ler mais…
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).
ler mais…
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?
ler mais…Arquitetura
RabbitMQ Clustering #1
Você já deve ter visto que o RabbitMQ é usado para entregar resiliência, disponibilidade e confiabilidade.
Eu já mostrei isso algumas vezes nos últimos anos.
Talvez já tenha descoberto como pode reduzir a pressão de um volume intenso de trabalho sob seus sistemas, sua infra e seu banco, fazendo com que seja possível tolerar cargas de trabalho vezes maiores do que de fato seu parque consegue tolerar, sem precisar escalar seus sistemas.
Mas afinal, e se o RabbitMQ falhar? O que acontece? Como lidar com isso caso aconteça? Como contornar?
Essa série de posts RabbitMQ Clustering – Publish & Consumer Recovery aborda a criação de clusters, seus principais comportamentos e como aplicações .NET podem se recuperar de falhas com pouco ou nenhum esforço.
Usamos Docker e Docker Compose em exemplos de código que são feitos com C# e .NET 7. Divirta-se.
ler mais…
Resolvendo caso de cochilos de 20s do Kong API gateway
Um dos problemas que percebi com o Kong no docker é que em alguns momentos, principalmente na primeira requisição a ele, encontrei um delay de pontuais 20s. Como estava também usando-o para cache, suspeitei do plugin e estava errado.
A intenção do post é evitar que você também passe por isso.
ler mais…
RabbitMQ – Trabalha em memória?
Já não é tão comum, mas ainda existe quem diga que RabbitMQ é rápido porque não tem banco de dados.
Essa é uma MEN-TI-RA!!
Ele entrega resiliência e performance, por outros motivos.
É sobre isso que vamos falar hoje!
ler mais…
Rancher Longhorn no Kubernetes 1.25
Recém lançado em agosto, Kubernetes 1.25 trouxe desafios para o longhorn. Há pouco mais de 10 dias foi liberada na master do projeto a versão que permite usá-lo no Kubernetes 1.25. Mas afinal, o que é Longhorn?
ler mais…
Chiseled Ubuntu Images – O mais próximo que teremos de Imagens Distroless para .NET chega junto com o anúncio do .NET 6 no Ubuntu 22.04
No dia 16 de agosto de 2022, a Microsoft anunciou o resultado de sua parceria com a Canonical. Os frutos vão desde o .NET 6 instalável via APT, mas passam também pelas Chiseled Ubuntu Images. Imagens docker super enxutas.
ler mais…Containers
Enfim Generally Available do WSL2 que chega ao Windows 10 na versão 2004
A maior expectativa que eu tinha nos últimos anos era esse lançamento: WSL2 em Generally Available. Ficou fantástico!
ler mais…
Tesseract OCR + ASP.NET Core
Esse projeto nasceu de uma iniciativa de combate a SPAM. Spammers no telegram usam novas táticas todos os dias e corrida de gato-e-rato nos faz usar tecnologia para sanar e bloquear as iniciativas desses spammers.
ler mais…
.NET no Linux, vale a pena?
A gente está a tanto tempo nessa batida, que nem nos questionamos mais, mas há muita gente que ainda tem dúvidas ou precisa de argumentos. Enquanto de um lado sequer cogitamos fazer deploy de aplicações .NET Core no Windows, por outro há quem ainda tenha medo de sair do windows.
ler mais…
Do WCF para ASP.NET Core Web API com Docker no Linux 2/2
Agora é hora de mostrar como podemos tirar proveito dos contratos (interfaces) existentes para promover essa migração. Esse é o momento em que a “SOPA de LETRINHAS” ou melhor, os design patterns fazem sentido. Graças a eles, essa migração que poderia ser dolorosa e desastrosa, se torna algo fácil. Não é simples, mas exige pouco esforço. Esses patterns permitirão que o cliente tenha APENAS A FACTORY alterada nessa transição.
ler mais…
Do WCF para ASP.NET Core Web API com Docker no Linux 1/2
Não sei se você conhece WCF, rodando uma enquete eu percebi que uma parcela considerável sequer conhece WCF. Hoje vamos costurar o assunto com um outro post para que eu possa mostrar como fazer uma migração de WCF pra Web API no ASP.NET Core, rodando em containers Linux.
Nosso cenário de teste é super simples, uma API de Cálculo, que só tem uma operação de SOMA. Sem acesso a dados, uma API tão simples quanto isso.
ler mais…Mensageria
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.
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.
ler mais…
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.
ler mais…
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.
ler mais…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.






















