<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Fernando</title>
    <description>The latest articles on DEV Community by Fernando (@_ferpaz).</description>
    <link>https://dev.to/_ferpaz</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F812799%2Fa1efe587-307d-4768-bff3-fab565d460bf.jpg</url>
      <title>DEV Community: Fernando</title>
      <link>https://dev.to/_ferpaz</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/_ferpaz"/>
    <language>en</language>
    <item>
      <title>Pruebas en APIs de microservicios: 5 esenciales para arquitectos de software</title>
      <dc:creator>Fernando</dc:creator>
      <pubDate>Mon, 16 Feb 2026 17:41:30 +0000</pubDate>
      <link>https://dev.to/_ferpaz/pruebas-en-apis-de-microservicios-5-esenciales-para-arquitectos-de-software-2i55</link>
      <guid>https://dev.to/_ferpaz/pruebas-en-apis-de-microservicios-5-esenciales-para-arquitectos-de-software-2i55</guid>
      <description>&lt;p&gt;&lt;strong&gt;Las pruebas en APIs de microservicios&lt;/strong&gt; son un pilar fundamental en arquitecturas modernas basadas en integración distribuida. Para arquitectos de software y líderes técnicos, la calidad ya no se limita a que “funcione”, sino en garantizar &lt;strong&gt;confiabilidad, seguridad y estabilidad operativa&lt;/strong&gt; en sistemas distribuidos que evolucionan constantemente.&lt;/p&gt;

&lt;p&gt;Una API no es solo un endpoint: es un &lt;strong&gt;contrato vivo&lt;/strong&gt; entre equipos, servicios y, muchas veces, organizaciones completas. Cuando ese contrato se rompe —por un despliegue defectuoso, un cambio no controlado o una brecha de seguridad— el impacto es inmediato en el negocio.&lt;/p&gt;

&lt;p&gt;Por eso existen &lt;strong&gt;pruebas que no son negociables&lt;/strong&gt;. No dependen del lenguaje, del framework ni del proveedor cloud. Son la base mínima para evitar desplegar &lt;strong&gt;código roto o vulnerable&lt;/strong&gt; en producción.&lt;/p&gt;

&lt;p&gt;En esta guía revisamos &lt;strong&gt;las pruebas esenciales en APIs de microservicios&lt;/strong&gt;, explicando &lt;strong&gt;qué validan, cómo implementarlas y por qué son críticas&lt;/strong&gt;, utilizando un &lt;strong&gt;caso de negocio realista&lt;/strong&gt; para aterrizar cada concepto.&lt;/p&gt;

&lt;h2&gt;
  
  
  Caso de negocio de referencia
&lt;/h2&gt;

&lt;p&gt;Plataforma de &lt;strong&gt;pagos digitales B2C&lt;/strong&gt;, basada en microservicios:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Payment API&lt;/strong&gt; → recibe y orquesta pagos&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Account API&lt;/strong&gt; → valida saldo y estado de la cuenta&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Ledger API&lt;/strong&gt; → registra movimientos contables&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Notification API&lt;/strong&gt; → notifica al cliente&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Cada servicio expone APIs REST y participa en flujos síncronos y asíncronos.&lt;/p&gt;

&lt;h2&gt;
  
  
  Smoke Testing en APIs de microservicios: confirmar que el sistema “respira”
&lt;/h2&gt;

&lt;p&gt;El &lt;em&gt;Smoke Testing&lt;/em&gt; valida lo más básico después de un despliegue:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;¿La API está disponible y responde sin fallar?&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Ejemplo de negocio
&lt;/h3&gt;

&lt;p&gt;Al iniciar la jornada operativa, un comercio necesita confirmar que la plataforma &lt;strong&gt;puede aceptar pagos&lt;/strong&gt;, aunque aún no ejecute flujos completos.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cómo se prueba (ejemplo práctico)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;  Tras desplegar una nueva versión de &lt;strong&gt;Payment API&lt;/strong&gt;, se ejecuta automáticamente:

&lt;ul&gt;
&lt;li&gt;  &lt;code&gt;GET /health&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;code&gt;POST /payments&lt;/code&gt; con un payload mínimo mockeado&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;  Se valida:

&lt;ul&gt;
&lt;li&gt;  Respuesta HTTP distinta de 5xx&lt;/li&gt;
&lt;li&gt;  Tiempo de respuesta dentro de un umbral aceptable&lt;/li&gt;
&lt;li&gt;  Que el servicio no se reinicia ni lanza errores fatales&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;h3&gt;
  
  
  Valor arquitectónico
&lt;/h3&gt;

&lt;p&gt;El smoke testing asegura que la API es enrutable, que la configuración es correcta y que las dependencias mínimas están disponibles. Es la &lt;strong&gt;primera barrera&lt;/strong&gt; antes de exponer tráfico real.&lt;/p&gt;

&lt;h2&gt;
  
  
  Functional Testing en APIs: validar el contrato, no la implementación
&lt;/h2&gt;

&lt;p&gt;El &lt;em&gt;Functional Testing&lt;/em&gt; garantiza que la API &lt;strong&gt;cumple exactamente con su contrato&lt;/strong&gt;, independientemente de cómo esté implementada internamente.&lt;/p&gt;

&lt;h3&gt;
  
  
  Ejemplo de negocio
&lt;/h3&gt;

&lt;p&gt;Un cliente realiza un pago desde una app móvil y espera una respuesta clara e inmediata.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cómo se prueba (ejemplo práctico)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Input válido&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;{   "accountId": "ACC-001",   "amount": 150,   "currency": "USD",   "paymentMethod": "CARD" }&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Output esperado&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  HTTP 201&lt;/li&gt;
&lt;li&gt;  Estado: &lt;code&gt;AUTHORIZED&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;code&gt;transactionId&lt;/code&gt; generado&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Input inválido (saldo insuficiente)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  HTTP 422&lt;/li&gt;
&lt;li&gt;  Mensaje funcional explícito (sin ambigüedad para el consumidor)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Valor arquitectónico
&lt;/h3&gt;

&lt;p&gt;El functional testing protege el contrato frente a cambios internos, permite que múltiples consumidores evolucionen sin fricción y reduce dependencias implícitas entre equipos.&lt;/p&gt;

&lt;h2&gt;
  
  
  Integration Testing en microservicios: validar el flujo real de negocio
&lt;/h2&gt;

&lt;p&gt;El &lt;em&gt;Integration Testing&lt;/em&gt; prueba el sistema &lt;strong&gt;como opera en producción&lt;/strong&gt;, incluyendo dependencias reales.&lt;/p&gt;

&lt;h3&gt;
  
  
  Ejemplo de negocio
&lt;/h3&gt;

&lt;p&gt;Un pago exitoso debe validar saldo, registrar el movimiento y notificar al cliente.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cómo se prueba (ejemplo práctico)
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;Payment API&lt;/strong&gt; recibe la orden&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Account API&lt;/strong&gt; confirma saldo&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Ledger API&lt;/strong&gt; registra el débito&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Notification API&lt;/strong&gt; envía confirmación&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Se valida que:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  El estado sea consistente entre servicios&lt;/li&gt;
&lt;li&gt;  La transacción se registre una sola vez (idempotencia)&lt;/li&gt;
&lt;li&gt;  Los fallos parciales se manejen correctamente (timeouts, retries, estados intermedios)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Valor arquitectónico
&lt;/h3&gt;

&lt;p&gt;El integration testing detecta problemas de orquestación o coreografía, evita estados inconsistentes y refuerza la confiabilidad del flujo de negocio.&lt;/p&gt;

&lt;h2&gt;
  
  
  Regression Testing en APIs: proteger lo que ya funciona
&lt;/h2&gt;

&lt;p&gt;En microservicios, el cambio es constante. Cada modificación introduce riesgo. El &lt;em&gt;Regression Testing&lt;/em&gt; confirma que los cambios nuevos no rompen funcionalidades existentes.&lt;/p&gt;

