<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Migration | The .NET Blog</title><link>https://thedotnetblog.com/es/tags/migration/</link><description>Articles, tutorials and insights from the .NET community.</description><generator>Hugo</generator><language>es</language><managingEditor>@thedotnetblog (The .NET Blog)</managingEditor><webMaster>@thedotnetblog</webMaster><lastBuildDate>Tue, 05 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://thedotnetblog.com/es/tags/migration/index.xml" rel="self" type="application/rss+xml"/><item><title>Eliminando el Trabajo Tedioso de la Migración con Agentic Platform Engineering</title><link>https://thedotnetblog.com/es/news/emiliano-montesdeoca/agentic-platform-engineering-migration-automation/</link><pubDate>Tue, 05 May 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/es/news/emiliano-montesdeoca/agentic-platform-engineering-migration-automation/</guid><description>Git-Ape recorre la migración de un despliegue real de AWS Terraform a Azure Bicep — extrayendo la intención del despliegue y remapeando la arquitectura en lugar de hacer una conversión sintáctica 1:1.</description><content:encoded>&lt;p&gt;&lt;em&gt;Este post fue traducido automáticamente. Para la versión original, &lt;a href="https://thedotnetblog.com/es/news/emiliano-montesdeoca/agentic-platform-engineering-migration-automation/"&gt;haz clic aquí&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devblogs.microsoft.com/all-things-azure/removing-the-monkey-work-of-migration-using-agentic-platform-engineering/"&gt;Removing the Monkey Work of Migration with Agentic Platform Engineering&lt;/a&gt; — un recorrido de Git-Ape (herramienta git de ingeniería de plataformas agéntica) que migra un repositorio Terraform real de AWS a Azure, centrándose en la extracción de intención en lugar de una conversión línea por línea.&lt;/p&gt;
&lt;h2 id="la-entrada-contoso-migration"&gt;La entrada: contoso-migration&lt;/h2&gt;
&lt;p&gt;La fuente es un proyecto Terraform real (&lt;code&gt;contoso-migration&lt;/code&gt;) que despliega una aplicación Next.js en AWS — EC2 para cómputo, ALB para balanceo de carga, S3 para artefactos y claves IAM para identidad. Costo: ~34 $/mes. El objetivo no es reproducir la misma infraestructura en Azure; es descubrir qué intenta hacer realmente el despliegue y reconstruirlo con servicios nativos de Azure.&lt;/p&gt;
&lt;h2 id="paso-1-validación-y-autenticación"&gt;Paso 1: Validación y autenticación&lt;/h2&gt;
&lt;p&gt;Git-Ape comienza validando todas las herramientas CLI requeridas — &lt;code&gt;az&lt;/code&gt;, &lt;code&gt;aws&lt;/code&gt;, &lt;code&gt;gh&lt;/code&gt;, &lt;code&gt;jq&lt;/code&gt;, &lt;code&gt;git&lt;/code&gt; — y confirmando las sesiones de autenticación activas antes de tocar nada. Sin ejecuciones parciales.&lt;/p&gt;
&lt;h2 id="paso-2-extracción-de-intención"&gt;Paso 2: Extracción de intención&lt;/h2&gt;
&lt;p&gt;El agente lee todo el repositorio fuente a través de la API de GitHub y extrae la intención de despliegue: tiempo de ejecución (Node.js), tipo de cómputo, patrón de ingress, manejo de artefactos, modelo de identidad, red y monitoreo. Este es el paso clave — está construyendo un modelo semántico de lo que hace el despliegue, no qué palabras clave de Terraform utiliza.&lt;/p&gt;
&lt;h2 id="paso-3-mapeo-de-servicios"&gt;Paso 3: Mapeo de servicios&lt;/h2&gt;
&lt;p&gt;Los servicios de AWS se mapean a equivalentes de Azure:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;EC2 → App Service (Linux, Node 20 LTS)&lt;/li&gt;
&lt;li&gt;ALB → Balanceo de carga integrado de App Service&lt;/li&gt;
&lt;li&gt;Roles/claves IAM → Managed Identity&lt;/li&gt;
&lt;li&gt;Terraform → Bicep + GitHub Actions&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="paso-4-agente-crítico"&gt;Paso 4: Agente crítico&lt;/h2&gt;
&lt;p&gt;Antes de generar la salida, se ejecuta un agente crítico que detecta dos problemas bloqueantes:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Anti-patrón de build al inicio&lt;/strong&gt; — el Terraform original ejecutaba &lt;code&gt;npm install &amp;amp;&amp;amp; npm run build&lt;/code&gt; en EC2 al arrancar. Solución: construir en CI, desplegar un artefacto listo.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Blob Storage innecesario&lt;/strong&gt; — S3 se usaba para la preparación de artefactos que podría eliminarse con CI/CD adecuado. El agente crítico lo eliminó por completo.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="paso-5-salida-generada"&gt;Paso 5: Salida generada&lt;/h2&gt;
&lt;p&gt;El resultado son ~80 líneas de Bicep en lugar de las 200+ líneas originales de Terraform. El agente creó un nuevo repositorio GitHub con &lt;code&gt;infra/main.bicep&lt;/code&gt; y &lt;code&gt;.github/workflows/deploy.yml&lt;/code&gt; y eliminó todos los archivos específicos de AWS.&lt;/p&gt;
&lt;h2 id="comparación-de-postura-de-seguridad"&gt;Comparación de postura de seguridad&lt;/h2&gt;
&lt;p&gt;La migración también produjo una mejora significativa de seguridad:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;AWS original&lt;/th&gt;
&lt;th&gt;Salida Azure&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Solo HTTP&lt;/td&gt;
&lt;td&gt;Solo HTTPS, TLS 1.2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SSH abierto a 0.0.0.0/0&lt;/td&gt;
&lt;td&gt;Sin exposición SSH&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Claves de acceso IAM&lt;/td&gt;
&lt;td&gt;OIDC + Managed Identity&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sin monitoreo&lt;/td&gt;
&lt;td&gt;Application Insights&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Costo: ~13 $/mes vs los 34 $/mes originales.&lt;/p&gt;
&lt;h2 id="qué-lo-diferencia-de-un-convertidor-de-sintaxis"&gt;Qué lo diferencia de un convertidor de sintaxis&lt;/h2&gt;
&lt;p&gt;El paso del agente crítico es lo que separa esto de una traducción mecánica. Detectó patrones que habrían funcionado en AWS pero serían incorrectos en Azure — y los corrigió en lugar de replicarlos. La salida no es &amp;ldquo;AWS en sintaxis de Azure&amp;rdquo;; es un despliegue nativo de Azure que logra el mismo objetivo de manera más limpia.&lt;/p&gt;
&lt;p&gt;Consulta el &lt;a href="https://devblogs.microsoft.com/all-things-azure/removing-the-monkey-work-of-migration-using-agentic-platform-engineering/"&gt;recorrido completo&lt;/a&gt; para ver la traza completa del agente y los archivos generados.&lt;/p&gt;</content:encoded></item><item><title>La evaluación de modernización de GitHub Copilot es la mejor herramienta de migración que aún no estás usando</title><link>https://thedotnetblog.com/es/news/emiliano-montesdeoca/dotnet-modernization-assessment-github-copilot/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/es/news/emiliano-montesdeoca/dotnet-modernization-assessment-github-copilot/</guid><description>La extensión de modernización de GitHub Copilot no solo sugiere cambios de código — produce una evaluación completa de migración con issues accionables, comparaciones de destinos Azure y un flujo de trabajo colaborativo. Aquí te explico por qué el documento de evaluación es la clave de todo.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Este post fue traducido automáticamente. Para la versión original, &lt;a href="https://thedotnetblog.com/es/news/emiliano-montesdeoca/dotnet-modernization-assessment-github-copilot/"&gt;haz clic aquí&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Migrar una aplicación legacy de .NET Framework a .NET moderno es una de esas tareas que todos saben que deberían hacer pero nadie quiere empezar. Nunca es solo &amp;ldquo;cambiar el target framework.&amp;rdquo; Son APIs que desaparecieron, paquetes que ya no existen, modelos de hosting que funcionan completamente diferente, y un millón de pequeñas decisiones sobre qué containerizar, qué reescribir y qué dejar como está.&lt;/p&gt;
&lt;p&gt;Jeffrey Fritz acaba de publicar una &lt;a href="https://devblogs.microsoft.com/dotnet/your-migrations-source-of-truth-the-modernization-assessment/"&gt;inmersión profunda en la evaluación de modernización de GitHub Copilot&lt;/a&gt;, y honestamente, es el mejor tooling de migración que he visto para .NET. No por la generación de código — eso ya es estándar. Por el documento de evaluación que produce.&lt;/p&gt;
&lt;h2 id="no-es-solo-un-motor-de-sugerencias-de-código"&gt;No es solo un motor de sugerencias de código&lt;/h2&gt;
&lt;p&gt;La extensión de VS Code sigue un modelo de &lt;strong&gt;Evaluar → Planificar → Ejecutar&lt;/strong&gt;. La fase de evaluación analiza todo tu código base y produce un documento estructurado que captura todo: qué necesita cambiar, qué recursos de Azure aprovisionar, qué modelo de despliegue usar. Todo lo posterior — infraestructura como código, containerización, manifiestos de despliegue — fluye de lo que la evaluación encuentra.&lt;/p&gt;
&lt;p&gt;La evaluación se almacena en &lt;code&gt;.github/modernize/assessment/&lt;/code&gt; en tu proyecto. Cada ejecución produce un reporte independiente, así que acumulas un historial y puedes rastrear cómo evoluciona tu postura de migración a medida que corriges issues.&lt;/p&gt;
&lt;h2 id="dos-formas-de-empezar"&gt;Dos formas de empezar&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Evaluación Recomendada&lt;/strong&gt; — el camino rápido. Elige entre dominios curados (Actualización Java/.NET, Cloud Readiness, Seguridad) y obtén resultados significativos sin tocar configuración. Genial para una primera mirada a dónde está tu aplicación.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Evaluación Personalizada&lt;/strong&gt; — el camino dirigido. Configura exactamente qué analizar: cómputo objetivo (App Service, AKS, Container Apps), SO objetivo, análisis de containerización. Elige múltiples destinos Azure para comparar enfoques de migración lado a lado.&lt;/p&gt;
&lt;p&gt;Esa vista de comparación es genuinamente útil. Una app con 3 issues obligatorios para App Service podría tener 7 para AKS. Ver ambos ayuda a decidir el hosting antes de comprometerse con un camino de migración.&lt;/p&gt;
&lt;h2 id="el-desglose-de-issues-es-accionable"&gt;El desglose de issues es accionable&lt;/h2&gt;
&lt;p&gt;Cada issue viene con un nivel de criticidad:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Obligatorio&lt;/strong&gt; — debe corregirse o la migración falla&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Potencial&lt;/strong&gt; — podría impactar la migración, necesita juicio humano&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Opcional&lt;/strong&gt; — mejoras recomendadas, no bloquean la migración&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Y cada issue enlaza a archivos afectados y números de línea, proporciona una descripción detallada de qué está mal y por qué importa para tu plataforma objetivo, da pasos concretos de remediación (no solo &amp;ldquo;arregla esto&amp;rdquo;), e incluye enlaces a documentación oficial.&lt;/p&gt;
&lt;p&gt;Puedes asignar issues individuales a desarrolladores y tienen todo lo que necesitan para actuar. Esa es la diferencia entre una herramienta que te dice &amp;ldquo;hay un problema&amp;rdquo; y una que te dice cómo resolverlo.&lt;/p&gt;
&lt;h2 id="las-rutas-de-actualización-cubiertas"&gt;Las rutas de actualización cubiertas&lt;/h2&gt;
&lt;p&gt;Para .NET específicamente:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;.NET Framework → .NET 10&lt;/li&gt;
&lt;li&gt;ASP.NET → ASP.NET Core&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Cada ruta de actualización tiene reglas de detección que saben qué APIs fueron eliminadas, qué patrones no tienen equivalente directo, y qué issues de seguridad necesitan atención.&lt;/p&gt;
&lt;p&gt;Para equipos que gestionan múltiples aplicaciones, también hay un CLI que soporta evaluaciones batch multi-repo — clona todos los repos, evalúalos todos, obtén reportes por app más una vista de portafolio agregada.&lt;/p&gt;
&lt;h2 id="mi-opinión"&gt;Mi opinión&lt;/h2&gt;
&lt;p&gt;Si estás sentado sobre aplicaciones legacy de .NET Framework (y seamos honestos, la mayoría de los equipos empresariales lo están), esta es &lt;em&gt;la&lt;/em&gt; herramienta con la que empezar. Solo el documento de evaluación vale el tiempo — convierte un vago &amp;ldquo;deberíamos modernizar&amp;rdquo; en una lista concreta y priorizada de elementos de trabajo con caminos claros hacia adelante.&lt;/p&gt;
&lt;p&gt;El flujo de trabajo colaborativo también es inteligente: exporta evaluaciones, compártelas con tu equipo, impórtalas sin re-ejecutar. ¿Revisiones de arquitectura donde los que toman decisiones no son los que ejecutan las herramientas? Cubierto.&lt;/p&gt;
&lt;h2 id="para-cerrar"&gt;Para cerrar&lt;/h2&gt;
&lt;p&gt;La evaluación de modernización de GitHub Copilot transforma la migración de .NET de un proyecto aterrador e indefinido en un proceso estructurado y rastreable. Empieza con una evaluación recomendada para ver dónde estás, luego usa evaluaciones personalizadas para comparar destinos Azure y construir tu plan de migración.&lt;/p&gt;
&lt;p&gt;Lee el &lt;a href="https://devblogs.microsoft.com/dotnet/your-migrations-source-of-truth-the-modernization-assessment/"&gt;walkthrough completo&lt;/a&gt; y descarga la &lt;a href="https://aka.ms/ghcp-appmod/vscode-ext"&gt;extensión de VS Code&lt;/a&gt; para probarlo en tu propio código.&lt;/p&gt;</content:encoded></item></channel></rss>