fbpx

.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 400…
RabbitMQ Clustering #1

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...

ler mais
Cloud Native – Pela perspectiva das big techs

Cloud Native – Pela perspectiva das big techs

Ainda existe uma aura em torno do termo, mas com uma mensagem clara. Não basta só DevOps, não basta só Microsserviço, não basta só Nuvem. Cada uma dessas camadas de complexidade são complementares, e tem como objetivo aumentar a eficiência e eficácia de soluções projetadas para a nuvem. Aplicações...

ler mais
RabbitMQ – Trabalha em memória?

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! Essa semana recebi uma mensagem que dizia algo aproximadamente assim: Gago, como...

ler mais

Fique por dentro e não perca nada

Menos de 10% da audiência recebe o conteúdo publicado

A newsletter é o meio mais eficiente de furar o bloqueio dos algoritmos das redes sociais e fazer o conteúdo chegar até você.

Assim evitamos poluir as comunidades com chamadas para eventos e lives.

Essa é forma mais eficiente de receber meu conteúdo.

Somos mais de 6k inscritos

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 tutorial

Para 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…

 

 

Conheça nosso Podcast

DevShow Podcast

Em 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.

Saiba mais...

.NET

DevWeek 2019 | Canal .NET

DevWeek 2019 | Canal .NET

O Canal .NET apresenta pelo 5° ano consecutivo o DevWeek. O evento começa hoje, segunda-feira e termina nessa quarta.

Convidados

São 4 convidados que falarão sobre Desenvolvimento Móvel, ASP.NET Core, Blazor e Prometheus!

Canal .NET #completo

Dessa vez, nosso time do Canal .NET está completo, sem desfalques! Uhuuuuu!!!

Aqui fica meu convite, se inscreva pelo meetup para saber mais sobre o evento.

Fica aqui meu convite! Compartilhe esse post com alguém, principalmente se essas tecnologias fizerem sentido para o projeto dela.

A propósito, vou falar de RabbitMQ. Tem uma série super legal aqui no site.

Os 8 primeiros posts da série sobre RabbitMQ já estão no ar.
📍#1 Prefácio
https://gago.io/blog/rabbitmq-amqp-1-prefacio/

📍#2 Pra que mensageria?
https://gago.io/blog/rabbitmq-amqp-2-pra-que-mensageria/

📍#3 Conceitos
https://gago.io/blog/rabbitmq-amqp-3-conceitos/

📍#4 Perguntas e Respostas
https://gago.io/blog/rabbitmq-amqp-4-qna/

📍#5 Management UI, Filas e Exchanges
https://gago.io/blog/rabbitmq-amqp-5-management-ui-filas-e-exchanges/

📍#6 – Show me the code
https://gago.io/blog/rabbitmq-amqp-6-show-me-the-code/

📍#7 – Pipelines & Youtube Downloader
https://gago.io/blog/rabbitmq-amqp-7-pipelines-youtube-downloader/

📍 #8 – RabbitMQ & AMQP – Redis, um Message Broker?
https://gago.io/blog/rabbitmq-amqp-8-redis/

Até mais tarde!

Open Application Model

Open Application Model

2019 tem sido um ano intenso, cheio de novidades e muitos novos padrões e standards. Kubernetes já se consolidou como plataforma de orquestração default há alguns anos e agora o movimento que vemos é na linha de criação de standards sobre o Kubernetes. Por outro lado, essa nova leva de padrões e especificações oferece um modelo de aplicações e serviços dinamicamente alocáveis, conectáveis e desalocáveis que parece vir de um futuro muito, mas muito distante. São iniciativas interessantes que muito provavelmente ainda sofrerão mutações e algumas fusões no percurso, mas que oferecem imenso potencial para viajarmos nas possibilidades de um futuro nem tão distante assim.

Assim começamos com o Open Application Model.

ler mais…

Arquitetura

Event Driven Or Not? Quando usar Event Driven e quando usar só usar mensageria

Event Driven Or Not? Quando usar Event Driven e quando usar só usar mensageria