&lt;h3&gt;
  
  
  Ejemplo de negocio
&lt;/h3&gt;

&lt;p&gt;Se habilitan pagos con &lt;strong&gt;billetera digital&lt;/strong&gt;, manteniendo pagos con tarjeta.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cómo se prueba (ejemplo práctico)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;  Antes del despliegue, se ejecutan flujos históricos:

&lt;ul&gt;
&lt;li&gt;  Pagos con tarjeta&lt;/li&gt;
&lt;li&gt;  Reembolsos&lt;/li&gt;
&lt;li&gt;  Pagos rechazados&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;  Se valida que:

&lt;ul&gt;
&lt;li&gt;  No cambian status codes&lt;/li&gt;
&lt;li&gt;  No se rompen contratos existentes&lt;/li&gt;
&lt;li&gt;  Los consumidores actuales siguen funcionando sin cambios&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;h3&gt;
  
  
  Valor arquitectónico
&lt;/h3&gt;

&lt;p&gt;El regression testing permite evolucionar la plataforma sin miedo, protege integraciones externas y reduce incidentes post-deploy.&lt;/p&gt;

&lt;h2&gt;
  
  
  Security Testing en APIs de microservicios: seguridad por diseño
&lt;/h2&gt;

&lt;p&gt;Las APIs son uno de los principales vectores de ataque en sistemas distribuidos. El &lt;em&gt;Security Testing&lt;/em&gt; busca vulnerabilidades comunes y valida controles de acceso, datos y comportamiento ante ataques.&lt;/p&gt;

&lt;h3&gt;
  
  
  Ejemplo de negocio
&lt;/h3&gt;

&lt;p&gt;Un atacante intenta ejecutar pagos usando tokens robados o manipulando datos sensibles.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cómo se prueba (ejemplo práctico)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;  Token inválido → HTTP 401&lt;/li&gt;
&lt;li&gt;  Token sin scope &lt;code&gt;payments.write&lt;/code&gt; → HTTP 403&lt;/li&gt;
&lt;li&gt;  Intentos de modificar &lt;code&gt;accountId&lt;/code&gt; → bloqueados&lt;/li&gt;
&lt;li&gt;  Payloads maliciosos → sanitizados / rechazados según regla&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Además:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Los errores no filtran información sensible&lt;/li&gt;
&lt;li&gt;  Los logs no exponen datos críticos&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Valor arquitectónico
&lt;/h3&gt;

&lt;p&gt;El security testing reduce la superficie de ataque, refuerza cumplimiento regulatorio y protege la confianza del negocio.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusión: las pruebas como parte del diseño de la API
&lt;/h2&gt;

&lt;p&gt;En arquitecturas basadas en &lt;strong&gt;APIs de microservicios&lt;/strong&gt;, las pruebas no son una fase posterior. Son &lt;strong&gt;parte integral del diseño arquitectónico&lt;/strong&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Smoke Testing&lt;/strong&gt; → disponibilidad&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Functional Testing&lt;/strong&gt; → contrato&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Integration Testing&lt;/strong&gt; → flujo real&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Regression Testing&lt;/strong&gt; → estabilidad&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Security Testing&lt;/strong&gt; → confianza&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Para un arquitecto de software, &lt;strong&gt;no definir estas pruebas es dejar decisiones críticas al azar&lt;/strong&gt;.&lt;/p&gt;

</description>
      <category>api</category>
      <category>testing</category>
      <category>microservices</category>
    </item>
    <item>
      <title>AI Periodic Table: el mapa minimalista para diseñar soluciones de IA sin perderte</title>
      <dc:creator>Fernando</dc:creator>
      <pubDate>Mon, 16 Feb 2026 17:21:02 +0000</pubDate>
      <link>https://dev.to/_ferpaz/ai-periodic-table-el-mapa-minimalista-para-disenar-soluciones-de-ia-sin-perderte-16c</link>
      <guid>https://dev.to/_ferpaz/ai-periodic-table-el-mapa-minimalista-para-disenar-soluciones-de-ia-sin-perderte-16c</guid>
      <description>&lt;p&gt;Los pilotos fallan en producción cuando no existe un mapa claro entre &lt;strong&gt;conocimiento&lt;/strong&gt;, &lt;strong&gt;orquestación&lt;/strong&gt;, &lt;strong&gt;validación&lt;/strong&gt; y &lt;strong&gt;modelos&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DISCLAIMER&lt;/strong&gt;: Todo proyecto, y más uno de IA, debe tener objetivos claros y un proceso ágil de incepción correcto. Más aún, en temas de IA, el no tener claridad del ¿qué?, el ¿cómo? y las métricas de éxito van a derivav en frustación y proyectos fallidos.&lt;/p&gt;

&lt;p&gt;La &lt;strong&gt;AI Periodic Table&lt;/strong&gt;, creado por IBM, es un enfoque evergreen y minimalista para arquitectos, jefes y líderes técnicos: separa la solución en elementos composables (como una tabla periódica) y te ayuda a decidir &lt;em&gt;qué necesitas&lt;/em&gt; para cada caso de uso (chatbot, RAG, agente) con control, trazabilidad y confianza.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi2pwadtxj7tcy2ulgxhx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi2pwadtxj7tcy2ulgxhx.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Row 1 — Primitives (lo mínimo que debe existir)
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Pr — Prompts (con foco en &lt;em&gt;system prompt&lt;/em&gt;)
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Qué es:&lt;/strong&gt; el diseño de instrucciones que gobiernan el comportamiento del modelo. En particular, el &lt;strong&gt;system prompt&lt;/strong&gt; define rol, políticas, restricciones, formato, prioridades y criterio de “verdad”. Es la capa que &lt;em&gt;siempre&lt;/em&gt; aplica, incluso si el usuario intenta desviarla.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ejemplo (banca/fintech):&lt;/strong&gt; system prompt para un asistente interno de pagos:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  “Responde solo usando evidencia del contexto recuperado. Si no hay evidencia, di: &lt;em&gt;No encontrado en fuentes&lt;/em&gt;.”&lt;/li&gt;
&lt;li&gt;  “No reveles PII, secretos, llaves, credenciales ni datos de clientes.”&lt;/li&gt;
&lt;li&gt;  “No ejecutes acciones; sugiere pasos y valida supuestos.”&lt;/li&gt;
&lt;li&gt;  “Devuelve: Resumen (1–2 líneas) + Evidencia (citas) + Recomendación (pasos).”&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Em — Embeddings
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Qué es:&lt;/strong&gt; representaciones numéricas del significado del texto (y a veces de otros formatos) para comparar similitud semántica y recuperar conocimiento relevante.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ejemplo:&lt;/strong&gt; embebes runbooks de conciliación y reglas ISO 20022. Luego consultas “cómo mapear &lt;code&gt;endToEndId&lt;/code&gt;” y recuperas el fragmento correcto aunque el usuario use otras palabras.&lt;/p&gt;

&lt;h4&gt;
  
  
  Lg — LLM (modelo predictivo)
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Qué es:&lt;/strong&gt; un modelo de lenguaje es, en esencia, un &lt;strong&gt;modelo predictivo de tokens&lt;/strong&gt;: estima el siguiente token más probable dada la entrada (system prompt + contexto recuperado + conversación). Con el contexto correcto, habilita síntesis, explicación, clasificación y razonamiento.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ejemplo (open source):&lt;/strong&gt; usas un LLM open source como &lt;strong&gt;Llama 3&lt;/strong&gt; (en una VPC o en entorno local) para resumir incidentes, generar borradores operativos y responder preguntas internas &lt;em&gt;basadas en evidencia&lt;/em&gt; (vía RAG) y bajo políticas (guardrails).&lt;/p&gt;

