Estamos na semana 43 de 2024, faltam 9 semanas para o réveillon. Desde a semana 38 estou trabalhando com ASPIRE e quero falar sobre essa experiência. Contexto O primeiro ponto para a contextualização é que o Academia Pay não é um projeto para ser comercializado,...
Níveis de Maturidade SaaS e Gestão do Crescimento da Infraestrutura
No contexto do crescimento exponencial das soluções SaaS (Software as a Service), a compreensão dos diferentes níveis de maturidade em arquiteturas multitenant e do impacto que estes têm no consumo de infraestrutura é essencial para qualquer arquiteto de software ou...
.NET ASPIRE – Criando databases no PostgreSQL e aplicando Migrations com FluentMigrator
No .NET ASPIRE existe uma forma de você expressar para o Orquestrador, um database dentro do ASPIRE para que o serviço de service discovery entregue uma conexão corretamente para nossas aplicações. O problema é que o .NET Aspire não cria esse banco de dados, então é...
Resiliência – Tolerância a Falhas (Fault Tolerance)
Tolerância a falhas é a capacidade de um sistema continuar operando corretamente mesmo quando uma ou mais de suas componentes falham. Em vez de interromper ou degradar o serviço, um sistema tolerante a falhas é projetado para lidar com falhas, mantendo o funcionamento...
Oragon.RabbitMQ – A relação entre Minimal API’s e Agnostic Services
Oragon.RabbitMQ está no forno! Dando continuidade à nossa série, abordarei a ideia central pelo qual adoto Minimal API's e por que elas tem tanto poder na modelagem. É hora de abrir a caixa de pandora e falar sobre modelagem de API's agnósticas. Contexto Quando...
SRP – Single Responsability Principle não é sobre fazer apenas 1 coisa
Não faz muitos anos que me deparei com uma apresentação do Uncle Bob em que ele falava de SRP e dava uma explicação completamente diferente do que é a compreensão comum sobre o tema. SRP não é sobre um módulo ter apenas uma responsabilidade, nem por fazer apenas uma...
Projetando um Chat Server para a escala com .NET
Arquitetura é estratégia. Projetar uma arquitetura envolve muito mais do que escolher tecnologias, implica em compreender como os conectar pontos e principalmente como lidar com limitações e restrições. Em um mundo utópico, sem escassez, não precisaríamos nos...
Cache-Aside Wins
O uso de caching em sistemas distribuídos tornou-se uma prática essencial para melhorar a performance e a escalabilidade de aplicações. A escolha da estratégia de caching adequada é um desafio que muitos enfrentam. Com diversas abordagens disponíveis, é fácil se...
The Microservices Journey – S2E2: Tipos de Independência
Quando se fala em independência de um microsserviço, o que de fato está sendo dito? A independência tem função de viabilizar com que roadmaps de um microsserviço, ou microsserviços de uma time/equipe, tenham capacidade de evoluir sem atrito, sem afetar ou interferir...
The Microservices Journey – S2E1: Independência ou morte
Recentemente a discussão sobre microsserviços retornou das profundezas da escuridão, sob temas superados, e reforçados em inúmeras oportunidades ao longo dos últimos anos. Afinal, banco de dados compartilhado? Pode? E monorepo? Faz sentido? E o que Sam Newman diz...
Lives
Fique de olho nas lives
Fique de olho nas lives no meu canal do Youtube, no Canal .NET e nos Grupos do Facebook e Instagram.
Aceleradores
Existem diversas formas de viabilizar o suporte ao teu projeto. Seja com os treinamentos, consultoria, mentorias em grupo.