Sempre que somos tocados por algum tipo de desenho ou arquitetura que demonstra significativo ganho em um determinado cenário, tendemos a tentar reaproveitar esse mesmo desenho mais pela memória do sucesso passado, do que pela necessidade efetivamente. Aqui está uma casca de banana, e é sobre isso que vamos discutir hoje.

ler mais…
Enterprise Application Log – A origem das decisões

Enterprise Application Log – A origem das decisões

Inúmeras vezes eu apresento o Enterprise Application Log e instantaneamente aparece alguém tentando “defender” o Application Insights, como se de alguma forma eu estivesse cometendo uma heresia ao propor qualquer outra coisa.

O mais curioso é que essa comparação é superficial e infundada.

Hoje vamos entender a estratégia por trás do Enterprise Application Log, vamos entender porque Application Insights não foi chamado para a festa.

ler mais…

Containers

Troubleshooting Comentado – Docker – ASP.NET Core – NGINX

Troubleshooting Comentado – Docker – ASP.NET Core – NGINX

Já faz muito tempo que eu queria fazer esse formato. Documentar uma ação qualquer de troubleshooting na comunidade para poder transformar em conteúdo, fazendo pausas didáticas e interrupções para poder contextualizar no formato de quebra da 4ª parede.

O Felipe Bossolani, que também é moderador de alguns grupos nossos no telegram, estava estudando NGINX, postou uma dúvida e putz eureka! Pedi para transformar isso em conteúdo e pronto!

O video segue o modelo de um toubleshooting com intervenções onde eu paro para detalhar o porque de cada coisa.

Espero que goste do formato!

Angular + Docker no Heroku

Angular + Docker no Heroku

Heroku é um daqueles serviços de hospedagem à frente do seu tempo. É pioneiro em desenhar um modelo com foco total no desenvolvedor. Uma Heroku é uma plataforma que te dá a possibilidade de hospedar aplicações a um preço muito competitivo. Exploramos o uso de Docker no heroku para mostrar como percorremos todo o caminho.

Docker Definitivo – Janela de Inscrição Aberta!

Docker Definitivo – Janela de Inscrição Aberta!

Na tarde desse domingo, dia 27/out alcançamos o limite de alunos.
As inscrições para a primeira turma estão encerradas!

Cadastre-se para receber notícias, link das lives e para participar do grupo do facebook.

Em 2015 eu conduzi um projeto de refactoring daqueles complicados.

Ao todo foram quase 10 meses com um time dedicado ao refactoring desse projeto. Mas uma coisa que chamou a atenção nesse projeto. Foram 4 meses em que eu me dediquei a entender a baseline de código, sem entregar absolutamente NENHUMA LINHA DE CÓDIGO.

Eu precisava entender o projeto para propor uma solução.

Não era apenas o que fazer, era sobre como e onde fazer.

Nessa jornada, levei esses 4 meses compreendendo como faria uma aplicação que caia com 5 usuários, suportar 1000 usuários simultâneos.

A questão é que naquela época eu havia escutado a respeito de Docker. Era algo que estava no meu radar, mas naquela época era uma buzzword, um termo da modinha. Não tinha compreensão plena de como usar, nem tinha maturidade para implantar algum projeto baseado nele. Aliás, naquela época ainda não havia muita informação sobre .NET Core. .NET core era algo em desenvolvimento.

Meses depois, dediquei a estudar docker e Voilà!

Descobri que “havia perdido semanas” produzindo uma documentação de implantação, com os mínimos detalhes sobre como subir uma infra completa com RabbitMQ, Elasticsearch, LogStash e Kibana. Do download à produção!

Mais tarde, na medida que aprendia docker e me apaixonava pelas oportunidades que ele me traria, recriei esse mesmo stack que mantenho, cariosamente, até hoje. O EnterpriseApplicationLog.

Eu troquei mais de 10 documentos Word, complexos, cheios de detalhes, por alguns poucos arquivos de configuração e composição de stack.