&lt;h3&gt;
  
  
  Row 2 — Compositions (cuando pasa de demo a producto)
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Fc — Function call
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Qué es:&lt;/strong&gt; un mecanismo para invocar herramientas (APIs, DB, motores de reglas) con parámetros estructurados. Reduce “inventos” porque los datos vienen del sistema fuente.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ejemplo:&lt;/strong&gt; “¿Cuál fue el estado del lote 7781?” → llamada a &lt;code&gt;get_settlement_batch_status(batch_id=7781)&lt;/code&gt; y respuesta con estado real, timestamps y códigos.&lt;/p&gt;

&lt;h4&gt;
  
  
  Vx — Vector (vector store / vector search)
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Qué es:&lt;/strong&gt; la infraestructura para almacenar embeddings y hacer búsqueda semántica (kNN). Es el índice de conocimiento para recuperar contexto.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ejemplo:&lt;/strong&gt; OpenSearch Vector indexa manuales antifraude, catálogos de códigos y procedimientos. Para cada pregunta, recuperas “top 5 chunks” con score y los pasas a RAG.&lt;/p&gt;

&lt;h4&gt;
  
  
  Rg — RAG
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Qué es:&lt;/strong&gt; patrón de &lt;strong&gt;recuperar + generar&lt;/strong&gt;: primero recuperas evidencia desde tu base documental (vector o híbrido) y luego el LLM genera respuesta basándose en esa evidencia.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ejemplo:&lt;/strong&gt; “¿Qué campos ISO 20022 son obligatorios para &lt;code&gt;pacs.008&lt;/code&gt; en nuestro flujo?” → recuperas el apartado exacto de tu estándar interno y respondes con lista + citas.&lt;/p&gt;

&lt;h4&gt;
  
  
  Gr — Guardrails
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Qué es:&lt;/strong&gt; controles de seguridad y calidad: políticas (PII/secretos), límites de herramientas, formatos obligatorios, detección de inyección, y rechazo seguro.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ejemplo:&lt;/strong&gt; si el usuario solicita datos de cliente, se bloquea. Si la respuesta no tiene evidencia, se fuerza: “No encontrado en fuentes”.&lt;/p&gt;

&lt;h4&gt;
  
  
  Mm — Multimodal
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Qué es:&lt;/strong&gt; capacidad para trabajar con más de texto (por ejemplo, imagen + texto). Útil para diagramas, capturas, formularios y pantallazos.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ejemplo:&lt;/strong&gt; un analista sube una captura de un diagrama de pagos y el sistema devuelve componentes, flujo, puntos de control y sugerencias de observabilidad.&lt;/p&gt;

&lt;h3&gt;
  
  
  Row 3 — Deployment (operación real: costo, riesgo y mejora continua)
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Ag — Agent (componente, no un LLM)
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Qué es:&lt;/strong&gt; un &lt;strong&gt;componente de control&lt;/strong&gt; que coordina pasos para lograr un objetivo. El agente &lt;em&gt;usa&lt;/em&gt; uno o varios LLMs, herramientas y memoria, pero no es el modelo. Decide cuándo recuperar contexto, cuándo llamar herramientas, cómo validar y cuándo detenerse.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ejemplo:&lt;/strong&gt; “resolver un incidente de conciliación” → el agente identifica el fallo, recupera runbooks (RAG), ejecuta chequeos (function calls), valida hallazgos y produce un plan de mitigación trazable.&lt;/p&gt;

&lt;h4&gt;
  
  
  Ft — Finetune (entrenamiento adicional)
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Qué es:&lt;/strong&gt; &lt;strong&gt;entrenar&lt;/strong&gt; (fine-tuning) un modelo con datos propios para aprender patrones de salida, taxonomías, formatos o decisiones recurrentes. Es especialmente útil cuando prompt + RAG no logran consistencia suficiente.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ejemplo:&lt;/strong&gt; entrenas para que el asistente clasifique tickets en categorías internas (riesgo, fraude, cumplimiento), y redacte respuestas en un formato de auditoría consistente.&lt;/p&gt;

&lt;h4&gt;
  
  
  Fw — Framework
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Qué es:&lt;/strong&gt; librerías para construir flujos con control (estados, routing, tools, memoria, evaluación, observabilidad). Reduce código “pegamento” y mejora mantenibilidad.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ejemplo:&lt;/strong&gt; defines un flujo: &lt;code&gt;intención → retrieve → responder → (si pide acción) tool_call → validar → respuesta final&lt;/code&gt; con reintentos y límites por política.&lt;/p&gt;

&lt;h4&gt;
  
  
  Rt — Red-teaming
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Qué es:&lt;/strong&gt; pruebas adversarias para romper el sistema antes de producción: jailbreak, prompt injection, exfiltración, abuso de herramientas y sesgos.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ejemplo:&lt;/strong&gt; inyectas instrucciones maliciosas en documentos (“ignora políticas”) y verificas que el sistema no obedezca; también pruebas pedidos de acciones riesgosas y confirmas que no se ejecutan sin autorización y controles.&lt;/p&gt;

&lt;h4&gt;
  
  
  Sm — Small (distilled)
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Qué es:&lt;/strong&gt; modelos pequeños para tareas específicas con menor costo/latencia; permiten enrutar y filtrar, reservando el modelo grande para lo complejo.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ejemplo:&lt;/strong&gt; un modelo small clasifica intención (FAQ/operación/incidente/riesgo) y solo las complejas pasan a LLM grande + RAG.&lt;/p&gt;

&lt;h3&gt;
  
  
  Row 4 — Emerging (calidad, confianza y ventaja competitiva)
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Ma — Multi-agent
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Qué es:&lt;/strong&gt; varios agentes especializados que colaboran y revisan. Aumentan calidad y reducen errores frente a una sola “mente”.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ejemplo:&lt;/strong&gt; agente de pagos redacta, agente de seguridad valida PII, agente de compliance revisa lenguaje regulatorio, agente QA verifica evidencia y consistencia.&lt;/p&gt;

&lt;h4&gt;
  
  
  Sy — Synthetic data
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Qué es:&lt;/strong&gt; datos sintéticos para entrenamiento y evaluación: casos borde, Q&amp;amp;A, conversaciones, escenarios raros. Permite escalar pruebas sin exponer data sensible.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ejemplo:&lt;/strong&gt; generas 2,000 preguntas sintéticas sobre AML y conciliación para medir recuperación correcta, tasa de alucinación y cumplimiento de guardrails.&lt;/p&gt;

&lt;h4&gt;
  
  
  In — Interpretability (confianza y trazabilidad)
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Qué es:&lt;/strong&gt; mecanismos que elevan &lt;strong&gt;confianza&lt;/strong&gt; y auditabilidad: qué fuentes se usaron, por qué se eligieron, qué reglas se aplicaron y qué herramientas se llamaron. Es clave para operación en entornos regulados.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ejemplo:&lt;/strong&gt; cada respuesta incluye “fuentes (con score)”, “reglas aplicadas” y “acciones ejecutadas (si aplica)”, habilitando revisión y mejora continua.&lt;/p&gt;

&lt;h4&gt;
  
  
  Th — Thinking (reasoning)
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Qué es:&lt;/strong&gt; capacidades/modelos orientados a razonamiento profundo para problemas multi-paso y trade-offs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ejemplo:&lt;/strong&gt; compara 3 diseños (multi-cuenta vs multi-región), evalúa seguridad, resiliencia y costos, y entrega recomendación con supuestos y justificación.&lt;/p&gt;

&lt;h2&gt;
  
  
  Analogía final: “predecir reacciones” con la AI Periodic Table
&lt;/h2&gt;

&lt;p&gt;Esta tabla te ayuda a anticipar qué solución obtendrás al combinar elementos.&lt;/p&gt;

