<?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>Platform Engineering | The .NET Blog</title><link>https://thedotnetblog.com/it/tags/platform-engineering/</link><description>Articles, tutorials and insights from the .NET community.</description><generator>Hugo</generator><language>it</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/it/tags/platform-engineering/index.xml" rel="self" type="application/rss+xml"/><item><title>Eliminare il Lavoro Ripetitivo della Migrazione con l'Agentic Platform Engineering</title><link>https://thedotnetblog.com/it/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/it/news/emiliano-montesdeoca/agentic-platform-engineering-migration-automation/</guid><description>Git-Ape illustra la migrazione di un deployment Terraform AWS reale verso Azure Bicep — estraendo l'intenzione del deployment e rimappando l'architettura invece di fare una conversione sintattica 1:1.</description><content:encoded>&lt;p&gt;&lt;em&gt;Questo post è stato tradotto automaticamente. Per la versione originale, &lt;a href="https://thedotnetblog.com/it/news/emiliano-montesdeoca/agentic-platform-engineering-migration-automation/"&gt;clicca qui&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; — una guida passo per passo di Git-Ape (strumento git di ingegneria di piattaforma agentiva) che migra un vero repository Terraform AWS verso Azure, concentrandosi sull&amp;rsquo;estrazione dell&amp;rsquo;intenzione piuttosto che sulla conversione riga per riga.&lt;/p&gt;
&lt;h2 id="linput-contoso-migration"&gt;L&amp;rsquo;input: contoso-migration&lt;/h2&gt;
&lt;p&gt;La fonte è un vero progetto Terraform (&lt;code&gt;contoso-migration&lt;/code&gt;) che distribuisce un&amp;rsquo;app Next.js su AWS — EC2 per il computing, ALB per il bilanciamento del carico, S3 per gli artefatti e chiavi IAM per l&amp;rsquo;identità. Costo: ~34 $/mese. L&amp;rsquo;obiettivo non è riprodurre la stessa infrastruttura su Azure; è capire cosa il deployment sta effettivamente cercando di fare e ricostruirlo con servizi nativi Azure.&lt;/p&gt;
&lt;h2 id="passo-1-validazione-e-autenticazione"&gt;Passo 1: Validazione e autenticazione&lt;/h2&gt;
&lt;p&gt;Git-Ape inizia validando tutti gli strumenti CLI richiesti — &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; — e confermando le sessioni di autenticazione attive prima di toccare qualsiasi cosa. Nessuna esecuzione parziale.&lt;/p&gt;
&lt;h2 id="passo-2-estrazione-dellintenzione"&gt;Passo 2: Estrazione dell&amp;rsquo;intenzione&lt;/h2&gt;
&lt;p&gt;L&amp;rsquo;agente legge l&amp;rsquo;intero repository sorgente tramite l&amp;rsquo;API GitHub ed estrae l&amp;rsquo;intenzione del deployment: runtime (Node.js), tipo di computing, modello di ingress, gestione degli artefatti, modello di identità, rete e monitoraggio. Questo è il passaggio chiave — sta costruendo un modello semantico di cosa fa il deployment, non quali parole chiave Terraform usa.&lt;/p&gt;
&lt;h2 id="passo-3-mappatura-dei-servizi"&gt;Passo 3: Mappatura dei servizi&lt;/h2&gt;
&lt;p&gt;I servizi AWS vengono mappati agli equivalenti Azure:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;EC2 → App Service (Linux, Node 20 LTS)&lt;/li&gt;
&lt;li&gt;ALB → Bilanciamento del carico integrato di App Service&lt;/li&gt;
&lt;li&gt;Ruoli/chiavi IAM → Managed Identity&lt;/li&gt;
&lt;li&gt;Terraform → Bicep + GitHub Actions&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="passo-4-agente-critico"&gt;Passo 4: Agente critico&lt;/h2&gt;
&lt;p&gt;Prima di generare l&amp;rsquo;output, viene eseguito un agente critico che individua due problemi bloccanti:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Anti-pattern di build all&amp;rsquo;avvio&lt;/strong&gt; — il Terraform originale eseguiva &lt;code&gt;npm install &amp;amp;&amp;amp; npm run build&lt;/code&gt; su EC2 all&amp;rsquo;avvio. Fix: costruire in CI, distribuire un artefatto pronto.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Blob Storage non necessario&lt;/strong&gt; — S3 veniva usato per lo staging degli artefatti che poteva essere eliminato con un CI/CD appropriato. L&amp;rsquo;agente critico lo ha rimosso completamente.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="passo-5-output-generato"&gt;Passo 5: Output generato&lt;/h2&gt;
&lt;p&gt;Il risultato è ~80 righe di Bicep invece delle 200+ righe originali di Terraform. L&amp;rsquo;agente ha creato un nuovo repository GitHub con &lt;code&gt;infra/main.bicep&lt;/code&gt; e &lt;code&gt;.github/workflows/deploy.yml&lt;/code&gt; e rimosso tutti i file specifici di AWS.&lt;/p&gt;
&lt;h2 id="confronto-della-postura-di-sicurezza"&gt;Confronto della postura di sicurezza&lt;/h2&gt;
&lt;p&gt;La migrazione ha anche prodotto un significativo miglioramento della sicurezza:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;AWS originale&lt;/th&gt;
&lt;th&gt;Output 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 aperto a 0.0.0.0/0&lt;/td&gt;
&lt;td&gt;Nessuna esposizione SSH&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Chiavi di accesso IAM&lt;/td&gt;
&lt;td&gt;OIDC + Managed Identity&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Nessun monitoraggio&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 $/mese vs i 34 $/mese originali.&lt;/p&gt;
&lt;h2 id="cosa-lo-differenzia-da-un-convertitore-di-sintassi"&gt;Cosa lo differenzia da un convertitore di sintassi&lt;/h2&gt;
&lt;p&gt;Il passaggio dell&amp;rsquo;agente critico è ciò che separa questo da una traduzione meccanica. Ha individuato pattern che avrebbero funzionato su AWS ma sarebbero stati sbagliati su Azure — e li ha corretti invece di replicarli. L&amp;rsquo;output non è &amp;ldquo;AWS in sintassi Azure&amp;rdquo;; è un deployment nativo Azure che raggiunge lo stesso obiettivo in modo più pulito.&lt;/p&gt;
&lt;p&gt;Vedi la &lt;a href="https://devblogs.microsoft.com/all-things-azure/removing-the-monkey-work-of-migration-using-agentic-platform-engineering/"&gt;guida completa&lt;/a&gt; per la traccia completa dell&amp;rsquo;agente e i file generati.&lt;/p&gt;</content:encoded></item><item><title>L'Ingegneria delle Piattaforme Agentiche Sta Diventando Realtà — Git-APE Mostra Come</title><link>https://thedotnetblog.com/it/news/emiliano-montesdeoca/agentic-platform-engineering-git-ape/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/it/news/emiliano-montesdeoca/agentic-platform-engineering-git-ape/</guid><description>Il progetto Git-APE di Microsoft mette in pratica l'ingegneria delle piattaforme agentiche — usando agenti GitHub Copilot e Azure MCP per trasformare richieste in linguaggio naturale in infrastruttura cloud validata.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Questo post è stato tradotto automaticamente. Per la versione originale, &lt;a href="https://thedotnetblog.com/it/news/emiliano-montesdeoca/agentic-platform-engineering-git-ape/"&gt;clicca qui&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;L&amp;rsquo;ingegneria delle piattaforme è stato uno di quei termini che suona bene alle conferenze ma che di solito significa &amp;ldquo;abbiamo costruito un portale interno e un wrapper Terraform.&amp;rdquo; La vera promessa — infrastruttura self-service che sia realmente sicura, governata e veloce — è sempre stata a qualche passo di distanza.&lt;/p&gt;
&lt;p&gt;Il team Azure ha appena pubblicato la &lt;a href="https://devblogs.microsoft.com/all-things-azure/putting-agentic-platform-engineering-to-the-test/"&gt;Parte 2 della serie sull&amp;rsquo;ingegneria delle piattaforme agentiche&lt;/a&gt;, e questa è tutta sull&amp;rsquo;implementazione pratica. Lo chiamano &lt;strong&gt;Git-APE&lt;/strong&gt; (sì, l&amp;rsquo;acronimo è intenzionale), ed è un progetto open source che utilizza agenti GitHub Copilot più server Azure MCP per trasformare richieste in linguaggio naturale in infrastruttura validata e deployata.&lt;/p&gt;
&lt;h2 id="cosa-fa-git-ape-concretamente"&gt;Cosa fa Git-APE concretamente&lt;/h2&gt;
&lt;p&gt;L&amp;rsquo;idea centrale: invece di far imparare ai developer moduli Terraform, navigare nelle UI dei portali o aprire ticket al team piattaforma, parlano con un agente Copilot. L&amp;rsquo;agente interpreta l&amp;rsquo;intento, genera Infrastructure-as-Code, la valida contro le policy e deploya — tutto all&amp;rsquo;interno di VS Code.&lt;/p&gt;
&lt;p&gt;Ecco il setup:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git clone https://github.com/Azure/git-ape
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; git-ape
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Apri il workspace in VS Code, e i file di configurazione dell&amp;rsquo;agente vengono scoperti automaticamente da GitHub Copilot. Interagisci direttamente con l&amp;rsquo;agente:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;@git-ape deploy a function app with storage in West Europe
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;L&amp;rsquo;agente utilizza Azure MCP Server internamente per interagire con i servizi Azure. La configurazione MCP nelle impostazioni di VS Code abilita capacità specifiche:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;azureMcp.serverMode&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;namespace&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;azureMcp.enabledServices&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;deploy&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;bestpractices&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;group&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;subscription&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;functionapp&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;storage&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;sql&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;monitor&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;azureMcp.readOnly&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="perché-è-importante"&gt;Perché è importante&lt;/h2&gt;
&lt;p&gt;Per chi di noi costruisce su Azure, questo sposta la conversazione sull&amp;rsquo;ingegneria delle piattaforme da &amp;ldquo;come costruiamo un portale&amp;rdquo; a &amp;ldquo;come descriviamo i nostri guardrail come API.&amp;rdquo; Quando l&amp;rsquo;interfaccia della tua piattaforma è un agente IA, la qualità dei tuoi vincoli e delle tue policy diventa il prodotto.&lt;/p&gt;
&lt;p&gt;Il blog della Parte 1 esponeva la teoria: API ben descritte, schemi di controllo e guardrail espliciti rendono le piattaforme agent-ready. La Parte 2 dimostra che funziona rilasciando strumenti concreti. L&amp;rsquo;agente non genera risorse alla cieca — valida contro le best practice, rispetta le convenzioni di naming e applica le policy della tua organizzazione.&lt;/p&gt;
&lt;p&gt;La pulizia è altrettanto semplice:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;@git-ape destroy my-resource-group
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="la-mia-opinione"&gt;La mia opinione&lt;/h2&gt;
&lt;p&gt;Sarò onesto — qui si tratta più del pattern che dello strumento specifico. Git-APE in sé è una demo/architettura di riferimento. Ma l&amp;rsquo;idea sottostante — agenti come interfaccia alla tua piattaforma, MCP come protocollo, GitHub Copilot come host — è la direzione in cui sta andando l&amp;rsquo;esperienza developer enterprise.&lt;/p&gt;
&lt;p&gt;Se sei un team piattaforma che cerca come rendere il proprio tooling interno agent-friendly, non c&amp;rsquo;è punto di partenza migliore. E se sei uno sviluppatore .NET che si chiede come questo si collega al suo mondo: Azure MCP Server e gli agenti GitHub Copilot funzionano con qualsiasi workload Azure. La tua API ASP.NET Core, il tuo stack .NET Aspire, i tuoi microservizi containerizzati — tutto può essere il target di un flusso di deployment agentico.&lt;/p&gt;
&lt;h2 id="per-concludere"&gt;Per concludere&lt;/h2&gt;
&lt;p&gt;Git-APE è uno sguardo precoce ma concreto sull&amp;rsquo;ingegneria delle piattaforme agentiche nella pratica. Clona il &lt;a href="https://github.com/Azure/git-ape"&gt;repo&lt;/a&gt;, prova la demo e inizia a pensare a come le API e le policy della tua piattaforma dovrebbero apparire per permettere a un agente di usarle in sicurezza.&lt;/p&gt;
&lt;p&gt;Leggi il &lt;a href="https://devblogs.microsoft.com/all-things-azure/putting-agentic-platform-engineering-to-the-test/"&gt;post completo&lt;/a&gt; per il walkthrough e i video dimostrativi.&lt;/p&gt;</content:encoded></item></channel></rss>