<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Software Architecture</title>
    <link>https://sazardev.github.io/software-architecture/en</link>
    <description>An engineering notebook on software architecture: in-depth articles, living diagrams and clear examples to design systems that scale.</description>
    <language>en</language>
    <lastBuildDate>Thu, 15 Oct 2026 00:00:00 GMT</lastBuildDate>
    <atom:link href="https://sazardev.github.io/software-architecture/en/feed.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title>Multi-agent systems: when one agent is enough</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/multiagente-cuando-un-agente-basta</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/multiagente-cuando-un-agente-basta</guid>
      <pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate>
      <category>System design</category>
      <description>When one agent with good tools is enough, what each link in a multi-agent system costs, and how to design contracts, traces and limits between agents.</description>
    </item>
    <item>
      <title>File architecture for large repositories</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/arquitectura-de-archivos-repos-grandes</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/arquitectura-de-archivos-repos-grandes</guid>
      <pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate>
      <category>System design</category>
      <description>How to organize a large repository tree so module boundaries are real: domain, public API, enforced dependency rules, ownership and build cost.</description>
    </item>
    <item>
      <title>Versioned, compatible event contracts</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/contratos-de-eventos-versionados</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/contratos-de-eventos-versionados</guid>
      <pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate>
      <category>System design</category>
      <description>How to evolve events without breaking consumers: the schema as a contract, backward and forward compatibility, versioning and measured deprecation.</description>
    </item>
    <item>
      <title>Web rendering: SSR, SSG, ISR and islands</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/renderizado-web-ssr-ssg-islands</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/renderizado-web-ssr-ssg-islands</guid>
      <pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate>
      <category>System design</category>
      <description>Where HTML is generated and when: CSR, SSR, SSG, ISR, streaming and islands, with their costs, selection criteria and common mistakes.</description>
    </item>
    <item>
      <title>Case study: a system from start to finish</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/caso-estudio-sistema-completo</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/caso-estudio-sistema-completo</guid>
      <pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate>
      <category>System design</category>
      <description>Illustrative case of a booking system: requirements, boundaries, data, integration, security and evolution, with each decision and its alternative.</description>
    </item>
    <item>
      <title>Data modeling: normalize or denormalize</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/modelado-de-datos-normalizacion</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/modelado-de-datos-normalizacion</guid>
      <pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate>
      <category>System design</category>
      <description>How to model data after how it is read and written: normalization, deliberate copies with an owner, relational versus document models and query-driven design.</description>
    </item>
    <item>
      <title>Evaluating agents: trajectories, regressions and judges</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/evaluar-agentes-trayectorias</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/evaluar-agentes-trayectorias</guid>
      <pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate>
      <category>Practices &amp; quality</category>
      <description>How to evaluate an agent that acts: trajectories versus final outcome, tasks with verifiable criteria, model-based judges, variance and evals in CI.</description>
    </item>
    <item>
      <title>Agent identity and permissions: least privilege and audit</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/identidad-y-permisos-de-agentes</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/identidad-y-permisos-de-agentes</guid>
      <pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate>
      <category>Practices &amp; quality</category>
      <description>Which identity an AI agent uses, how to delegate narrow credentials, least privilege per action, secrets kept out of context, and revocation.</description>
    </item>
    <item>
      <title>AI-generated code: review, ownership and debt</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/codigo-generado-por-ia</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/codigo-generado-por-ia</guid>
      <pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate>
      <category>Practices &amp; quality</category>
      <description>When a model writes the code, review, ownership and debt change: what to measure, who answers for a change and how to leave criteria.</description>
    </item>
    <item>
      <title>Designing for deletion: retiring code without fear</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/disenar-para-borrar</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/disenar-para-borrar</guid>
      <pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate>
      <category>Practices &amp; quality</category>
      <description>Why code you cannot delete keeps costing you, and how to design boundaries, expiring flags and phased retirements you can reverse.</description>
    </item>
    <item>
      <title>Software supply chain: SBOM, signatures and SLSA</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/cadena-de-suministro-software</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/cadena-de-suministro-software</guid>
      <pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate>
      <category>Practices &amp; quality</category>
      <description>Architect's guide: which inventory, signatures and provenance to require, how to pin dependencies and which SLSA level to target, as of October 2026.</description>
    </item>
    <item>
      <title>Trunk-based vs long branches in continuous delivery</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/ramas-y-entrega-continua</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/ramas-y-entrega-continua</guid>
      <pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate>
      <category>Practices &amp; quality</category>
      <description>How the distance between code and trunk sets the cost of integration: trunk-based versus long branches, flags that expire, a healthy trunk and what to measure.</description>
    </item>
    <item>
      <title>Chaos engineering and game days: failing on purpose</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/chaos-engineering-game-days</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/chaos-engineering-game-days</guid>
      <pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate>
      <category>Practices &amp; quality</category>
      <description>How to test resilience by injecting controlled faults: hypotheses, blast radius, stop conditions and game days with the teams that run the system.</description>
    </item>
    <item>
      <title>Capacity and load testing: measure with real loads</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/capacidad-y-pruebas-de-carga</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/capacidad-y-pruebas-de-carga</guid>
      <pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate>
      <category>Practices &amp; quality</category>
      <description>How much capacity a system needs and how to check it with loads that resemble real traffic: load model, test types, measurement errors and headroom.</description>
    </item>
    <item>
      <title>Distributed tracing with OpenTelemetry</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/trazas-distribuidas-opentelemetry</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/trazas-distribuidas-opentelemetry</guid>
      <pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate>
      <category>Practices &amp; quality</category>
      <description>How to follow a request across services with traces, which data makes each span useful, and how to sample and govern telemetry with OpenTelemetry.</description>
    </item>
    <item>
      <title>Infrastructure as code and GitOps</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/infraestructura-como-codigo-gitops</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/infraestructura-como-codigo-gitops</guid>
      <pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate>
      <category>Practices &amp; quality</category>
      <description>Reviewable infrastructure as code: remote state with locking, drift, versioned modules, least-privilege appliers and GitOps versus a push-based pipeline.</description>
    </item>
    <item>
      <title>MCP and A2A: connecting tools and agents</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/mcp-y-a2a-integracion-de-herramientas</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/mcp-y-a2a-integracion-de-herramientas</guid>
      <pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate>
      <category>Trends</category>
      <description>What MCP and A2A standardize, what you gain and pay when adopting them, and when to expose a tool via MCP instead of a plain API.</description>
    </item>
    <item>
      <title>Context engineering and agent memory</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/context-engineering-y-memoria-de-agentes</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/context-engineering-y-memoria-de-agentes</guid>
      <pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate>
      <category>Trends</category>
      <description>How to treat an agent's context as a scarce resource: what enters the window, when to compact, what to store as memory, and how to measure that it works.</description>
    </item>
    <item>
      <title>Agents that use interfaces: browser and desktop</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/agentes-que-usan-interfaces</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/agentes-que-usan-interfaces</guid>
      <pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate>
      <category>Trends</category>
      <description>When an agent should drive a graphical interface instead of an API, what risks the page adds, and how to contain them with sandboxes, approvals and traces.</description>
    </item>
    <item>
      <title>Small models, on-device and data sovereignty</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/modelos-pequenos-on-device-soberania</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/modelos-pequenos-on-device-soberania</guid>
      <pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate>
      <category>Trends</category>
      <description>When a small model on the device or in your own infrastructure beats a frontier API: latency, privacy, cost, sovereignty and what you give up.</description>
    </item>
    <item>
      <title>Data for AI: quality, synthetic data and licensing</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/calidad-datos-para-ia</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/calidad-datos-para-ia</guid>
      <pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate>
      <category>Trends</category>
      <description>Data quality for models and RAG, synthetic data with its risks, and the licensing and consent framework that changes with jurisdiction.</description>
    </item>
    <item>
      <title>Architecture with AI: what to bet on, what to watch</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/futuro-arquitectura-con-ia</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/futuro-arquitectura-con-ia</guid>
      <pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate>
      <category>Trends</category>
      <description>A forward look at 2027 to decide today: verified trends, labeled hypotheses, review signals and reversible decisions.</description>
    </item>
    <item>
      <title>Cost per team and feature: tagging and alerts</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/costes-por-equipo-y-funcionalidad</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/costes-por-equipo-y-funcionalidad</guid>
      <pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate>
      <category>Cloud</category>
      <description>How to attribute cloud spend to teams and features: mandatory tags, shared-cost allocation and budget alerts that fire before the limit.</description>
    </item>
    <item>
      <title>Kubernetes: when yes and when no</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/kubernetes-cuando-si-cuando-no</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/kubernetes-cuando-si-cuando-no</guid>
      <pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate>
      <category>Cloud</category>
      <description>What Kubernetes actually solves, what operational cost it brings, and when a managed service, a PaaS or a well-run VM is the cheaper decision.</description>
    </item>
    <item>
      <title>The architect's work with agents: roles and productivity</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/trabajo-del-arquitecto-con-agentes</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/trabajo-del-arquitecto-con-agentes</guid>
      <pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate>
      <category>Decisions, processes and AI</category>
      <description>What changes in the architect role when teams work with AI agents: specifying, delegating with judgment, reviewing, and measuring flow honestly.</description>
    </item>
    <item>
      <title>Internal libraries: extract, version or copy</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/librerias-internas-sin-infierno-versiones</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/librerias-internas-sin-infierno-versiones</guid>
      <pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate>
      <category>Decisions, processes and AI</category>
      <description>When to turn shared code into an internal library, when copying is better, and how to version and retire it so that every change is not an incident.</description>
    </item>
    <item>
      <title>The complexity your tools add</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/complejidad-accidental-de-herramientas</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/complejidad-accidental-de-herramientas</guid>
      <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
      <category>Foundations</category>
      <description>Telling apart the complexity of the problem from the complexity your frameworks and tools add, with diagnostic questions and four ways to reduce it.</description>
    </item>
    <item>
      <title>The architect as facilitator</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/arquitecto-como-facilitador</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/arquitecto-como-facilitador</guid>
      <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
      <category>Foundations</category>
      <description>How to influence without formal authority: when to decide yourself, when to consult and when to delegate, and how the team keeps ownership of its choices.</description>
    </item>
    <item>
      <title>Layers are not the architecture</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/capas-no-son-arquitectura</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/capas-no-son-arquitectura</guid>
      <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
      <category>System design</category>
      <description>Why folders named after layers are not enough: the dependency rule, what each boundary may carry, and when extra layers add noise instead of protection.</description>
    </item>
    <item>
      <title>Modular monolith before microservices</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/monolito-modular-primero</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/monolito-modular-primero</guid>
      <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
      <category>System design</category>
      <description>Monolith or microservices is the wrong question. How to design boundaries inside one process and when extracting a service actually makes sense.</description>
    </item>
    <item>
      <title>Coordinating services without distributed transactions</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/coordinar-servicios-sin-2pc</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/coordinar-servicios-sin-2pc</guid>
      <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
      <category>System design</category>
      <description>Sagas with compensations, the outbox pattern and idempotency for an operation that spans several services and can fail halfway through.</description>
    </item>
    <item>
      <title>CAP is decided per operation</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/cap-por-operacion</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/cap-por-operacion</guid>
      <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
      <category>System design</category>
      <description>CAP and PACELC explained as per-operation decisions: what choosing consistency or availability means for a balance, a cart or a like counter.</description>
    </item>
    <item>
      <title>Before you scale, do the math</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/antes-de-escalar-la-cuenta</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/antes-de-escalar-la-cuenta</guid>
      <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
      <category>System design</category>
      <description>Little's law, Amdahl's law and queueing to estimate concurrency and capacity before adding servers, with a full calculation from start to finish.</description>
    </item>
    <item>
      <title>Migrating a database without downtime</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/migraciones-bd-sin-downtime</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/migraciones-bd-sin-downtime</guid>
      <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
      <category>System design</category>
      <description>Expand and contract, backward-compatible schema changes and batched backfills to evolve a database without maintenance windows.</description>
    </item>
    <item>
      <title>Legacy systems: strangler and anti-corruption layer</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/legado-strangler-anticorrupcion</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/legado-strangler-anticorrupcion</guid>
      <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
      <category>System design</category>
      <description>How to modernize a system you cannot rewrite: a strangler that redirects routes and an anti-corruption layer that protects the new model.</description>
    </item>
    <item>
      <title>Micro-frontends and BFF: when yes and when no</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/micro-frontends-y-bff</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/micro-frontends-y-bff</guid>
      <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
      <category>System design</category>
      <description>When to split the frontend into micro-frontends and when a BFF per channel is enough. Criteria on coupling, teams and the cost of coordinating deployments.</description>
    </item>
    <item>
      <title>Real time: WebSockets, SSE and queues</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/tiempo-real-websockets-sse</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/tiempo-real-websockets-sse</guid>
      <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
      <category>System design</category>
      <description>How to choose between SSE, WebSocket and queues to push data in real time: direction of the flow, number of clients and what happens when the connection drops.</description>
    </item>
    <item>
      <title>Payments and the ledger: double entry without errors</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/pagos-libro-mayor-ledger</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/pagos-libro-mayor-ledger</guid>
      <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
      <category>System design</category>
      <description>Immutable double-entry postings, corrections by reversal, idempotent charges and reconciliation with the payment provider.</description>
    </item>
    <item>
      <title>Choosing a database: access patterns first</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/persistencia-politica-elegir-bd</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/persistencia-politica-elegir-bd</guid>
      <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
      <category>System design</category>
      <description>Before choosing a database, define reads and writes: which store type fits, when polyglot persistence pays off and what it costs to run.</description>
    </item>
    <item>
      <title>Search inside the application: when the database is enough</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/busqueda-en-aplicacion</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/busqueda-en-aplicacion</guid>
      <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
      <category>System design</category>
      <description>When a database index is enough, when a dedicated inverted index pays off, and how to keep it in sync with the source without losing changes.</description>
    </item>
    <item>
      <title>Notifications: push, email and SMS reliably</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/notificaciones-push-correo-sms</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/notificaciones-push-correo-sms</guid>
      <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
      <category>System design</category>
      <description>A decoupled notification service with one queue per channel, user preferences, deduplication and retries that avoid losses and reduce duplicates.</description>
    </item>
    <item>
      <title>Extensible architecture: plugins and extension points</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/arquitectura-extensible-plugins</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/arquitectura-extensible-plugins</guid>
      <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
      <category>System design</category>
      <description>When to open a system to extensions, extension points with a stable contract, permissions and sandboxing, and versioning and deprecation of the plugin API.</description>
    </item>
    <item>
      <title>Offline-first mobile: syncing without losing data</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/movil-offline-first-sincronizacion</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/movil-offline-first-sincronizacion</guid>
      <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
      <category>System design</category>
      <description>How to design an app that writes locally first, syncs a queue of operations in order and resolves conflicts without losing the changes the user made.</description>
    </item>
    <item>
      <title>Your architecture should fail in CI</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/fitness-en-el-ci</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/fitness-en-el-ci</guid>
      <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
      <category>Practices &amp; quality</category>
      <description>How to turn an architecture rule into a check that fails the pipeline: a real ESLint example from this repository and the steps to start with one.</description>
    </item>
    <item>
      <title>Retries with jitter, without storms</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/reintentos-con-jitter</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/reintentos-con-jitter</guid>
      <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
      <category>Practices &amp; quality</category>
      <description>Why retries without jitter multiply an outage, and how to combine timeouts, backoff, retry budgets and circuit breakers.</description>
    </item>
    <item>
      <title>Observability: SLIs, SLOs and error budgets</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/observabilidad-slo-presupuesto-error</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/observabilidad-slo-presupuesto-error</guid>
      <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
      <category>Practices &amp; quality</category>
      <description>How to measure what users experience with SLIs, set an SLO and use the error budget to decide when to ship faster and when to slow down.</description>
    </item>
    <item>
      <title>Testing strategy: the pyramid and contracts</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/estrategia-de-pruebas-contratos</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/estrategia-de-pruebas-contratos</guid>
      <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
      <category>Practices &amp; quality</category>
      <description>What to test at each level of the pyramid, how contracts between services prevent broken integrations, and which architecture tests to keep.</description>
    </item>
    <item>
      <title>Progressive delivery: flags, canary and blue/green</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/entrega-progresiva-flags-canary</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/entrega-progresiva-flags-canary</guid>
      <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
      <category>Practices &amp; quality</category>
      <description>Deploying without exposing every user: feature flags, canary and blue/green releases, and how to roll back without deploying again.</description>
    </item>
    <item>
      <title>Threat modelling with STRIDE on a real diagram</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/modelado-de-amenazas-stride</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/modelado-de-amenazas-stride</guid>
      <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
      <category>Practices &amp; quality</category>
      <description>How to apply STRIDE to a real data flow diagram: trust boundaries, the six threat categories and a complete review example.</description>
    </item>
    <item>
      <title>Privacy by design: data, retention and deletion</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/privacidad-por-diseno-gdpr</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/privacidad-por-diseno-gdpr</guid>
      <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
      <category>Practices &amp; quality</category>
      <description>Minimization, legal basis, retention periods and deletion that reaches copies and backups: privacy as an architecture requirement.</description>
    </item>
    <item>
      <title>Incidents and blameless postmortems</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/gestion-incidentes-postmortems</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/gestion-incidentes-postmortems</guid>
      <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
      <category>Practices &amp; quality</category>
      <description>Incident roles, severities, communication and blameless postmortems that end in owned, dated actions.</description>
    </item>
    <item>
      <title>Secrets and keys: rotation without surprises</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/gestion-secretos-claves</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/gestion-secretos-claves</guid>
      <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
      <category>Practices &amp; quality</category>
      <description>Why secrets never belong in the repository, how vaults and workload identities work, and how to rotate keys without taking the service down.</description>
    </item>
    <item>
      <title>Data architecture: lakehouse and data mesh</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/arquitectura-de-datos-lakehouse</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/arquitectura-de-datos-lakehouse</guid>
      <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
      <category>Trends</category>
      <description>When a data warehouse is enough, when an open-table lakehouse pays off, and when a data mesh makes sense as an organizational model.</description>
    </item>
    <item>
      <title>RAG in production and continuous evaluation</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/rag-y-evaluacion-continua</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/rag-y-evaluacion-continua</guid>
      <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
      <category>Trends</category>
      <description>How to take a RAG system to production: indexing, retrieval and generation as a measurable chain, with metrics per stage and continuous evaluation.</description>
    </item>
    <item>
      <title>Inference cost: model, cache and deployment</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/costo-de-inferencia</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/costo-de-inferencia</guid>
      <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
      <category>Trends</category>
      <description>How to lower the cost per request of an LLM system: choose the smallest model that works, use caching with judgement and decide where inference runs.</description>
    </item>
    <item>
      <title>Sustainable software: footprint as an attribute</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/software-sostenible-carbono</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/software-sostenible-carbono</guid>
      <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
      <category>Trends</category>
      <description>How to treat software carbon footprint as a quality attribute: what to measure, where it comes from and how to choose region, timing and compute with judgement.</description>
    </item>
    <item>
      <title>MLOps: taking a model to production</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/mlops-modelo-a-produccion</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/mlops-modelo-a-produccion</guid>
      <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
      <category>Trends</category>
      <description>How to version data, code and models separately, deploy with shadow traffic and canaries, watch for drift, and decide when to retrain or retire a model.</description>
    </item>
    <item>
      <title>Edge and CDN: what to run at the edge</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/edge-computing-cdn</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/edge-computing-cdn</guid>
      <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
      <category>Trends</category>
      <description>What a CDN is good at, what can run at the edge, how latency and caching are split, and when moving logic closer to users does not pay off.</description>
    </item>
    <item>
      <title>What it would cost to leave your cloud</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/salida-de-la-nube</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/salida-de-la-nube</guid>
      <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
      <category>Cloud</category>
      <description>Exit cost from a cloud provider is not evenly distributed: data usually weighs more than the API. How to estimate it and why you should test the plan.</description>
    </item>
    <item>
      <title>Authorization at scale: RBAC, ABAC and ReBAC</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/autorizacion-rbac-abac-rebac</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/autorizacion-rbac-abac-rebac</guid>
      <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
      <category>Cloud</category>
      <description>When to decide access with roles, attributes or relationships, and how to avoid duplicating access rules across every service.</description>
    </item>
    <item>
      <title>Cloud migration: the six Rs with judgement</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/migracion-nube-6r</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/migracion-nube-6r</guid>
      <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
      <category>Cloud</category>
      <description>Rehost, replatform, refactor, repurchase, retire and retain: choosing the cloud migration strategy per application, with judgement.</description>
    </item>
    <item>
      <title>Sessions, tokens and SSO: what to choose and why</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/sesiones-tokens-sso</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/sesiones-tokens-sso</guid>
      <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
      <category>Cloud</category>
      <description>Server-side sessions versus self-contained tokens, expiry and rotation, revocation, SSO on top of OAuth 2.0, and where to keep tokens in the browser.</description>
    </item>
    <item>
      <title>Your org chart draws your architecture</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/organigrama-y-sistema</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/organigrama-y-sistema</guid>
      <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
      <category>Decisions, processes and AI</category>
      <description>Conway's law in practice: how your organization's communication ends up in the system, and how the inverse Conway maneuver lets you design teams on purpose.</description>
    </item>
    <item>
      <title>Decisions have a lifecycle</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/adr-ciclo-de-vida</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/adr-ciclo-de-vida</guid>
      <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
      <category>Decisions, processes and AI</category>
      <description>An ADR is proposed, accepted and, over time, deprecated or superseded. How to keep a decision log without erasing its history.</description>
    </item>
    <item>
      <title>How much autonomy to give an agent</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/autonomia-de-la-ia</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/autonomia-de-la-ia</guid>
      <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
      <category>Decisions, processes and AI</category>
      <description>Autonomy levels for AI systems: which steps stay deterministic, where human approval belongs, how to stop safely and how to trace cost and idempotency.</description>
    </item>
    <item>
      <title>Internal platform: when to build an IDP</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/plataforma-interna-idp</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/plataforma-interna-idp</guid>
      <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
      <category>Decisions, processes and AI</category>
      <description>What an internal developer platform is, when it pays for its cost, and how to run it as a product with measurable golden paths.</description>
    </item>
    <item>
      <title>Monorepo or polyrepo: the decision and its costs</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/monorepo-o-polirepo</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/monorepo-o-polirepo</guid>
      <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
      <category>Decisions, processes and AI</category>
      <description>When a monorepo pays off, when a polyrepo is better, and which hidden costs each option brings, with explicit criteria for the decision.</description>
    </item>
    <item>
      <title>RFCs and architecture reviews without bureaucracy</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/rfc-y-revisiones-de-arquitectura</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/rfc-y-revisiones-de-arquitectura</guid>
      <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
      <category>Decisions, processes and AI</category>
      <description>How to take technical proposals through review with timeboxes, clear decision criteria and an ADR record, without turning every change into a committee.</description>
    </item>
    <item>
      <title>Service catalogue and API governance</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/catalogo-servicios-gobierno-apis</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/catalogo-servicios-gobierno-apis</guid>
      <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
      <category>Decisions, processes and AI</category>
      <description>A service catalogue with an owner, a status and a contract per service, light governance rules and an API lifecycle with deprecation and retirement dates.</description>
    </item>
    <item>
      <title>Documenting architecture so someone uses it</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/documentar-arquitectura-util</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/documentar-arquitectura-util</guid>
      <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
      <category>Decisions, processes and AI</category>
      <description>What architecture documentation must answer, how to pick its level of detail, keep it next to the code and measure whether anyone uses it.</description>
    </item>
    <item>
      <title>Getting started</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/getting-started</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/getting-started</guid>
      <pubDate>Sat, 10 Oct 2026 00:00:00 GMT</pubDate>
      <category>Foundations</category>
      <description>An orientation guide: what this site is, what to read and in what order for your profile, a four-week plan, how to use search and how to contribute content.</description>
    </item>
    <item>
      <title>ADRs: document architecture decisions</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/adr</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/adr</guid>
      <pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate>
      <category>Foundations</category>
      <description>A practical guide to ADRs: what they are, when to write them, templates (Nygard, MADR, Y-statements), lifecycle, PR review and working with AI agents.</description>
    </item>
    <item>
      <title>Coupling and cohesion: the foundation of design</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/acoplamiento-cohesion</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/acoplamiento-cohesion</guid>
      <pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate>
      <category>Foundations</category>
      <description>A guide for architects: types of cohesion and coupling, information hiding, deep modules, Demeter, instability and connascence, with tooling.</description>
    </item>
    <item>
      <title>Quality attributes and trade-offs</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/atributos-de-calidad</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/atributos-de-calidad</guid>
      <pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate>
      <category>Foundations</category>
      <description>How to choose the quality attributes that drive your architecture, write them as measurable scenarios, weigh trade-offs with a light ATAM and track SLOs.</description>
    </item>
    <item>
      <title>DevOps and its culture: the foundation of delivery</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/devops-cultura</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/devops-cultura</guid>
      <pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate>
      <category>Foundations</category>
      <description>A foundational guide: what DevOps is and is not, its culture (CALMS, Three Ways, Westrum), the DORA metrics and how to adopt it without starting with tools.</description>
    </item>
    <item>
      <title>GoF design patterns, a modern take</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/patrones-de-diseno</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/patrones-de-diseno</guid>
      <pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate>
      <category>Foundations</category>
      <description>Which GoF patterns still matter, which ones the language absorbed and which dependency injection replaced, plus a guide to deciding when to use them.</description>
    </item>
    <item>
      <title>Trade-offs and decision-making in architecture</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/trade-offs-y-decisiones</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/trade-offs-y-decisiones</guid>
      <pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate>
      <category>Foundations</category>
      <description>How to reason through an architecture decision: explicit criteria, reversibility, the last responsible moment, cognitive biases and a reusable method.</description>
    </item>
    <item>
      <title>Basic design principles</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/principios-de-diseno-basicos</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/principios-de-diseno-basicos</guid>
      <pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate>
      <category>Foundations</category>
      <description>DRY, KISS, YAGNI, the Law of Demeter and information hiding: where they come from, what each protects, when they help and when they hurt.</description>
    </item>
    <item>
      <title>Essential and accidental complexity</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/complejidad-esencial-y-accidental</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/complejidad-esencial-y-accidental</guid>
      <pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate>
      <category>Foundations</category>
      <description>The line Brooks drew between the complexity of the problem and the one your tools add: how to diagnose it, avoid its traps and reduce it.</description>
    </item>
    <item>
      <title>Conway's law and Team Topologies</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/ley-de-conway-team-topologies</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/ley-de-conway-team-topologies</guid>
      <pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate>
      <category>Foundations</category>
      <description>Why an organization's communication ends up in its architecture, the inverse Conway maneuver, and how to design teams with Team Topologies.</description>
    </item>
    <item>
      <title>Data, ACID and isolation levels</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/datos-acid-y-aislamiento</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/datos-acid-y-aislamiento</guid>
      <pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate>
      <category>Foundations</category>
      <description>Data modeling, ACID transactions, concurrency anomalies and isolation levels: what each level protects against and how to choose in your database.</description>
    </item>
    <item>
      <title>Numbers and performance laws</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/numeros-y-leyes-de-rendimiento</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/numeros-y-leyes-de-rendimiento</guid>
      <pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate>
      <category>Foundations</category>
      <description>The laws of Little and Amdahl, the Universal Scalability Law and queueing: how to estimate latency, concurrency and capacity before you build.</description>
    </item>
    <item>
      <title>Architectural styles</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/estilos-arquitectonicos</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/estilos-arquitectonicos</guid>
      <pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate>
      <category>Foundations</category>
      <description>What an architectural style is, how it differs from a pattern and a technology, and how to choose among nine styles based on your quality attributes.</description>
    </item>
    <item>
      <title>C4 model: document your architecture by levels</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/c4-model</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/c4-model</guid>
      <pubDate>Sat, 10 Oct 2026 00:00:00 GMT</pubDate>
      <category>System design</category>
      <description>Learn the four levels of the C4 model with a complete example: context, containers, components and code, plus notation rules and common mistakes.</description>
    </item>
    <item>
      <title>Domain-Driven Design: design from the domain</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/domain-driven-design</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/domain-driven-design</guid>
      <pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate>
      <category>System design</category>
      <description>A DDD guide for architects: subdomains, ubiquitous language, bounded contexts, aggregates, Event Storming and the tools that keep the design honest.</description>
    </item>
    <item>
      <title>Hexagonal architecture: ports and adapters</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/arquitectura-hexagonal</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/arquitectura-hexagonal</guid>
      <pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate>
      <category>System design</category>
      <description>A guide for architects: ports and adapters, the dependency rule, how to organize and name the pieces, how to test it and protect it with executable rules.</description>
    </item>
    <item>
      <title>Diagrams as code: document with version control</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/diagramas-como-codigo</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/diagramas-como-codigo</guid>
      <pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate>
      <category>System design</category>
      <description>Compare Mermaid, Structurizr, D2, PlantUML and Graphviz on one system, and learn to version, validate in CI and keep your architecture diagrams alive.</description>
    </item>
    <item>
      <title>Monolith, modular monolith or microservices</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/monolito-vs-microservicios</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/monolito-vs-microservicios</guid>
      <pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate>
      <category>System design</category>
      <description>How to choose between a monolith, a modular monolith and microservices: real costs, enforceable boundaries, team structure and migration paths.</description>
    </item>
    <item>
      <title>Layered, Onion and Clean: where dependencies point</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/arquitectura-en-capas-clean-onion</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/arquitectura-en-capas-clean-onion</guid>
      <pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate>
      <category>System design</category>
      <description>Layered, Onion and Clean Architecture compared: the dependency rule, what crosses each boundary, common failures and a guide to choosing.</description>
    </item>
    <item>
      <title>CAP theorem, PACELC and consistency</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/cap-pacelc</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/cap-pacelc</guid>
      <pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate>
      <category>System design</category>
      <description>What CAP and PACELC actually say, the spectrum of consistency models, and how to choose the trade-off per operation in a distributed system.</description>
    </item>
    <item>
      <title>Event-driven, CQRS and Event Sourcing</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/event-driven-cqrs-event-sourcing</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/event-driven-cqrs-event-sourcing</guid>
      <pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate>
      <category>System design</category>
      <description>Events versus commands, notification versus state transfer, CQRS and Event Sourcing: when they pay off, projections, versioning and data erasure.</description>
    </item>
    <item>
      <title>Sagas, outbox and idempotency</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/sagas-outbox-idempotencia</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/sagas-outbox-idempotencia</guid>
      <pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate>
      <category>System design</category>
      <description>How to coordinate changes across services without a distributed transaction: sagas, compensations, outbox, deduplication and idempotency.</description>
    </item>
    <item>
      <title>API design: contracts that last</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/diseno-de-apis</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/diseno-de-apis</guid>
      <pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate>
      <category>System design</category>
      <description>Contract-first, REST, GraphQL and gRPC, non-breaking changes, pagination, RFC 9457 errors, idempotency and rate limits for APIs that need to evolve.</description>
    </item>
    <item>
      <title>Resilience in distributed systems</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/resiliencia-sistemas-distribuidos</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/resiliencia-sistemas-distribuidos</guid>
      <pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate>
      <category>System design</category>
      <description>Timeouts, deadlines, retries with backoff and jitter, circuit breakers, bulkheads and load shedding to contain partial failures and measure them.</description>
    </item>
    <item>
      <title>Caching, queues and streaming</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/caching-colas-streaming</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/caching-colas-streaming</guid>
      <pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate>
      <category>System design</category>
      <description>Caching patterns, invalidation and stampedes; queues versus partitioned logs, delivery semantics, and how to choose between a queue, pub/sub and a log.</description>
    </item>
    <item>
      <title>Scalability and classic design cases</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/escalabilidad-casos-clasicos</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/escalabilidad-casos-clasicos</guid>
      <pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate>
      <category>System design</category>
      <description>A method for scaling: requirements, back-of-the-envelope estimates, partitions and replicas, applied to a URL shortener, a rate limiter and a news feed.</description>
    </item>
    <item>
      <title>Multi-tenancy: many customers, one system</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/multi-tenancy</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/multi-tenancy</guid>
      <pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate>
      <category>System design</category>
      <description>How to design a multi-tenant SaaS: isolation models, tenant identification, Row-Level Security, noisy neighbors, schema migrations and usage metering.</description>
    </item>
    <item>
      <title>Clean code for architects</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/clean-code</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/clean-code</guid>
      <pubDate>Sat, 10 Oct 2026 00:00:00 GMT</pubDate>
      <category>Practices &amp; quality</category>
      <description>A practical clean code guide: names, functions, errors, complexity, tests, refactoring and technical debt, with before/after examples and a review checklist.</description>
    </item>
    <item>
      <title>Harness engineering with Claude Code</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/harness-engineering-claude-code</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/harness-engineering-claude-code</guid>
      <pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate>
      <category>Practices &amp; quality</category>
      <description>A guide for architects: designing the Claude Code harness with memory, hooks, permissions, subagents and dynamic workflows, current as of October 2026.</description>
    </item>
    <item>
      <title>Fitness functions and evolutionary architecture</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/fitness-functions</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/fitness-functions</guid>
      <pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate>
      <category>Practices &amp; quality</category>
      <description>How to turn your architecture's characteristics into automated checks: types, tools per language and how to adopt them in legacy systems.</description>
    </item>
    <item>
      <title>Technical debt and architectural evolution</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/deuda-tecnica-evolucion</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/deuda-tecnica-evolucion</guid>
      <pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate>
      <category>Practices &amp; quality</category>
      <description>How to name, measure and pay down technical debt, and how to evolve the architecture through guided, incremental change instead of rewrites.</description>
    </item>
    <item>
      <title>Security by design: threats, boundaries and trust</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/seguridad-por-diseno</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/seguridad-por-diseno</guid>
      <pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate>
      <category>Practices &amp; quality</category>
      <description>Security as a property of the architecture: classic principles, STRIDE in one hour, trust boundaries, secrets, the supply chain and zero trust.</description>
    </item>
    <item>
      <title>Programming languages in the AI era</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/lenguajes-era-ia</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/lenguajes-era-ia</guid>
      <pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate>
      <category>Trends</category>
      <description>A guide for architects: the role of Python, TypeScript, Rust, Go, Mojo and Zig in the AI era, and how to choose between them.</description>
    </item>
    <item>
      <title>Architecture of LLM and agent applications</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/arquitectura-agentes-llm</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/arquitectura-agentes-llm</guid>
      <pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate>
      <category>Trends</category>
      <description>A guide for architects: when to use workflows or agents, which components an LLM application needs, how to secure it and which trade-offs to accept.</description>
    </item>
    <item>
      <title>Cloud services for architects</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/servicios-nube-para-arquitectos</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/servicios-nube-para-arquitectos</guid>
      <pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate>
      <category>Cloud</category>
      <description>The service model as a contract of responsibilities: IaaS, CaaS, PaaS, FaaS and SaaS, the key service categories, and how to choose managed or self-run.</description>
    </item>
    <item>
      <title>Deployment models: public, private, hybrid</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/modelos-de-despliegue-nube</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/modelos-de-despliegue-nube</guid>
      <pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate>
      <category>Cloud</category>
      <description>Public, private, community and hybrid cloud as NIST defines them: what changes in control, data and cost, and how to choose a model per workload.</description>
    </item>
    <item>
      <title>Hybrid cloud in detail</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/nube-hibrida-en-detalle</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/nube-hibrida-en-detalle</guid>
      <pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate>
      <category>Cloud</category>
      <description>Patterns, redundant connectivity, federated identity, consistent deployment, and what must keep running when the link to the cloud goes down.</description>
    </item>
    <item>
      <title>Locked in to one vendor: lock-in and exit plan</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/casado-a-un-proveedor</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/casado-a-un-proveedor</guid>
      <pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate>
      <category>Cloud</category>
      <description>Types of cloud lock-in, how to estimate your exit cost, portability layer by layer, and how to document an exit plan you have actually tested.</description>
    </item>
    <item>
      <title>Multicloud: when it makes sense</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/multinube-cuando-tiene-sentido</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/multinube-cuando-tiene-sentido</guid>
      <pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate>
      <category>Cloud</category>
      <description>What multicloud is and how it differs from hybrid, which reasons hold up and which fail, its hidden costs, useful patterns and a decision framework.</description>
    </item>
    <item>
      <title>Serverless and managed compute</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/serverless-y-computacion-gestionada</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/serverless-y-computacion-gestionada</guid>
      <pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate>
      <category>Cloud</category>
      <description>From control to abstraction: the function execution model, cold starts, state, retries, per-invocation cost and coupling to your cloud provider.</description>
    </item>
    <item>
      <title>Cloud networking, identity and security</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/redes-identidad-seguridad-nube</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/redes-identidad-seguridad-nube</guid>
      <pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate>
      <category>Cloud</category>
      <description>Virtual networks, private endpoints, workload identity, least privilege, secrets, keys and logging: how to protect a workload running in the cloud.</description>
    </item>
    <item>
      <title>Regions, zones and disaster recovery</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/regiones-zonas-y-recuperacion</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/regiones-zonas-y-recuperacion</guid>
      <pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate>
      <category>Cloud</category>
      <description>Zones and regions as failure domains, synchronous and asynchronous replication, RTO and RPO, the four recovery strategies and how to actually test them.</description>
    </item>
    <item>
      <title>FinOps: cost as an architecture attribute</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/finops-costo-como-atributo</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/finops-costo-como-atributo</guid>
      <pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate>
      <category>Cloud</category>
      <description>How to treat cloud cost as a quality attribute: pricing models, unit economics, tagging, hidden costs and governance with FinOps.</description>
    </item>
    <item>
      <title>Prioritization frameworks: RICE, WSJF, ICE</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/marcos-de-priorizacion</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/marcos-de-priorizacion</guid>
      <pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate>
      <category>Decisions, processes and AI</category>
      <description>How to order a backlog with RICE, ICE and WSJF: formulas, cost of delay, a worked example with five initiatives and the traps of false precision.</description>
    </item>
    <item>
      <title>Strategic decision frameworks: Cynefin and Wardley maps</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/marcos-de-decision-estrategica</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/marcos-de-decision-estrategica</guid>
      <pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate>
      <category>Decisions, processes and AI</category>
      <description>Use Cynefin to tell what kind of problem you face, and Wardley maps to decide what to build, buy or rent based on how far each component has evolved.</description>
    </item>
    <item>
      <title>Presenting ideas and proposals that get approved</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/presentar-ideas-y-propuestas</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/presentar-ideas-y-propuestas</guid>
      <pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate>
      <category>Decisions, processes and AI</category>
      <description>How to write a technical or business proposal that gets understood and decided: conclusion first, options with criteria, risks and the cost of inaction.</description>
    </item>
    <item>
      <title>Value stream and bottlenecks</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/flujo-de-valor-y-cuellos-de-botella</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/flujo-de-valor-y-cuellos-de-botella</guid>
      <pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate>
      <category>Decisions, processes and AI</category>
      <description>Value stream mapping, wait time versus process time, the theory of constraints, Little’s law and WIP limits to shorten delivery.</description>
    </item>
    <item>
      <title>Continuous improvement and experiments</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/mejora-continua-y-experimentos</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/mejora-continua-y-experimentos</guid>
      <pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate>
      <category>Decisions, processes and AI</category>
      <description>The PDSA cycle, kaizen and the improvement kata; how to design experiments with a hypothesis, guardrails and a stopping rule, and retros that change things.</description>
    </item>
    <item>
      <title>Measuring decisions: OKRs, KPIs and guardrail metrics</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/medir-decisiones-okr-kpi</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/medir-decisiones-okr-kpi</guid>
      <pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate>
      <category>Decisions, processes and AI</category>
      <description>How to measure in order to decide: health KPIs, OKRs with key results, guardrail metrics against side effects and thresholds that trigger a decision.</description>
    </item>
    <item>
      <title>AI for decisions: research, scenarios and pre-mortems</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/ia-para-decidir-negocio</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/ia-para-decidir-negocio</guid>
      <pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate>
      <category>Decisions, processes and AI</category>
      <description>How to use a language model to improve a business decision without handing it over: what to ask, where it fails, how to verify, and a guided pre-mortem.</description>
    </item>
    <item>
      <title>Controlling AI: governance, autonomy and evaluation</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/controlar-la-ia-gobierno-y-autonomia</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/controlar-la-ia-gobierno-y-autonomia</guid>
      <pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate>
      <category>Decisions, processes and AI</category>
      <description>How much autonomy to give an AI system, where to require human approval, how to evaluate it continuously, and what NIST AI RMF, the EU AI Act and OWASP ask.</description>
    </item>
    <item>
      <title>Designing workflows with AI agents</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/disenar-flujos-con-agentes</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/disenar-flujos-con-agentes</guid>
      <pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate>
      <category>Decisions, processes and AI</category>
      <description>Which workflow steps belong in code and which in an agent, where to validate, approve and stop, and how to trace state, cost and idempotency per step.</description>
    </item>
    <item>
      <title>Tools to decide and document</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/herramientas-para-decidir-y-documentar</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/herramientas-para-decidir-y-documentar</guid>
      <pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate>
      <category>Decisions, processes and AI</category>
      <description>A framework for choosing decision and documentation software by integration, data export, exit cost, permissions and search, not by hype.</description>
    </item>
    <item>
      <title>Systems thinking and biases in decisions</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/pensamiento-sistemico-y-sesgos</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/pensamiento-sistemico-y-sesgos</guid>
      <pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate>
      <category>Decisions, processes and AI</category>
      <description>Reinforcing and balancing loops, delays, fixes that make the problem worse, and the biases that distort decisions, with techniques to counter them.</description>
    </item>
    <item>
      <title>SOLID principles</title>
      <link>https://sazardev.github.io/software-architecture/en/docs/solid</link>
      <guid isPermaLink="true">https://sazardev.github.io/software-architecture/en/docs/solid</guid>
      <pubDate>Sat, 10 Oct 2026 00:00:00 GMT</pubDate>
      <category>Foundations</category>
      <description>The five SOLID principles explained with concrete examples and links to go deeper on each one.</description>
    </item>
  </channel>
</rss>