&lt;h3&gt;
  
  
  Reacción 1: Chatbot confiable (con evidencia y control)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;help to predict reactions&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;chatbot: Em, Vx, Rg, Pr, Gr y Lg&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Em + Vx&lt;/strong&gt;: recuperación semántica&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Rg&lt;/strong&gt;: evidencia al contexto del modelo&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Pr&lt;/strong&gt;: reglas globales (system prompt)&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Gr&lt;/strong&gt;: seguridad/calidad&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Lg&lt;/strong&gt;: generación predictiva guiada por evidencia&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Reacción 2: Agentic loop orientado a objetivo (con acciones)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;agentic loop (goal): Ag &amp;lt;-&amp;gt; Fc, Fw [Pr, Mm, Ft, Lg]&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Ag&lt;/strong&gt; coordina pasos&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Fc&lt;/strong&gt; conecta con sistemas reales&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Fw&lt;/strong&gt; gobierna el flujo&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Pr/Mm/Ft/Lg&lt;/strong&gt; ajustan comportamiento, entrada multimodal, entrenamiento y potencia del modelo&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Regla de oro
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;always try to mapping you problem with it&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Antes de elegir proveedor o modelo, mapea tu problema con la tabla: te dirá qué necesitas para evidencia, control, operación y confianza, sin perderte.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;IBM es el creador de esta propuesta mira acá:&lt;/strong&gt;&lt;br&gt;


  &lt;iframe src="https://www.youtube.com/embed/ESBMgZHzfG0"&gt;
  &lt;/iframe&gt;


&lt;/p&gt;

</description>
      <category>ai</category>
      <category>architecture</category>
      <category>spanish</category>
      <category>systemdesign</category>
    </item>
    <item>
      <title>Arquitectura de Microservicios: qué es, ventajas y desventajas</title>
      <dc:creator>Fernando</dc:creator>
      <pubDate>Mon, 25 Jul 2022 15:58:10 +0000</pubDate>
      <link>https://dev.to/_ferpaz/arquitectura-de-microservicios-que-es-ventajas-y-desventajas-35c4</link>
      <guid>https://dev.to/_ferpaz/arquitectura-de-microservicios-que-es-ventajas-y-desventajas-35c4</guid>
      <description>&lt;p&gt;Iniciando desde la interfaz del usuario (en algunos casos), pasando por una o varias capas de lógica de negocio, la capa de persistencia, y, hasta la base de datos, el producto de Software se construía como un solo concepto, y a menudo se ejecuta como un solo binario o unidad entregable (JAR, WAR, EAR, Folder, etc.).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/http%3A%2F%2Fsoftwareevolutivo.com.ec%2Fwp-content%2Fuploads%2F2022%2F07%2FArquitectura-Monolitica-y-Microservicios-Monolitica.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/http%3A%2F%2Fsoftwareevolutivo.com.ec%2Fwp-content%2Fuploads%2F2022%2F07%2FArquitectura-Monolitica-y-Microservicios-Monolitica.jpg" alt="Arquitectura Monolítica" width="373" height="303"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;La &lt;strong&gt;Arquitectura de Microservicios&lt;/strong&gt; es un enfoque para el desarrollo de un producto de Software, en donde cada concepto específico de negocio es construido en una unidad pequeña de código accesible a través de una API liviana y bien definida.&lt;/p&gt;

&lt;p&gt;El TODO del producto de Software entonces, constituye la ejecución sincronizada de un conjunto de estos servicios, cada uno con su propia e independiente definición, para el proceso de una transacción padre disparada desde una interfaz de usuario o sistema.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/http%3A%2F%2Fsoftwareevolutivo.com.ec%2Fwp-content%2Fuploads%2F2022%2F07%2FArquitectura-Monolitica-y-Microservicios-Microservicios.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/http%3A%2F%2Fsoftwareevolutivo.com.ec%2Fwp-content%2Fuploads%2F2022%2F07%2FArquitectura-Monolitica-y-Microservicios-Microservicios.jpg" alt="Arquitectura de Microservicios" width="611" height="301"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Características de los Microservicios&lt;/h2&gt;

&lt;p&gt;Aunque parece no existir una especificación única para crear Microservicios, y más depende del caso de negocio y/o planificación; generalmente se sugiere que deban cumplir las siguientes características:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy00j8p3bffe018okl86t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy00j8p3bffe018okl86t.png" alt=" " width="150" height="126"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;Interfaz Única&lt;/h3&gt;

&lt;p&gt;Cada Microservicio debe proveer una interfaz ligera y bien definida para consumo, que aísle todos los detalles técnicos, estructura de datos y datos de la capacidad de negocio que maneja, a sus clientes.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnt46gnjik4bbo6ksnvx5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnt46gnjik4bbo6ksnvx5.png" alt=" " width="150" height="150"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;Especializado&lt;/h3&gt;

&lt;p&gt;Cada servicio es diseñado con un conjunto limitado de capacidades que resuelvan uno y solo un problema de negocio, y que incluye su propia estructura de datos persistentes.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F58u6rdprjscb8kisovcp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F58u6rdprjscb8kisovcp.png" alt=" " width="150" height="130"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;Autónomo&lt;/h3&gt;

&lt;p&gt;Cada servicio puede ser desarrollado, desplegado, operado y escalado sin afectar o depender de otros servicios o sistemas, o, de otros datos fuera de su especialización.&lt;/p&gt;

&lt;p&gt;&amp;lt;!-- /wp:column --&amp;gt;&lt;/p&gt;

&lt;p&gt;Claramente una Arquitectura de Microservicios es una aplicación del paradigma de &lt;a href="https://es.wikipedia.org/wiki/Computaci%C3%B3n_distribuida" rel="noreferrer noopener"&gt;Cómputo Distribuido,&lt;/a&gt; lo que representa muchas ventajas para el negocio pero también muchos retos en la operación y mantenimiento.&lt;/p&gt;

&lt;h2&gt;Ventajas de la Arquitectura de Microservicios&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Agilidad&lt;/strong&gt;&lt;br&gt;Este paradigma de desarrollo permite crear equipos pequeños e independientes que se apropian de la especialización de los servicios, acelerando el tiempo de desarrollo, facilitando la auto-organización e incluso el soporte post-producción.&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Escalamiento&lt;/strong&gt;&lt;br&gt;Esta división de funcionalidad hace más fácil la medición y observabilidad de la implementación, permitiendo planificar mejor la disponibilidad y escalabilidad.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Simplificación de Despliegue&lt;/strong&gt;&lt;br&gt;Una unidad pequeña de implementación, permite ciclos de CI/CD más simples, reduciendo el tiempo de despliegue de la misma y el rollback en caso de fallos. Esto agiliza las operaciones y al mismo tiempo reduce el riesgo de innovación con nuevas características.&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Resiliencia&lt;/strong&gt;&lt;br&gt;A diferencia de una Arquitectura Monolítica, un fallo en una Arquitectura de Microservicios compete a un componente específico, lo que hace más fácil su recuperación y no desestabiliza el producto de Software por completo, sino la capacidad de negocio concreta que le compete.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Independencia Tecnológica&lt;/strong&gt;&lt;br&gt;El uso de una sola tecnología no es una restricción en la Arquitectura de Microservicios, dado que su interfaz de consumo abstrae los detalles de implementación y habilita a la selección de la mejor herramienta de acuerdo a la especialización del servicio.&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Reutilización de Código&lt;/strong&gt;&lt;br&gt;Evidentemente una vez construido un servicio que atiende una capacidad de negocio, el mismo puede ser utilizado por otros productos de Software de forma que su construcción aproveche la funcionalidad ya implementada.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;Desventajas de la Arquitectura de Microservicios&lt;/h2&gt;