Você não precisa mais do que:

git clone https://github.com/docker-gallery/EnterpriseApplicationLog.git
cd ./EnterpriseApplicationLog
docker-compose up

Para ter esse stack na sua infra.

Se eu tivesse docker ao meu lado naquela época…

  • Eu poderia demonstrar e acelerar todo o processo de convencimento a respeito do uso desse stack.
  • Eu não perderia tanto tempo criando documentos texto, perecíveis.
  • Eu produziria um repositório que por si só colocaria o stack no ar, sem intermediários, sem procedimentos lentos.
  • Eu trocaria uma implantação de 8-16 horas por 8-16 minutos.

Enfim, esse projeto foi um sucesso, faltava muito pouco para colocar o projeto em produção, mas já conseguíamos alcançar nosso objetivo com ferramentas de teste de carga especializadas. Aliás, subir essas ferramentas com Docker seria algo absolutamente incrível.

Docker e o Novo mundo

O ponto é que Docker mudou a forma como vemos automação, isolamento, tornando Linux Container algo popular, fácil de usar, algo produtivo.

Vemos claramente uma disruptura da forma com lidamos com infraestrutura e como compomos stacks.

Um dia será difícil explicar como fazíamos quando não tínhamos Docker.

Minha jornada

Essa jornada de aprender docker se confunde com minha jornada de ensinar docker.

Eu vi tanto potencial e fiz uma aposta tão grande em empenho de tempo e dedicação ao assunto, que acabei por me sentir no DEVER de trazer isso para a comunidade .NET.

Eu queria mostrar como é mais fácil, como podemos criar aplicações mais robustas, eficientes e resilientes usando o que há de melhor no mundo open source.

Encontrei no Docker uma oportunidade para oxigenar os projetos com tecnologias especialistas, evitando a criação de gambiarras. Agora uma solução especialista em cache como Redis, ou em mensageria como RabbitMQ, estão ao seu dispor com muito pouco esforço.

Essa caminhada ensinando docker me fez produzir muito, mas muito conteúdo mesmo!

Ao todo, caminhando para as 8 mil horas de conteúdo assistido em mais de 30 horas de conteúdo.

Seu pedido…

Mas vocês pediram um modelo de treinamento.

Vocês que me chamam no privado! Pediram muito! E agora está aqui!

Mas eu não queria fazer um treinamento qualquer. Tinha de ser algo agressivo, que pudesse de fato transformar quem não conhece absolutamente nada de Linux.

E com as partes chatas mesmo, com os fundamentos explicados pela perspectiva de quem sempre usou Windows.

Aliás, até 2015 minhas experiências com Linux haviam sido pífias. Hoje conseguimos nos entender bem, é uma relação que parece muito mais estável e duradoura! 🙂

Eu vivi essa frustração, angustia, em não saber qual o próximo passo na hora de lidar com um linux server headless. Foi frustrante até me jogar de cabeça!

Eu quero trazer essa experiência para o treinamento. Uma experiência que mostre exatamente o que fazer para não se sentir desconfortável

Ah, mas você só quer ganhar dinheiro!!!

A forma menos eficiente que eu conheço para quem quer vender algo, é você mesmo produzir um concorrente gratuito!

Docker de A a Z é uma série gratuita. Que “concorre” diretamente com o Docker Definitivo.

A diferença é que o Docker de A a Z é limitado em atenção, em acompanhamento. Não tem o viés de uma jornada, com uma turma. Não tem lives quase que semanais.

Se o objetivo fosse ganhar dinheiro, não faria sentido ter produzido tanto conteúdo gratuito!

Não teria produzido tantos stacks.

Não teria disponibilizado tantos projetos, no github, ou no docker hub.

Dezenas de milhares de potenciais “clientes” aprenderam docker com o Docker de A a Z.

Sinceramente! Para muitos só faltava um detalhe. E eu fiz questão de atender a essa expectativa. E o conteúdo gratuito continua arqui: gago.io/docker/.

