Archive of posts with category 'cloud'

System Design - Storage, RAID e Sistemas de Arquivos

O formato desse capítulo foi pensado para ser um “dump” de informações relacionadas a storage e armazenamento. Talvez a melhor forma de consumir esse material seja lê-lo duas vezes em...

System Design - Backend for Frontend (BFF)

Neste artigo exploramos o padrão arquitetural Backend for Frontend (BFF), abordando sua aplicação na segregação de canais, composição de payloads, microfrontends, versionamento e resiliência em sistemas distribuídos modernos.

System Design - Padrões de Resiliência

Neste artigo, exploramos os principais padrões de resiliência em System Design, como Retry, Fallback, Circuit Breaker, Backpressure e outros, aplicados ao contexto de sistemas distribuídos tolerantes a falhas.

Blueprint - Golang SQS Consumer Performance Tunning

Este blueprint apresenta técnicas para tunar um consumer SQS em Golang, explorando uso eficiente de channels, processamento em lote, controle de concorrência e medições reais de performance.

System Design - Service Mesh

Este artigo explica o conceito de Service Mesh como padrão de comunicação em sistemas distribuídos, abordando seus componentes, modelos de implementação e benefícios como segurança, resiliência e telemetria nativa.

System Design - Estratégias de Deployment

Neste artigo, revisamos as principais estratégias de deployment como Canary, Blue-Green, Rolling Updates, Shadow Deployments e Feature Flags, explicando quando aplicá-las, seus benefícios e como contribuem para sistemas resilientes e...

System Design - Saga Pattern

Neste artigo exploramos o Saga Pattern como solução para transações distribuídas, abordando conceitos de orquestração, coreografia, compensações, consistência eventual e boas práticas em microsserviços.

Um Guia de Literatura Para Sistemas Distribuídos (e o porquê eu não quero que você o siga)

Este artigo apresenta um roteiro pessoal com os livros que mais impactaram minha jornada em sistemas distribuídos, confiabilidade e arquitetura moderna. Uma curadoria não linear, feita para quem já percorreu...

System Design - Scale Cube

O artigo explora o Scale Cube como modelo conceitual de escalabilidade, abordando os eixos X (horizontal), Y (funcional) e Z (particionamento) para guiar a evolução de sistemas distribuídos robustos e...

System Design - Testes de Carga e Estresse

Este artigo aborda os principais tipos de testes de carga aplicados a sistemas distribuídos — Load, Stress e Capacity Testing — com foco em performance, limites operacionais e preparação para...

System Design - Replicação de Dados

Neste artigo, mergulhamos nos fundamentos da replicação de dados em sistemas distribuídos, discutindo modelos como primary-replica e multi-master, estratégias como replicação síncrona e assíncrona, e padrões como CDC, Event-Carried State...

System Design - Sharding e Particionamento de Dados

Este artigo explora como aplicar sharding e particionamento em sistemas distribuídos para dividir grandes volumes de dados, escalar horizontalmente a camada de persistência e isolar falhas com mais eficiência.

System Design - CQRS (Command Query Responsability Segregation)

Este artigo explora o padrão CQRS como forma de segregar responsabilidades de leitura e escrita, ilustrando seus benefícios em cenários de sistemas distribuídos com alta concorrência e grandes volumes de...

System Design - API Gateways

Neste artigo, exploramos o conceito de API Gateway como padrão arquitetural para exposição de serviços, cobrindo funções como autenticação, roteamento, rate limiting, canary deployments e governança em ambientes distribuídos.

System Design - Mensageria, Eventos, Streaming e Arquitetura Assincrona

Neste artigo, exploramos a comunicação assíncrona em sistemas distribuídos, abordando conceitos de filas, eventos, mensageria, brokers e streamings sob o ponto de vista de System Design moderno.

System Design - Padrões de Comunicação Síncronos

Este capítulo apresenta os principais padrões de comunicação síncronos entre serviços, como REST, gRPC e GraphQL, explicando sua aplicabilidade, vantagens e desafios sob a perspectiva de System Design.

System Design - Protocolos e Comunicação de Rede

Neste artigo, mergulhamos nos protocolos fundamentais de rede, como TCP, UDP e HTTP, explicando seu papel na construção de sistemas distribuídos modernos e como impactam diretamente o desempenho e a...

System Design - Cache

Neste artigo, exploramos o papel do caching em sistemas distribuídos, detalhando estratégias e padrões arquiteturais para aumentar a eficiência, reduzir latência e otimizar o acesso a dados com alto desempenho....

System Design - Performance, Capacidade e Escalabilidade

Este artigo explora os pilares fundamentais de performance, capacidade e escalabilidade sob a ótica de System Design, trazendo definições claras, distinções práticas e implicações arquiteturais em sistemas modernos.

System Design - Microsserviços, Monolitos e Domínios

Este artigo apresenta uma análise completa sobre as arquiteturas de monólitos e microsserviços, abordando suas características, benefícios, desafios e o papel da modelagem de domínios e da Lei de Conway...

System Design - Load Balancers e Proxies Reversos

Este artigo explica de forma didática como funciona o balanceamento de carga, quais algoritmos são mais usados, e como aplicá-lo para distribuir requisições, garantir escalabilidade e evitar sobrecarga em sistemas...