&lt;p&gt;Más que desventajas, se puede hablar de retos a la hora de adoptar una Arquitectura de Microservicios, y entre los principales tenemos:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Versionamiento&lt;/strong&gt;&lt;br&gt;Un Microservicio, al ser autónomo, suele evolucionar independientemente del producto o de los productos de Software a los cuales provee funcionalidad. Esto significa que su interfaz API y la validación del esquema de datos varía continuamente, sin embargo para no afectar la estabilidad de sus clientes antiguos debe mantener un versionamiento de los mismos y obviamente mantenerlos operando. Esto tanto para áreas de operaciones y de desarrollo implica una tarea adicional en su implementación.&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Pruebas&lt;/strong&gt;&lt;br&gt;Si bien un Microservicio por sí solo es más simple de probar, su orquestación con otros servicios (test de integración) y las pruebas integrales (pruebas end to end) son mucho más complejas. Esto resulta a menudo en una cobertura incompleta de escenarios de pruebas y un esfuerzo redoblado en su desarrollo.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Rollback y Sistemas Distribuidos&lt;/strong&gt;&lt;br&gt;El reto más grande, para mí, es el diseño de sistemas distribuidos, puesto que hay que definir qué sucede en caso de fallos esperados o inesperados en la orquestación de los servicios, analizar patrones de resiliencia y recuperación de transacciones, mirar la atomicidad de operaciones y consistencia de datos, entre otros. Claro está, que para esto nos podemos apoyar en conceptos como “&lt;a href="https://www.enterpriseintegrationpatterns.com" rel="noreferrer noopener"&gt;Patrones de Integración Empresarial&lt;/a&gt;”, “&lt;a href="https://www.redhat.com/es/topics/microservices/what-is-a-service-mesh" rel="noreferrer noopener"&gt;Mallas de servicios&lt;/a&gt;” o similares, pero sin duda estas decisiones son extremadamente relevantes no solo para el desarrollo sino para el soporte post-producción.&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Coordinación de equipos&lt;/strong&gt;&lt;br&gt;Si bien, al desarrollar un Microservicio, paradigmas como la Agilidad y un equipo responsable puede representar una gran ventaja para generar valor e innovación constante en su implementación, al tener decenas o centenas de microservicios con decenas o centenas de equipos responsables, la cooperación y comunicación de estos equipos es un reto, pues el TODO de un Sistema y su evolución se puede poner en riesgo cuando se carece de una acción combinada.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Sobrecarga de infraestructura&lt;/strong&gt;&lt;br&gt;En la Arquitectura Monolítica un operador a menudo mira un servidor y un Software correspondiente con su archivo log; en un paradigma de Arquitectura de Microservicios puede enfrentarse a escenarios donde un Software tiene 100 servicios y centenas de servidores, con uno o varios balanceadores, muchos archivos de logs y decenas de formatos. Aunque hoy existen esquemas de contenerización como &lt;a href="https://softwareevolutivo.com.ec/docker-primeros-pasos/" rel="noreferrer noopener"&gt;Docker&lt;/a&gt; y Kubernetes, la administración sigue siendo un reto y se necesita varias tecnologías complementarias para enfrentarlo.&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Tiempo y esfuerzo 1x&lt;/strong&gt;&lt;br&gt;A este punto del artículo ya hemos descrito muchas actividades adicionales en el diseño, implementación, operación y mantenimiento de la Arquitectura de Microservicios, por su característica de Sistema Distribuido. Por este motivo es importante sopesar el beneficio de este paradigma en contraste con el caso de negocio y los resultados esperados a corto, medio y largo plazo; del mismo modo debemos pensar en el soporte post implementación, en relación al equipo, sus capacidades.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Despliegue&lt;/strong&gt;&lt;br&gt;¡Si!, desplegar un solo microservicio es simple, sin embargo desplegar cientos de ellos de forma manual se vuelve imposible. El orden de despliegue, los cambios de base de datos que implica, la estratégia de entrega (Blue-Green, Canary, etc.), entre otros, son cosas a planificar y deben estar automatizadas, con prácticas DevOps entre otras como Integración Continua (CI) y entrega Continua (CD).&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Logs y Monitoreo&lt;/strong&gt;&lt;br&gt;De la misma manera, un producto de Software Monolítico deja un solo log de operación y se puede medir su performance centralizadamente. En una Arquitectura de Microservicios, vamos a tener tantos logs como servicios implementados para el producto de Software y además si estos son redundantes, tendremos logs multiplicados por cada servicio. Debemos planificar una estratégia para rastrear errores, identificar la salud de cada servicio y del sistema como tal.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Debug&lt;/strong&gt;&lt;br&gt;Encontrar un problema no siempre va a ser posible revisando logs (que al ser tantos ya nos agrega una complejidad), a veces vamos a tener que depurar la implementación y esto en un sistema distribuido no va a ser factible, por lo que se requerirá de otras técnicas y patrones que permitan repetir ciertas ciclos de transacciones.&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;Pensamientos Finales&lt;/h2&gt;

&lt;p&gt;A este punto del artículo, puede sonar complejo decidir por microservicios, y la verdad lo es; sin embargo, esta complejidad no se evidencia desde el momento cero de una implementación, sino que irá apareciendo gradualmente mientras vamos creando más microservicios y escalándolos.&lt;/p&gt;

&lt;p&gt;Son muchas sus ventajas, y aunque hay retos, en una estratégia digital a largo plazo es sin duda el camino a adoptar, y así mismo, debe venir acompañada de un soporte directivo dado que la estructura organizacional, técnica y de costos va a tener que evolucionar también.&lt;/p&gt;

&lt;p&gt;¿Debo usar Microservicios? La realidad es que muchos desarrollos de Software nacen con este enfoque, sin abordar en un primer momento las soluciones a estos desafíos, pero eventualmente lo harán. Les invito a ver una interesante conversación entre &lt;a href="https://youtu.be/GBTdnfD6s5Q" rel="noreferrer noopener"&gt;Martin Fowler y Sam NewMan sobre cuando usar microservicios y cuando no&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;El soporte de este tipo de aplicaciones es complejo, pues detectar un fallo en una Arquitectura de Microservicios requiere de un entrenamiento en el flujo de negocio, en los puntos de integración y en la interpretación de los logs de información. En muchos casos al soporte de primera línea le faltan insumos para responder y el escalamiento de las incidencias es muy rápido al equipo técnico, resultando en una sobrecarga de operación y costo.&lt;/p&gt;

</description>
      <category>microservicios</category>
      <category>arquitectura</category>
      <category>spanish</category>
    </item>
    <item>
      <title>Amazon Lightsail un esquema de costo fijo AWS</title>
      <dc:creator>Fernando</dc:creator>
      <pubDate>Thu, 12 May 2022 21:11:35 +0000</pubDate>
      <link>https://dev.to/_ferpaz/amazon-lightsail-un-esquema-de-costo-fijo-aws-3ban</link>
      <guid>https://dev.to/_ferpaz/amazon-lightsail-un-esquema-de-costo-fijo-aws-3ban</guid>
      <description>&lt;p&gt;Una de las más grandes preocupaciones para los Líderes de TI y en general para los CFO de las empresas es como manejar los costos relacionados a la nube.  En este artículo vamos a revisar el servicio Amazon Lightsail un esquema de costo fijo AWS, en donde tu empresa se puede apalancar para dar el salto a la Nube de una forma controlada.&lt;/p&gt;

&lt;p&gt;Amazon Lightsail, en más que un servicio, en realidad es un conjunto de servicios de AWS con la visión de tener un completo control de costos y una simplificación de administración.&lt;/p&gt;

&lt;p&gt;El enfoque es poder acceder a una arquitectura de &lt;a href="https://cloudioenabler.com/taller-en-aws/" rel="noopener noreferrer"&gt;CERO a failover&lt;/a&gt;, con una reducción importante de complejidad en la configuración y un control completo de los costos, y claro, más la velocidad, rentabilidad y oportunidad de innovación que ofrece AWS para tu empresa.&lt;/p&gt;

&lt;h2&gt;
  
  
  Una Arquitectura de CERO a failover
&lt;/h2&gt;

&lt;p&gt;Para efectos de explicar los servicios de Amazon Lightsail, vamos a tomar como referencia la siguiente arquitectura que nos da alta disponibilidad y failover.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7pr9hq5rigrpi80sqvlh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7pr9hq5rigrpi80sqvlh.png" alt=" " width="800" height="390"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Evidentemente, la arquitectura puede ser mucho mejor y dependerá de tu requerimiento, pero vamos a asumirla como la deseada para una aplicación monolítica Web.&lt;/p&gt;

&lt;p&gt;Vamos a empezar de atrás hacia adelante:&lt;/p&gt;

