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…
Quais dados, logs estruturados precisam ter?

Quais dados, logs estruturados precisam ter?

Eu estava escrevendo sobre logs estruturados, em especial sobre o Enterprise Application Log, e resolvi quebrar meus argumentos em frações menores para poder isolar as ideias. Aqui hoje quero falar sobre o que um bom log deve ter. Nos primeiros anos de 2010, a evolução na gestão de logs começou a...

ler mais
Como descrever um roadmap de arquitetura de forma clara

Como descrever um roadmap de arquitetura de forma clara

Em um mundo cada vez mais voltado para a tecnologia, a arquitetura de soluções desempenha um papel crucial na orientação de como as organizações desenvolvem e implementam suas estratégias digitais. No entanto, a maneira como apresentamos e comunicamos essas arquiteturas pode muitas vezes ser um...

ler mais
GPT para Desenvolvedores .NET

GPT para Desenvolvedores .NET

Nos últimos meses venho experimentando o ChatGPT e a API dos modelos GPT 3.5-turbo e GPT 4.0. Como sempre esse assunto foi compartilhado na mentoria, e naturalmente consigo encontrar dúvidas que não me pareciam óbvias. Esse é um guia que pode te ajudar a pensar nas possibilidades e também permite...

ler mais
Discord — Nossa nova casa!

Discord — Nossa nova casa!

Acontecimentos recentes se desdobraram em bloqueio do telegram. Desde a noite de quarta-feira estamos sem Telegram em todo o território nacional. Assim, o mensageiro deixou de ser uma opção para nossas comunidades de alunos. E com isso fomos obrigados a abandonar o Telegram para ir para o Discord....

ler mais
Adicionando ChatGPT na sua aplicação

Adicionando ChatGPT na sua aplicação

A primeira vez que ouvi falar em chatGPT fiquei empolgado com o avanço das IA's Generativas, mas nem passou pela minha cabeça que já fosse possível usar em uma aplicação real. Ao encontrar no ChatGPT inputs e outputs em texto livre, que hora traz texto normal, hora markdown, hora outros formatos,...

ler mais
Entendendo CORS

Entendendo CORS

CORS é um daqueles assuntos que atrapalha de iniciante a veteranos. Considerando que toda nova aplicação poderá sofrer com erros de CORS e muitas vezes leva algum tempo para resolver, ou pior, muitas vezes resolvemos da forma errada, esse post vem para ajudar nesse assunto. Hoje abordaremos tudo...

ler mais
O PODER DO ASSÍNCRONO – 2 Episódios

O PODER DO ASSÍNCRONO – 2 Episódios

Você já se perguntou como empresas como Amazon, Google e Netflix garantem que suas aplicações estejam sempre disponíveis, resilientes, escaláveis, eficientes e confiáveis? Não há uma única resposta, mas uma delas é processamento assíncrono, especialmente com a utilização de mensageria e filas....

ler mais
Resiliência de Microsserviços

Resiliência de Microsserviços

Como construir microsserviços resilientes: dicas e estratégias para garantir a continuidade do seu serviço Você já ouviu falar em resiliência? No contexto de software, ela se refere à capacidade de um sistema ou aplicação lidar e se adaptar a problemas e situações adversas. Para microsserviços, a...

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

Be Welcome .NET 5

Be Welcome .NET 5

É incrível ver que mesmo diante do dilema de uma mudança abrupta de rotina, o calendário de Releases do .NET 5 se manteve intacto. Temos uma mudança incrível na plataforma e enfim chegou o .NET 5!

O Release Candidate 2 do .NET 5 já é SUPORTADO EM PRODUÇÃO pela Microsoft.

ler mais…
Azure Functions + Containers (Parte 2/2)

Azure Functions + Containers (Parte 2/2)

No post passado o foco estava nos Agnostic Services e no uso de containers. Agora é hora de olharmos outra questão mais braçal. Rodar Azure Functions 3 com Containers, uma tarefa que deveria ser trivial, mas não é.

Nossa jornada começa com o tutorial Criar uma função no Linux usando um contêiner personalizado, onde no step “Configurar o ambiente local” temos o passo de instalação do “O Azure Functions Core Tools versão 2.7.1846 ou uma versão 2.x posterior.”, que nos redireciona para o post “Trabalhar com o Azure Functions Core Tools“.

Esse step nos dá 2 opções, Azure Functions 2 ou 3. Para instalar a versão 3, local, precisamos executar:

npm install -g azure-functions-core-tools@3

A instalação ocorre perfeitamente.

Mas… ao executar o passo para a criação do projeto, que encontramos no link Criar uma função no Linux usando um contêiner personalizado (primeiro da lista acima)

func init LocalFunctionsProject --worker-runtime dotnet --docker

