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…
Os 6 níveis de maturidade no uso de Containers

Os 6 níveis de maturidade no uso de Containers

Do usuário eventual ao heavy user, Docker consegue entregar diversas experiências de acordo com seu nível de maturidade e conhecimento. Se comparado com outras tecnologias, Docker e Containers em geral são assuntos pequenos, para poucas semanas de estudo. Mas embora a extensão do conhecimento não...

ler mais
Além das 3 camadas | Containers

Além das 3 camadas | Containers

Docker está para o desenvolvimento de software como o IPOD esteve para a indústria da música. Não inventou a música portátil, mas revolucionou a experiência dos usuários. Se você trabalha com algum backend, java, .NET, node, python, ruby... e docker não está no teu radar, meu amigo... você tá...

ler mais
RabbitMQ, .NET, OpenTelemetry, Distributed Tracing, Jaeger, Prometheus e Grafana

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. Uma das demandas que tenho no curso de RabbitMQ para Aplicações .NET, é trazer conforto e clareza sobre o desenvolvimento de fluxos assíncronos com...

ler mais
Além das 3 camadas | Componente: CDN e Cache

Além das 3 camadas | Componente: CDN e Cache

Já falamos de práticas e tecnologias, agora vamos falar de um componente o CDN. Ele é fundamental para a internet como a conhecemos hoje. Da netflix que você assiste, ao gaGO.io, você vai encontrar CDN para reduzir a pressão sob as aplicações, e para reduzir a latência entre o conteúdo e você,...

ler mais
Além das 3 camadas | Ferramenta: Redis

Além das 3 camadas | Ferramenta: Redis

Nessa série de posts estamos furando a bolha, saindo do desenho básico de 3 camadas, indo além. Hora vamos abordar práticas, hora vamos abordar ferramentas. Hoje vamos falar de uma ferramenta, o Redis. Ele pode ser seu aliado na hora de hospedar dados pré-processados. Disclaimer sobre a...

ler mais
Além das 3 camadas | Iniciando os trabalhos

Além das 3 camadas | Iniciando os trabalhos

Se um dia você se questionou sobre o que deveria estudar sobre projetos que vão além de uma Web App, uma API e um Banco de dados aqui vão minhas dicas. Eu separei 3 tecnologias que são matadoras porque ajudam projetos de todos os tamanhos. Dê uma olhada e me diga o que você achou! Por que sair do...

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

Oragon Architecture Is Dead

Oragon Architecture Is Dead

Estamos no finalzinho de abril de 2018, vésperas do Microsoft Build e estou retomando meus trabalhos no Oragon Architecture. O projeto foi muita coisa, teve muitas ambições, mas agora é hora de revisitar todos os assuntos do projeto, passar por um momento de introspecção para dar um novo formato e rumo à solução.

Portanto, a partir de hoje todos os posts referentes ao que era o Oragon Architecture passam a ficar privados no blog e em um futuro, que espero não ser tão distante, pretendo relançar o projeto, com novas features.

Vale lembrar que o projeto não é um simples framework sob o Spring.NET junto com ele há uma filosofia a respeito da modelagem de projetos e abstrações, abstrações estas que facilitam a modelagem, da mesma forma que o torna extremamente eficaz e eficiente no papel de compor complexas arquiteturas de forma transparente e funcional com baixo overhead.

Há muita coisa a se fazer, mas mais importante que o projeto em si, é essa filosofia.

Message Broker & .Net Core – Introdução ao RabbitMQ

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

 

 

Chakra on .NET Core with Docker

Chakra on .NET Core with Docker

Scripting pode não ser uma demanda corriqueira, mas há momentos em que sua flexibilidade faz jus à sua utilização. Seja para deixar alguma pequena parte de sua aplicação mais flexível ou para poder suportar extensibilidade, há cenários bons para seu uso. Hoje vou abordar como usar o JSRT (Javascript Runtime) da Microsoft, motor do Microsoft Edge, o Chakra em uma aplicação .NET Core, rodando em um container linux com Docker.