&lt;h2&gt;
  
  
  Base de Datos
&lt;/h2&gt;

&lt;p&gt;Amazon Lightsail nos ofrece el servicio de &lt;a href="https://cloudioenabler.com/introduccion-a-las-bases-de-datos-relacionales-en-amazon-rds/" rel="noopener noreferrer"&gt;Amazon RDS&lt;/a&gt; para motores MySQL y PostgreSQL a un costo fijo, con varias opciones de rendimiento, que van desde 1 GB hasta 8 GB. &lt;/p&gt;

&lt;p&gt;Adicionalmente, una de las grandes ventajas es que Amazon RDS es una solución completamente administrada, es decir, no te encargas de instalar, administrar, parchear o respaldar la base de datos.&lt;/p&gt;

&lt;p&gt;Una opción interesante que posibilita el Failover a través de su configuración Multi-AZ, en donde Amazon RDS se encargará automáticamente del switch en caso de falla.&lt;/p&gt;

&lt;h2&gt;
  
  
  Servidores de Aplicación
&lt;/h2&gt;

&lt;p&gt;Las instancias de servidores para tu aplicación Web, son aprovisionadas para tu caso de negocio con el servicio Amazon EC2, de igual forma con costo fijo, en donde puedes elegir instancias de entre 2 GB a 32 GB.&lt;/p&gt;

&lt;p&gt;Te ofrece, además, la posibilidad de seleccionar el Sistema Operativo Linux más adecuado a tu aplicación, estando entre los principales: CentOS, Ubuntu y Amazon Linux 2.&lt;/p&gt;

&lt;p&gt;Una de las ventajas, en mi opinión, es que te da la opción de la instalación optimizada de aplicaciones de Software más comunes en hosting como Wordpress, Joomla y Prestashop entre otros o, la instalación de Software necesario para tus aplicaciones Web como &lt;a href="https://es.wikipedia.org/wiki/LAMP" rel="noopener noreferrer"&gt;LAMP&lt;/a&gt;, Node.js o Nginx.&lt;/p&gt;

&lt;h2&gt;
  
  
  Balanceador de Carga
&lt;/h2&gt;

&lt;p&gt;Uno de los componentes claves de un esquema de alta disponibilidad es tener un balanceador de carga, que puede afrontar un eventual fallo de un servidor o gestionar alto tráfico de peticiones entre varios servidores.&lt;/p&gt;

&lt;p&gt;Con Amazon Lightsail puedes aprovisionar un balanceador con la tecnología de su servicio &lt;a href="https://aws.amazon.com/elasticloadbalancing/" rel="noopener noreferrer"&gt;Elastic Load Balancer&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Este balanceador permitirá monitorear la salud de los servidores destino, balancear la carga y enrutar el tráfico con protocolos HTTP y HTTPS, y, de igual forma, tiene un costo fijo mensual para tu estrategia de costos fijos.&lt;/p&gt;

&lt;h2&gt;
  
  
  CDN
&lt;/h2&gt;

&lt;p&gt;Bien, como sabes, un &lt;a href="https://en.wikipedia.org/wiki/Content_delivery_network" rel="noopener noreferrer"&gt;CDN&lt;/a&gt; nos ayuda a servir todos esos recursos que no cambian en nuestra aplicación Web como imágenes, hojas de estilo y librerías JavaScript.  Esto supone una gran ventaja, pues la experiencia del cliente al consumir la aplicación va a ser mucho más rápida en ese aspecto.&lt;/p&gt;

&lt;p&gt;Amazon Lightsail nos ofrece una distribución CDN en la cual se va a almacenar en caché estos contenidos y serán servidor de forma acelerado a tu usuario dependiendo de la región del mundo, en los más de 300 data centers de AWS alrededor del mundo.&lt;/p&gt;

&lt;h2&gt;
  
  
  Otros Servicios
&lt;/h2&gt;

&lt;p&gt;Es importante mencionar que Amazon Lightsail también tiene la posibilidad de aprovisionar otros servicios que contribuyen a tu estrategia de arquitectura.  Así podemos mencionar a los siguientes:&lt;/p&gt;

&lt;h2&gt;
  
  
  Contenedores
&lt;/h2&gt;

&lt;p&gt;Amazon Lightsail te permite aprovisionar contenedores para servir tus aplicaciones.  Bajo una administración de costos fijos puedes aprovisionar nodos desde 512 MB hasta 8 GB de RAM, y, hasta 20 nodos por región, lo que te da la posibilidad de correr desde microservicios hasta aplicaciones completas contenerizadas.&lt;/p&gt;

&lt;p&gt;El servicio te proporciona un endpoint del clúster de contenedores a donde puedes apuntar tus peticiones, abstrayéndote de toda la complejidad que puede significar aprovisionar y gestionar un &lt;a href="https://cloudioenabler.com/introduccion-a-las-contenedores-en-aws/" rel="noopener noreferrer"&gt;clúster de contenerización&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Cabe mencionar aquí, que puedes monitorear el clúster, incrementar su capacidad de manera automática o manual y sincronizar tus imágenes de contenedores con un servicio de registro como &lt;a href="https://aws.amazon.com/ecr/" rel="noopener noreferrer"&gt;Amazon ECR&lt;/a&gt; u otro.&lt;/p&gt;

&lt;h2&gt;
  
  
  Certificados SSL
&lt;/h2&gt;

&lt;p&gt;Todos los endpoints tanto del CDN, balanceador de carga y clúster de servidores, suelen requerir, y se recomienda encarecidamente, el uso de protocolo HTTPS para su acceso.  Este requiere de generación de certificados SSL y su asociación con dominios de internet.&lt;/p&gt;

&lt;p&gt;Para esto, Amazon Lightsail te permite crear los certificados, firmados por Amazon como entidad certificadora oficial, y asociarlos a estos dominios sin costo en cualquiera de sus servicios (incluso en los que no son a través de Amazon Lightsail) de forma amigable.&lt;/p&gt;

&lt;h2&gt;
  
  
  IPs estáticas
&lt;/h2&gt;

&lt;p&gt;A menudo, especialmente para backend se suele requerir tener IPs estáticas para los servidores aprovisionados, de manera que las instancias creadas, que al principio tienen una IP pública temporal, no pierdan su IP al ser recreadas por actualizaciones o mantenimiento.&lt;/p&gt;

&lt;p&gt;En este caso, Amazon Lightsail te permitirá tener IPs estáticas para tu arquitectura y asociarlas a tus instancias cuando lo desees.  Es importante mencionar que las mismas no tienen costos siempre que están asociadas a una instancia.&lt;/p&gt;

&lt;h2&gt;
  
  
  Emparejamiento con otros servicios de AWS
&lt;/h2&gt;

&lt;p&gt;Sabemos que la arquitectura base de este artículo, no es la adecuada en muchos casos, y a menudo se quiere tener acceso a un NFS (&lt;a href="https://aws.amazon.com/efs/" rel="noopener noreferrer"&gt;Amazon EFS&lt;/a&gt;), un almacenamiento de objetos como &lt;a href="https://aws.amazon.com/s3/" rel="noopener noreferrer"&gt;Amazon S3&lt;/a&gt;, otros servidores en Amazon EC2 o en general a otros servicios proporcionados por AWS.&lt;/p&gt;

&lt;p&gt;Pensado en esto, Amazon Lightsail tiene la opción de activar la característica llamada VPC peering, la misma que permite a los recursos aprovisionados en Amazon Lightsail mirar a los recursos aprovisionados de toda la Nube AWS.&lt;/p&gt;

&lt;p&gt;Esta configuración se activa desde la opción “Account → Advanced” de la consola de Amazon Lightsail y se empareja con la VPC por defecto de tu infraestructura en AWS normal.&lt;/p&gt;

&lt;h2&gt;
  
  
  ¿Hasta donde usar Amazon Lightsail?
&lt;/h2&gt;