Use o conteúdo gratuito para me testar

Se quer ver como eu ensino, como eu apresento conteúdos técnicos, você tem zilhões de horas no youtube.

Esse material serve para você me avaliar!

Aproveite! Você tem até domingo, 27/out 23:59 para tomar sua decisão!

Garantia

Meu compromisso é com o resultado. Com o teu engajamento nessa jornada. Inclusive é por isso que eu não deixei a janela de inscrição aberta por muito tempo. É injusto com a galera que está comprando. Com a galera que comprou nessa madrugada e hoje durante o dia.

E para mostrar meu compromisso, de forma contundente! Te dou uma garantia de 30 dias.

Uma garantia incondicional!

Então se você acha que não tem tempo, não tem aptidão, não tem skill ou sei lá o que. Basta apertar um botão e desistir. Ter seu dinheiro de volta!

São 30 motherfucker dias de garantia!

Sim, todo o risco é MEU, e somente MEU.

Ou você gosta do Docker Definitivo! E esse projeto traz para você a transformação que você quer, ou ok, você cancela e pronto, está tudo bem!

Janela de Inscrição

Para ser justo com quem já comprou, a janela é curta, fecha domingo, dia 27/out às 23:59, ou quando a turma lotar. O evento que ocorrer primeiro, causa o fechamento da janela.

Mensageria

Como perder mensagens com RabbitMQ

Como perder mensagens com RabbitMQ

É comum falarmos sobre receitas de sucesso e como resolver problemas, mas será que você está fazendo essas coisas, está perdendo mensagens e vai culpar o RabbitMQ por isso?

Se liga nessas dicas, pois se você está perdendo mensagens com RabbitMQ, a culpa é totalmente sua! E vou mostrar como você pode perder mensagens para que isso não ocorra mais.

ler mais…
Post Resposta: POR QUE ADOTAR KAFKA PARA MENSAGERIA?

Post Resposta: POR QUE ADOTAR KAFKA PARA MENSAGERIA?

Esse é um post resposta ao post POR QUE ADOTAR KAFKA PARA MENSAGERIA? do Elemar JR no site da Eximia, sua empresa.

A resposta estava ficando longa demais, e resolvi transformar em post. Principalmente por se tratar de um conteúdo (RabbitMQ) que está no meu toolset, assim como Kafka está para entrar. Vou aproveitar para usar essas resposta para compor a seqüência de posts da série RabbitMQ de A a Z, pois essa questão RabbitMQ vs Kafka foi um tema solicitado pela audiência e não foi respondida na época.

ler mais…
RabbitMQ & AMQP – #8 – Redis, um Message Broker?

RabbitMQ & AMQP – #8 – Redis, um Message Broker?

Então você já usa Redis no seu stack, e optou por usá-lo também para publicar mensagens de um lado para outro em sua aplicação. Talvez seu amigo tenha dito que “não precisa de RabbitMQ”, ou que “é um canhão para matar uma formiga”. A começar pela pergunta: Você busca resiliência nesse papel? Se a resposta for sim e você usa Redis como se fosse um Message Broker, vou lhe apresentar alguns dados para mostrar que está redondamente equivocado.

ler mais…
RabbitMQ & AMQP – #7 – Pipelines & Youtube Downloader

RabbitMQ & AMQP – #7 – Pipelines & Youtube Downloader

No finalzinho de 2017 eu falei de um projeto chamado youtube downloader, um projeto de exemplo, experimental, que emprega o uso de filas para fazer todo o processo de download e encoding de mídias, a partir do youtube. Mesmo tendo o propósito de exclusivamente falar de RabbitMQ em um pipeline de processamento, natural desse tipo de tarefa, a temática de download do youtube é controversa e possui implicações em direitos autorais. Enfim a proposta do projeto não é infringir regras, leis ou direitos autorais, apenas exemplificar em um cenário clean, como otimizar o uso de filas com pipelines.

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

2018-2020

2020-2021

2021-2022

2022-2023

2023-2024

2024-2025

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.