ler mais…

Spring.NET o Renascimento

Spring.NET o Renascimento

Quem me acompanha, principalmente já viu ou participou de alguma solução minha na última década, sabe que o Spring.NET é meu fiel escudeiro. Há motivos de sobra para não me desapegar do projeto, no entanto recorrentemente testo novas alternativas. Entretanto, mais de uma década após os primeiros flertes, ainda é meu container favorito, e por isso merece uma menção honrosa não só no blog, mas na minha carreira como um todo. Muito do que fiz com .NET nos últimos anos não seria economicamente viável sem ele.

ler mais…

Docker – de A a Z – 19 – Youtube Downloader – Novidades #01

Docker – de A a Z – 19 – Youtube Downloader – Novidades #01

Pessoal, esse é o primeiro pacote com novidades sobre o projeto. Nosso diagrama de causa-efeito-ação chega a sua 5a versão com muitas novidades, incluindo:Adição do MongoDB, agora fazendo encoding de MP3 com FFMPEG, possibilitando o download de MP3 que já está em dev, além de stream parcial (que permite utilizar o controle de tempo da tag video do html5) e várias correções, além de uma nova implementação “duvidosa”. Mas essa eu não vou contar aqui, você terá de olhar no github, mais especificamente em um commit que nesse momento só está presente na develop.

Fique atento às modificações nas imagens abaixo. Essas imagens representam novidades que criei e estão publicadas em dev (http://devweek04.gago.io:20001/), enquanto isso prd (http://devweek04.gago.io/) continua com a mesma implementação antiga. Nesse momento faz bem deixar assim, já que torna possível visualizar as diferenças.

ler mais…

Arquitetura

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…

Containers

Docker – de A a Z – 19 – Youtube Downloader – Novidades #01

Docker – de A a Z – 19 – Youtube Downloader – o projeto

Olá, esse é o vídeo de número 19 da série e vamos abordar um tema incomum: Pizza! Oops brincadeira! Youtube Downloader! A escolha desse projeto se dá pela necessidade de utilizar paralelismo para processar as requisições de download, tratar-se de um projeto não convencional, e precisar de cuidados ortogonais quanto ao design da solução em si. São elementos que fazem desse projeto um projeto divertido e cheio de peculiaridades. A principal característica é sair do mais do mesmo, dos cruds com MongoDB e Redis e mostrar um exemplo mais rico. ler mais…

Docker – de A a Z – 14 – ASP.NET Core from Scratch to Production with docker & jenkins (pt-BR)

Docker – de A a Z – 14 – ASP.NET Core from Scratch to Production with docker & jenkins (pt-BR)

Apresento aqui um projeto ASP.NET Core, desde sua criação até sua chegada a produção, com jenkins.
Começamos apresentando as opções de criação do projeto, depois habilitamos a integração com o Docker for Windows. Em seguida adicionamos mongodb ao projeto e começamos a desenhar o build de produção, ainda na máquina de desenvolvimento. Ao concluir o processo de configuração, subo o código para o github e faço o build no jenkins, usando pipeline para realizar build e deploy da nossa aplicação ASP.NET Core.

ler mais…

.NET Core – de 2.0.0-preview2 para 2.0.0 – Atualizando projetos e Dockerfiles

.NET Core – de 2.0.0-preview2 para 2.0.0 – Atualizando projetos e Dockerfiles

Vamos direto ao ponto: A intenção desse post é apresentar como migrar seus projetos do .NET Core 2.0-preview2 pra o .NET Core 2.0 RTM. Sim, esse é um tutorial, e visa apresentar o que é necessário para fazê-lo.

O .NET Core 2 foi anunciado no dia 14 de agosto e para quem estava usando o 2.0-preview2 algumas coisas simplesmente pararam de funcionar do dia para a noite.

ler mais…

docker-gallery/EnterpriseApplicationLog – v3.0

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.

Mensageria

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.

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.