&lt;p&gt;Bueno, la idea siempre será optimizar costos, y mientras los mismos dentro de Amazon Lightsail sean menores a los causados con la misma arquitectura en el aprovisionamiento normal que llevaría en AWS, deberíamos considerar seguir con Amazon Lightsail.&lt;/p&gt;

&lt;p&gt;Por otro lado, tenemos ciertos requerimientos que no van a poder ser cumplidos con Amazon Lightsail, como demanda de instancias HPC (cómputo de alto rendimiento), bases de datos propietarias como Oracle, SQLServer, etc., servicios de colas como SQS, etc. en donde sería mejor opción un esquema de aprovisionamiento normal en AWS.&lt;/p&gt;

&lt;p&gt;La otra principal razón, en mi opinión, es la simplificación, pues una gestión de un esquema failover y de alta disponibilidad en aprovisionamiento normal en AWS, es mucho más complejo y demandante de conocimiento (empezando en como diseñar apropiadamente tu VPC), que hacerlo en Amazon Lightsail en donde hay muchas opciones por defecto que cubren el escenario.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusiones
&lt;/h2&gt;

&lt;p&gt;En este artículo hemos mirado como la solución, Amazon Lightsail un esquema de costo fijo AWS, representa una opción para esas empresas que prefieren tener un control total de la inversión en la Nube.&lt;/p&gt;

&lt;p&gt;Amazon Lightsail permite crear esquemas de arquitectura que incluye desde un simple servidor hasta un esquema completo de alta disponibilidad y failover para sus aplicaciones.&lt;/p&gt;

&lt;p&gt;Además, Amazon Lightsail cuenta con opciones de contenerización, con lo cual podrías aprovisionar arquitecturas que requieran microservicios y escalamiento contenerizado, de forma automática o manual.&lt;/p&gt;

&lt;p&gt;Por otro lado y muy importante, hemos visto como los servicios aprovisionados en Amazon Lightsail pueden convivir con tus servicios aprovisionados en toda la Nube AWS a través de VPC peering, lo que te da opciones para seguir usando los otros servicios que no incluye Amazon Lightsail como Amazon S3, Amazon EFS, AWS Lambda, Amazon Redshift, etc.&lt;/p&gt;

&lt;p&gt;Amazon Lightsail no es para todas las arquitecturas, y habrá que evaluar en términos de costo y carga de gestión, si es más apropiado utilizar un esquema tradicional o el simplificado que nos ofrece este servicio.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>cloud</category>
      <category>cloudskills</category>
    </item>
    <item>
      <title>Como parchear servidores en AWS</title>
      <dc:creator>Fernando</dc:creator>
      <pubDate>Wed, 06 Apr 2022 18:35:31 +0000</pubDate>
      <link>https://dev.to/aws-builders/como-parchear-servidores-en-aws-4413</link>
      <guid>https://dev.to/aws-builders/como-parchear-servidores-en-aws-4413</guid>
      <description>&lt;p&gt;Una de las principales dudas de los equipos TI en relación con el aprovisionamiento de infraestructura en la Nube AWS o cualquier Nube en realidad, es como parchear servidores en AWS y más específicamente las instancias EC2.&lt;/p&gt;

&lt;p&gt;La respuesta corta a esta pregunta es a través de su servicio AWS Systems Manager (con la abreviatura SSM) y en concreto con la funcionalidad &lt;a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-patch.html" rel="noopener noreferrer"&gt;Patch Manager&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Sin embargo, hay que mencionar que la solución AWS Systems Manager no solamente nos ayuda con la aplicación de parches a nivel del Sistema Operativo y a nivel del Software instalado, también nos ofrece una administración y monitorización completa de los recursos desplegados en AWS e incluso de los recursos On-premises que deseemos adicionar a su gestión.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl44zr2cyhu6j3rt4d1hm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl44zr2cyhu6j3rt4d1hm.png" alt="AWS Systems Manager" width="400" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Es realmente impresionante el nivel de gestión que se puede alcanzar con esta herramienta para toda tu infraestructura, te animo mirar todas las posibilidades en la página &lt;a href="http://aws.amazon.com/es/systems-manager/features" rel="noopener noreferrer"&gt;Características de AWS Systems Manager&lt;/a&gt;. Por supuesto, si deseas tener una versión resumida de esta herramienta, me dejas saber en los comentarios 🙂.&lt;/p&gt;

&lt;h2&gt;
  
  
  Aplicando parches en instancias EC2 en AWS
&lt;/h2&gt;

&lt;p&gt;Vale resaltar que no es lo mismo parchear 2 o 3 instancias EC2 que parchear decenas, cientos o miles de instancias distribuidas en varias regiones a lo largo de AWS.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff7umg78jp79iypkzvuph.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff7umg78jp79iypkzvuph.png" alt="Ejemplo esquema operacional de aplicación de parches en AWS (Blog Aplicación de parches a sus instancias de Windows EC2 con AWS Systems Manager Patch Manager de Stefan Minhas)" width="389" height="356"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A continuación vamos a describir un conjunto de pasos para poder aplicar los parches en instancias EC2 en AWS:&lt;/p&gt;

&lt;p&gt;El primer paso, y parte de las buenas prácticas de aprovisionamiento de recursos en AWS, es marcar los mismos a través de AWS Tags, que son etiquetas asociadas a los recursos aprovisionados en AWS que nos permitirán identificarlos y clasificarlos de acuerdo a nuestra estrategia de Gobierno TI.&lt;/p&gt;

&lt;p&gt;Ya ingresando al servicio AWS Systems Manager o SSM, el segundo paso es usar una Línea Base (Baseline) predefinida en la opción Patch Manager de este servicio; esta es una definición de Sistema Operativo y criticidad de actualizaciones preestablecida, y que es aplicable a nuestras instancias EC2.&lt;/p&gt;

&lt;p&gt;Claro que tú puedes crear tu propia Línea Base, si tienes algún requerimiento especial que no encuentres en las múltiples opciones que encontrarás predefinidas allí.&lt;/p&gt;

&lt;p&gt;Luego, como tercer paso, y que mi criterio es muy recomendado, especialmente si tienes desde decenas de servidores o un nivel de continuidad de negocio que lo exige, es crear Grupos para Parches (Patch groups) en tu definición de Línea Base. La idea es identificar con una etiqueta a un grupo de instancias a parchear que contengan esa definición en sus AWS Tags.&lt;/p&gt;

&lt;p&gt;¡Ten cuidado!, y por esto es importante tener definidos Grupos para Parches, ya que AWS no prueba los parches antes de ponerlos a disposición en Patch Manager, porque pertenecen en su mayoría a los fabricantes del Software.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AWS no prueba los parches antes de ponerlos a disposición en Patch Manager.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;La definición de una ventana de cambios (Maintenance Windows) viene a ser el cuarto paso, y se la define a través del servicio AWS Systems Manager. Aquí vamos a especificar el horario, la duración y la recurrencia en la cual se va a ejecutar las acciones asociadas a la misma.&lt;/p&gt;

&lt;p&gt;El quinto paso, y el más largo, es asociar la ventana de mantenimiento con la Línea Base y el Grupo para Parches, aunque también podrías asociarla con instancias específicas EC2 lo cual no sería recomendado y práctico.&lt;/p&gt;

&lt;p&gt;El comando objetivo para correr la Línea Base definida es “AWS-RunPatchBaseline” y lo observarás en las opciones correspondientes en Patch Manager.&lt;/p&gt;

&lt;p&gt;Patch Manager no admite actualizaciones de versiones principales (major versions) de Sistemas Operativos como ir de Windows Server 2019 a 2022 o RHEL 7 a RHEL 8.&lt;/p&gt;

&lt;p&gt;¡Listo!, una vez realizado estos pasos, está automatizado el proceso de aplicación de parches en tus instancias EC2 en AWS y lo podrás monitorizar desde la opción Managed Instances en el servicio AWS Systems Manager.&lt;/p&gt;