Somos surpreendidos com um erro.

$ func init LocalFunctionsProject --worker-runtime dotnet --docker
events.js:292
      throw er; // Unhandled 'error' event
      ^

Error: spawn C:UsersluizcAppDataRoamingnpmnode_modulesazure-functions-core-toolsbin/func ENOENT
    at Process.ChildProcess._handle.onexit (internal/child_process.js:268:19)
    at onErrorNT (internal/child_process.js:468:16)
    at processTicksAndRejections (internal/process/task_queues.js:84:21)
Emitted 'error' event on ChildProcess instance at:
    at Process.ChildProcess._handle.onexit (internal/child_process.js:274:12)
    at onErrorNT (internal/child_process.js:468:16)
    at processTicksAndRejections (internal/process/task_queues.js:84:21) {
  errno: -4058,
  code: 'ENOENT',
  syscall: 'spawn C:\Users\luizc\AppData\Roaming\npm\node_modules\azure-functions-core-tools\bin/func',
  path: 'C:\Users\luizc\AppData\Roaming\npm\node_modules\azure-functions-core-tools\bin/func',
  spawnargs: [
    'init',
    'LocalFunctionsProject',
    '--worker-runtime',
    'dotnet',
    '--docker'
  ]
}

A solução, está nesse comentário do GitHub.

  1. Go to the installed location.C:Users[USERNAME]AppDataRoamingnpmnode_modulesazure-functions-core-tools in the example above.
  2. Run npm install [email protected]
  3. Run npm .libinstall.js node .libinstall.js from that directory

Autor: Ankit Kumar

Uma vez executado o procedimento, deixamos de ter um problema na criação do projeto.

$ func init LocalFunctionsProject --worker-runtime dotnet --docker

Writing C:_devdocker-definitivoAzFuncLocalFunctionsProject.vscodeextensions.json
Writing Dockerfile
Writing .dockerignore

Daqui pra frente é só seguir o tutorial, instalando o plugin do Visual Studio Code (ms-azuretools.vscode-azurefunctions)

E seguir com debug e teste local.

Aliás, você deu uma olhadinha no Dockerfile?

É peculiar, mas vou deixar para você dar uma olhada e comentar nesse post.

Quer saber mais sobre Azure Functions?

Te indico o material do Renato Groffe no Medium.

Se precisa de um treinamento sobre Serverless + Azure Functions, o Renato, o Milton e o Ericson encabeçam o Azure na Prática que pode te ajudar nessa direção.

Aliás, um passarinho me contou que vai rolar o Azure na Prática #13 – Serverless + Azure Functions #03, e está em pré-venda. Vale lembrar que em pré-venda, são R$ 400 reais de desconto.

Azure na Prática – Serverless + Azure Functions

Vai rolar no dia 29/08/2020 (sábado), com foco em Serverless + Azure Functions e englobando o uso de tecnologias como:
Azure Logic Apps, RabbitMQ, Apache Kafka, SQL Server, MongoDB, Redis, Application Insights, Azure Cosmos DB e GitHub Actions.

Acesse então o link a seguir para efetuar sua inscrição com o desconto especial de pré-venda (apenas R$ 200,00).
Sim, é isso mesmo! De R$ 600 por R$ 200!!!!

Quer saber mais sobre Docker & .NET + Open Source?

No mais, se quiser saber mais sobre Docker e .NET, principalmente Open Source e .NET vem comigo que também tenho muita coisa legal!

Azure Functions + Containers (Parte 1/2)

Azure Functions + Containers (Parte 1/2)

Certa vez rolou uma discussão sobre Function as a Service (FaaS) e Containers questionando se um suplantaria o outro, ou se seríamos capazes de ignorar um em função do outro. Minha resposta curta e objetiva é: Não! Functions e Containers se complementam.

Sempre que olharmos para Function as a Service, o Lock-in bate à sua porta.

ler mais…

Arquitetura

RabbitMQ Operators | RabbitMQ Messaging Topology Operator for Kubernetes – Tutorial PT-BR

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 recursos?

Eles devem ser criados previamente durante a construção do cluster?

Ou durante o deployment da aplicação?

Ou especificamente pela aplicação?

ler mais…

Containers

Azure Functions + Containers (Parte 1/2)

Azure Functions + Containers (Parte 1/2)

Certa vez rolou uma discussão sobre Function as a Service (FaaS) e Containers questionando se um suplantaria o outro, ou se seríamos capazes de ignorar um em função do outro. Minha resposta curta e objetiva é: Não! Functions e Containers se complementam.

Sempre que olharmos para Function as a Service, o Lock-in bate à sua porta.

ler mais…

Mensageria

EDA – Event Driven Architecture: Não confunda eventos com comandos

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 é Resiliente? [video]

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.

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.