&lt;p&gt;Te recomiendo ver una versión más detallada de este proceso en el Blog &lt;a href="https://aws.amazon.com/es/blogs/mt/patching-your-windows-ec2-instances-using-aws-systems-manager-patch-manager/" rel="noopener noreferrer"&gt;Aplicación de parches a sus instancias de Windows EC2 con AWS Systems Manager Patch Manager de Stefan Minhas&lt;/a&gt; 😉.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusiones
&lt;/h2&gt;

&lt;p&gt;Es completamente posible automatizar la aplicación de parches en los recursos en AWS incluso en instancias On-premises que han sido asociadas al servicio AWS Systems Manager.&lt;/p&gt;

&lt;p&gt;AWS Systems Manager es un servicio para la gestión y monitorización de los recursos en AWS que nos permite mantener una administración adecuada de la Nube.&lt;/p&gt;

&lt;p&gt;Patch Manager nos provee de Líneas Base predefinidas para mantener actualizados a nuestros servidores de forma automática, pero es importante comprender que AWS no prueba estás actualizaciones previamente ya que en su mayoría son de terceros, por lo que debemos considerarlo en nuestra estrategia de gestión.&lt;/p&gt;

&lt;p&gt;Patch Manager maneja solamente actualizaciones menores (minor versions), no está pensado para hacer migraciones de versiones principales.&lt;/p&gt;

&lt;p&gt;Hay muchas otras opciones de Patch Manager que no se han visto en esta guía de como parchear los servidores en AWS, como notificaciones, reportes y evaluación de cumplimiento; sin embargo, son muy útiles ya en un escenario empresarial y deberían considerarse.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>ec2</category>
      <category>cloud</category>
    </item>
    <item>
      <title>Tipos de Instancias EC2 en AWS – Ficha Técnica</title>
      <dc:creator>Fernando</dc:creator>
      <pubDate>Fri, 25 Mar 2022 17:26:08 +0000</pubDate>
      <link>https://dev.to/_ferpaz/tipos-de-instancias-ec2-en-aws-ficha-tecnica-5776</link>
      <guid>https://dev.to/_ferpaz/tipos-de-instancias-ec2-en-aws-ficha-tecnica-5776</guid>
      <description>&lt;p&gt;AWS del servicio Amazon EC2 con múltiples opciones a la hora de aprovisionar un servidor en la Nube; pero elegir uno u otro depende del requerimiento de negocio y a menudo existen dudas sobre cuál elegir. Hoy les traemos una ficha técnica de los tipos de instancias EC2 en AWS, de forma que les pueda ayudar a tomar una decisión para su Empresa y requerimiento.&lt;/p&gt;

&lt;p&gt;Vamos a ver en la ficha técnica de instancias EC2 en AWS, el grupo de Instancias de Propósito General; sin embargo, existen otros tipos de instancias para necesidades más específicas como instancias optimizadas para cómputo, para uso memoria, para acelerar el cómputo u para optimizar el acceso al almacenamiento. Puede encontrar toda de esa oferta especializada aquí.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tipos de Instancias EC2 en AWS – Propósito General
&lt;/h2&gt;

&lt;p&gt;Mira el siguiente enlace para obtener la ficha técnica &lt;a href="https://docs.google.com/spreadsheets/d/e/2PACX-1vSO0sHZU40RRrNYgmHGiVBqYiObk4JBlg2GAuf66CJNLcz9lfzrr1cCbPVC0JGLGWronp2cuU1PQPFA/pubhtml" rel="noopener noreferrer"&gt;Tipos de Instancias EC2 en AWS - Ficha Técnica : Propósito General&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  ¿Como elegir una instancia EC2 en AWS apropiada para mi caso de uso?
&lt;/h2&gt;

&lt;p&gt;En general tenemos tres escenarios: despliegue de una nueva aplicación, despliegue de una aplicación existente o despliegue de un Producto de Software de un proveedor.&lt;/p&gt;

&lt;p&gt;En el caso de &lt;strong&gt;Productos de Software&lt;/strong&gt;, tal vez la decisión es más sencilla, pues seguramente tenemos ya especificaciones de Hardware definidas por el vendedor, las mismas que debemos tratar de cumplir eligiendo la instancia EC2 correcta. Incluso hay ya muchos Productos de Software de vendedores que traen una especificación clara para su funcionamiento en la Nube.&lt;/p&gt;

&lt;p&gt;En el caso de &lt;strong&gt;aplicaciones existentes&lt;/strong&gt;, debemos tener métricas históricas acerca del desempeño y uso de recursos informáticos On-premises (CPU, RAM, almacenamiento y Red) como soporte para seleccionar el tipo de instancia EC2 apropiada. Sin embargo, hay que tomar en cuenta también otros aspectos de la aplicación como su arquitectura, sus dependencias y las estrategias de resiliencia definidas por el negocio, ya que no hacerlo nos va a significar dolores de cabeza relacionados con reinstalaciones, reconfiguraciones y sobre todo problemas de latencia.&lt;/p&gt;

&lt;p&gt;El último y más frecuente caso suele ser las &lt;strong&gt;aplicaciones nuevas&lt;/strong&gt;, en donde no tenemos un histórico de funcionamiento, pero si podemos hacer una proyección a tres meses de concurrencia de usuarios, número de transacciones diarias y capacidades mínimas del Software base; partiendo de allí la recomendación es ser lo más modesto posible y medir la utilización de recursos y el rendimiento de la aplicación semanalmente de forma que podamos ir aumentando las capacidades del tipo de instancia EC2 inicial o cambiar de tipo de instancia para optimizar costos.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Es clave usar inicialmente un modelo de precios On-demand, que aunque no es el menos costoso, te permitirá en los 3 a 6 primeros meses aprender de la real demanda de tu aplicación o Productos de Software para luego confirmar o cambiar el tipo de instancia adecuada, adquiriendo la misma en un modelo de precios como más conveniente como el Reservado o Spot.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Claro que existirá el caso de aprovisionar un NFS o un FTP o algo similar, pero hacerlo a través de una instancia EC2 tal vez no sea el mejor camino dado que AWS tiene servicios especializados para estos fines.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusiones
&lt;/h2&gt;

&lt;p&gt;Fue muy interesante revisar estas características técnicas pues aclaran el propósito de cada tipo de instancia, suele ser confuso y abrumador leer tanta documentación o tener tantas opciones y esta ficha puede ayudarle en el primer momento a saber que camino profundizar.&lt;/p&gt;

&lt;p&gt;Estos son los puntos importantes que en mi opinión destacan en esta ficha técnica de tipos de instancias EC2 en AWS:&lt;/p&gt;

&lt;p&gt;Ya tenemos una opción para obtener una máquina Mac a un precio excelente y cubrir la necesidad de desarrollos para esa plataforma.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Elegir T4g siempre que se pueda, esto significa siempre que el software base que necesitemos este disponible en esta arquitectura, porque supone menores costos.&lt;/li&gt;
&lt;li&gt;Elegir T3a o T3 por sobre T2, considerando también la compatibilidad del software base. Aunque la mayoría de Sistemas Operativos y programas son ampliamente soportados en procesadores AMD.&lt;/li&gt;
&lt;li&gt;Si la necesidad es un servidor mediano o grande, ir por las instancias M; por ejemplo, servidores de aplicaciones como SAP, Sharepoint, IAS, JBOSS, etc.&lt;/li&gt;
&lt;li&gt;De los servidores M la mejor opción es el M6g por costo-rendimiento, pero de igual forma el software base es clave aquí. Los procesadores Graviton son espectaculares y cuestan menos por su significativo ahorro de energía lo que supone menos contaminación también 😉 puede encontrar más en AWS y sus procesadores Graviton.&lt;/li&gt;
&lt;li&gt;Si requieres alto tráfico de red (throughput) piense en instancias M5n o M5zn.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Finalmente&lt;/strong&gt;, te animamos a contribuir con ideas para mejorar esta Ficha Técnica de Instancias en AWS.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>ec2</category>
    </item>
  </channel>
</rss>
