<?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>Cloud-Native | The .NET Blog</title><link>https://thedotnetblog.com/ca/tags/cloud-native/</link><description>Articles, tutorials and insights from the .NET community.</description><generator>Hugo</generator><language>ca</language><managingEditor>@thedotnetblog (The .NET Blog)</managingEditor><webMaster>@thedotnetblog</webMaster><lastBuildDate>Thu, 23 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://thedotnetblog.com/ca/tags/cloud-native/index.xml" rel="self" type="application/rss+xml"/><item><title>Hooks d'azd en Python, TypeScript i .NET: adéu als scripts de shell</title><link>https://thedotnetblog.com/ca/posts/emiliano-montesdeoca/azd-hooks-python-javascript-typescript-dotnet/</link><pubDate>Thu, 23 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ca/posts/emiliano-montesdeoca/azd-hooks-python-javascript-typescript-dotnet/</guid><description>La CLI d'Azure Developer ara permet escriure hooks en Python, JavaScript, TypeScript o .NET. S'ha acabat canviar de context a Bash per executar un script de migració.</description><content:encoded>&lt;p&gt;&lt;em&gt;Aquesta publicació ha estat traduïda automàticament. Per a la versió original, &lt;a href="https://thedotnetblog.com/ca/posts/emiliano-montesdeoca/azd-hooks-python-javascript-typescript-dotnet/"&gt;feu clic aquí&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Si alguna vegada has tingut un projecte completament en .NET i tot i així has hagut d&amp;rsquo;escriure scripts Bash per als hooks d&amp;rsquo;azd, coneixes bé aquell dolor. Per què canviar a sintaxi de shell en un pas de pre-provisioning quan tota la resta del projecte és C#?&lt;/p&gt;
&lt;p&gt;Aquesta frustració té ara solució oficial. L&amp;rsquo;Azure Developer CLI &lt;a href="https://devblogs.microsoft.com/azure-sdk/azd-multi-language-hooks/"&gt;acaba de llançar suport multi-llenguatge per a hooks&lt;/a&gt;, i és exactament tan bo com sona.&lt;/p&gt;
&lt;h2 id="hooks-breument"&gt;Hooks, breument&lt;/h2&gt;
&lt;p&gt;Els hooks són scripts que s&amp;rsquo;executen en punts clau del cicle de vida d&amp;rsquo;&lt;code&gt;azd&lt;/code&gt; — abans del provisioning, després del desplegament, i més. Es defineixen a &lt;code&gt;azure.yaml&lt;/code&gt; i permeten injectar lògica personalitzada sense modificar la CLI.&lt;/p&gt;
&lt;p&gt;Abans només s&amp;rsquo;admetien Bash i PowerShell. Ara pots usar &lt;strong&gt;Python, JavaScript, TypeScript o .NET&lt;/strong&gt; — i &lt;code&gt;azd&lt;/code&gt; s&amp;rsquo;encarrega de la resta automàticament.&lt;/p&gt;
&lt;h2 id="com-funciona-la-detecció"&gt;Com funciona la detecció&lt;/h2&gt;
&lt;p&gt;Simplement apuntes el hook a un fitxer i &lt;code&gt;azd&lt;/code&gt; infereix el llenguatge per l&amp;rsquo;extensió:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;hooks&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;preprovision&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;run&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;./hooks/setup.py&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;postdeploy&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;run&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;./hooks/seed.ts&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;postprovision&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;run&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;./hooks/migrate.cs&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Sense configuració addicional. Si l&amp;rsquo;extensió és ambigua, pots afegir &lt;code&gt;kind: python&lt;/code&gt; (o el que correspongui) per especificar-ho explícitament.&lt;/p&gt;
&lt;h2 id="detalls-importants-per-llenguatge"&gt;Detalls importants per llenguatge&lt;/h2&gt;
&lt;h3 id="python"&gt;Python&lt;/h3&gt;
&lt;p&gt;Col·loca un &lt;code&gt;requirements.txt&lt;/code&gt; o &lt;code&gt;pyproject.toml&lt;/code&gt; al costat del script (o en qualsevol directori pare) i &lt;code&gt;azd&lt;/code&gt; crea un entorn virtual, instal·la dependències i executa l&amp;rsquo;script.&lt;/p&gt;
&lt;h3 id="javascript-i-typescript"&gt;JavaScript i TypeScript&lt;/h3&gt;
&lt;p&gt;El mateix patró — posa un &lt;code&gt;package.json&lt;/code&gt; a prop del script i &lt;code&gt;azd&lt;/code&gt; executarà &lt;code&gt;npm install&lt;/code&gt; primer. Per a TypeScript, usa &lt;code&gt;npx tsx&lt;/code&gt; sense pas de compilació ni &lt;code&gt;tsconfig.json&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id="net"&gt;.NET&lt;/h3&gt;
&lt;p&gt;Dos modes disponibles:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Mode projecte&lt;/strong&gt;: Si hi ha un &lt;code&gt;.csproj&lt;/code&gt; al costat del script, &lt;code&gt;azd&lt;/code&gt; executa &lt;code&gt;dotnet restore&lt;/code&gt; i &lt;code&gt;dotnet build&lt;/code&gt; automàticament.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mode single-file&lt;/strong&gt;: En .NET 10+, pots posar un fitxer &lt;code&gt;.cs&lt;/code&gt; independent i s&amp;rsquo;executa directament amb &lt;code&gt;dotnet run script.cs&lt;/code&gt;. Sense fitxer de projecte.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="configuració-per-executor"&gt;Configuració per executor&lt;/h2&gt;
&lt;p&gt;Cada llenguatge admet un bloc &lt;code&gt;config&lt;/code&gt; opcional:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;hooks&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;preprovision&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;run&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;./hooks/setup.ts&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;config&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;packageManager&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;pnpm&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;postprovision&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;run&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;./hooks/migrate.cs&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;config&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;configuration&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Release&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;framework&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;net10.0&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="per-què-importa-per-a-desenvolupadors-net"&gt;Per què importa per a desenvolupadors .NET&lt;/h2&gt;
&lt;p&gt;Els hooks eren l&amp;rsquo;últim lloc d&amp;rsquo;un projecte basat en azd que t&amp;rsquo;obligava a usar un altre llenguatge. Ara tot el pipeline de desplegament pot viure en un sol llenguatge. Pots reutilitzar les teves utilitats .NET existents als hooks, referenciar llibreries compartides i evitar el manteniment de scripts de shell.&lt;/p&gt;
&lt;h2 id="conclusió"&gt;Conclusió&lt;/h2&gt;
&lt;p&gt;És un d&amp;rsquo;aquells canvis que semblen petits però que eliminen molta fricció del dia a dia amb azd. El suport multi-llenguatge per a hooks ja està disponible — consulta el &lt;a href="https://devblogs.microsoft.com/azure-sdk/azd-multi-language-hooks/"&gt;post oficial&lt;/a&gt; per a la documentació completa.&lt;/p&gt;</content:encoded></item><item><title>Aspire 13.2 obté MongoDB EF Core i Azure Data Lake: dues integracions que val la pena provar</title><link>https://thedotnetblog.com/ca/posts/emiliano-montesdeoca/aspire-132-mongodb-efcore-data-lake/</link><pubDate>Wed, 15 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ca/posts/emiliano-montesdeoca/aspire-132-mongodb-efcore-data-lake/</guid><description>Aspire 13.2 afegeix integracions MongoDB Entity Framework Core i Azure Data Lake Storage amb comprovacions de salut i descobriment de serveis sense configuració. Aquí teniu el que semblen a la pràctica.</description><content:encoded>&lt;p&gt;Aspire 13.2 acaba d&amp;rsquo;aterrar amb &lt;a href="https://devblogs.microsoft.com/aspire/aspire-new-database-integrations/"&gt;dues noves integracions de bases de dades&lt;/a&gt; que mereixen la vostra atenció: MongoDB Entity Framework Core i Azure Data Lake Storage. Si heu volgut utilitzar EF Core amb MongoDB en una aplicació Aspire o necessiteu connectar les càrregues de treball del llac de dades amb un descobriment de serveis adequat, aquesta versió ofereix tots dos.&lt;/p&gt;
&lt;h2 id="mongodb-compleix-ef-core-a-aspire"&gt;MongoDB compleix EF Core a Aspire&lt;/h2&gt;
&lt;p&gt;Aquest és el que m&amp;rsquo;emociona més. Aspire ha donat suport a MongoDB durant un temps, però sempre va ser el controlador en brut: sense EF Core, sense &lt;code&gt;DbContext&lt;/code&gt;, sense consultes LINQ als vostres documents. Ara teniu l&amp;rsquo;experiència completa d&amp;rsquo;EF Core amb MongoDB, a més de les comprovacions automàtiques de l&amp;rsquo;estat i el descobriment de serveis d&amp;rsquo;Aspire.&lt;/p&gt;
&lt;p&gt;Configurar-lo és el patró típic d&amp;rsquo;Aspire. Al vostre AppHost:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-csharp" data-lang="csharp"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kt"&gt;var&lt;/span&gt; &lt;span class="n"&gt;mongodb&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;builder&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;AddMongoDB&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;mongodb&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="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;WithDataVolume&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="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;WithLifetime&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ContainerLifetime&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Persistent&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&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kt"&gt;var&lt;/span&gt; &lt;span class="n"&gt;apiService&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;builder&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;AddProject&lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;Projects&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ApiService&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;api&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="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;WithReference&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;mongodb&lt;/span&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;p&gt;A continuació, al vostre projecte de consum, afegiu la integració d&amp;rsquo;EF Core:&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;dotnet add package Aspire.MongoDB.EntityFrameworkCore
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;I registre el teu &lt;code&gt;DbContext&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-csharp" data-lang="csharp"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;builder&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;AddMongoDbContext&lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;MyDbContext&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;mongodb&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;mydb&amp;#34;&lt;/span&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;p&gt;A partir d&amp;rsquo;aquí, és EF Core estàndard. Defineix les teves entitats, utilitza el teu &lt;code&gt;DbContext&lt;/code&gt; com ho faries amb qualsevol altre proveïdor. La integració gestiona l&amp;rsquo;agrupació de connexions, les traces d&amp;rsquo;OpenTelemetry i les comprovacions de salut darrere de les escenes.&lt;/p&gt;
&lt;p&gt;Per als desenvolupadors de.NET que han estat utilitzant MongoDB amb el controlador en brut i cablejat manualment les cadenes de connexió, aquesta és una bona actualització de qualitat de vida. Obteniu l&amp;rsquo;abstracció completa d&amp;rsquo;EF Core sense perdre el descobriment del servei d&amp;rsquo;Aspire.&lt;/p&gt;
&lt;h2 id="azure-data-lake-storage-suneix-a-la-festa"&gt;Azure Data Lake Storage s&amp;rsquo;uneix a la festa&lt;/h2&gt;
&lt;p&gt;La segona gran incorporació és una &lt;a href="https://aspire.dev/integrations/cloud/azure/azure-storage-datalake/"&gt;integració d&amp;rsquo;Azure Data Lake Storage (ADLS)&lt;/a&gt;. Si esteu creant canalitzacions de dades, processos ETL o plataformes d&amp;rsquo;anàlisi, ara podeu connectar els recursos de Data Lake de la mateixa manera que connectaríeu qualsevol altra dependència d&amp;rsquo;Aspire.&lt;/p&gt;
&lt;p&gt;A l&amp;rsquo;AppHost:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-csharp" data-lang="csharp"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kt"&gt;var&lt;/span&gt; &lt;span class="n"&gt;storage&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;builder&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;AddAzureStorage&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;azure-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="kt"&gt;var&lt;/span&gt; &lt;span class="n"&gt;dataLake&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;storage&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;AddDataLake&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;data-lake&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="kt"&gt;var&lt;/span&gt; &lt;span class="n"&gt;fileSystem&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;storage&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;AddDataLakeFileSystem&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;data-lake-file-system&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&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kt"&gt;var&lt;/span&gt; &lt;span class="n"&gt;analyticsService&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;builder&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;AddProject&lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;Projects&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;AnalyticsService&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;analytics&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="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;WithReference&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;dataLake&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="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;WithReference&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;fileSystem&lt;/span&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;p&gt;En el projecte de consum:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-csharp" data-lang="csharp"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;builder&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;AddAzureDataLakeServiceClient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;data-lake&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="n"&gt;builder&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;AddAzureDataLakeFileSystemClient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;data-lake-file-system&amp;#34;&lt;/span&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;p&gt;Sense gestió manual de cadenes de connexió, sense recerca de credencials. Aspire proporciona recursos i els injecta. Per a aquells de nosaltres que creem aplicacions.NET natives del núvol que toquen tant dades operatives com càrregues de treball d&amp;rsquo;anàlisi, això fa que el llac de dades se senti com un ciutadà de primera classe en el model Aspire.&lt;/p&gt;
&lt;h2 id="les-petites-solucions-que-importen"&gt;Les petites solucions que importen&lt;/h2&gt;
&lt;p&gt;Més enllà de les funcions dels titulars, hi ha algunes millores en la qualitat de vida que cal destacar:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Correcció de cadena de connexió MongoDB&lt;/strong&gt;: la barra inclinada abans del nom de la base de dades ara es gestiona correctament. Si heu treballat amb això, podeu eliminar aquesta solució&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Exporta SQL Server&lt;/strong&gt; — &lt;code&gt;Aspire.Hosting.SqlServer&lt;/code&gt; ara exporta opcions addicionals de configuració del servidor per a un control més detallat&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Actualitzacions de l&amp;rsquo;emulador&lt;/strong&gt;: l&amp;rsquo;emulador ServiceBus 2.0.0, l&amp;rsquo;emulador de configuració d&amp;rsquo;aplicacions 1.0.2 i l&amp;rsquo;emulador de vista prèvia de CosmosDB ara inclou una comprovació de la preparació&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Azure Managed Redis&lt;/strong&gt;: ara el valor predeterminat és &lt;code&gt;rediss://&lt;/code&gt; (Redis Secure), de manera que les connexions es xifren de manera immediata&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Aquest últim és subtil però important: Redis xifrat per defecte significa una cosa menys per configurar en producció.&lt;/p&gt;
&lt;h2 id="tancant"&gt;Tancant&lt;/h2&gt;
&lt;p&gt;Aspire 13.2 és una versió incremental, però les integracions MongoDB EF Core i Data Lake omplen buits reals. Si estàveu esperant el suport adequat d&amp;rsquo;EF Core amb MongoDB a Aspire, o necessiteu que Data Lake sigui una dependència de primera classe, &lt;a href="https://get.aspire.dev"&gt;actualitzeu a 13.2&lt;/a&gt; i feu-los una volta. L&amp;rsquo;ordre &lt;code&gt;aspire add&lt;/code&gt; inclou tot el que necessiteu.&lt;/p&gt;
&lt;p&gt;Llegiu les &lt;a href="https://aspire.dev/whats-new/aspire-13-2/#-integrations-updates"&gt;notes completes de la versió&lt;/a&gt; per obtenir més detalls i consulteu la &lt;a href="https://aspire.dev/integrations/gallery/"&gt;galeria d&amp;rsquo;integració&lt;/a&gt; per obtenir la llista completa.&lt;/p&gt;</content:encoded></item><item><title>Azure Smart Tier és GA: optimització automàtica de costos d'emmagatzematge de blob sense regles de cicle de vida</title><link>https://thedotnetblog.com/ca/posts/emiliano-montesdeoca/azure-smart-tier-blob-storage-ga/</link><pubDate>Wed, 15 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ca/posts/emiliano-montesdeoca/azure-smart-tier-blob-storage-ga/</guid><description>El nivell intel·ligent d'Azure Blob Storage ara està disponible en general, movent els objectes automàticament entre els nivells calents, freds i freds en funció dels patrons d'accés reals; no calen regles de cicle de vida.</description><content:encoded>&lt;p&gt;Si alguna vegada heu passat temps ajustant les polítiques de cicle de vida d&amp;rsquo;Azure Blob Storage i després heu vist com es van trencar quan els patrons d&amp;rsquo;accés canviaven, aquesta és la vostra. Microsoft acaba d&amp;rsquo;anunciar la &lt;a href="https://azure.microsoft.com/en-us/blog/optimize-object-storage-costs-automatically-with-smart-tier-now-generally-available/"&gt;disponibilitat general del nivell intel·ligent&lt;/a&gt; per a Azure Blob i Data Lake Storage: una capacitat de nivells totalment gestionada que mou automàticament objectes entre nivells calents, freds i freds en funció de l&amp;rsquo;ús real.&lt;/p&gt;
&lt;h2 id="què-fa-realment-el-nivell-intelligent"&gt;Què fa realment el nivell intel·ligent&lt;/h2&gt;
&lt;p&gt;El concepte és senzill: el nivell intel·ligent avalua contínuament el darrer temps d&amp;rsquo;accés de cada objecte al vostre compte d&amp;rsquo;emmagatzematge. Les dades a les quals s&amp;rsquo;accedeix amb freqüència es mantenen en calent, les dades inactives es mouen per refredar-se després de 30 dies i després a fred després de 60 dies més. Quan s&amp;rsquo;accedeix de nou a les dades, es torna a activar immediatament. El cicle es reinicia.&lt;/p&gt;
&lt;p&gt;No hi ha regles de cicle de vida per configurar. No hi ha prediccions de patrons d&amp;rsquo;accés. Sense sintonització manual.&lt;/p&gt;
&lt;p&gt;Durant la previsualització, Microsoft va informar que &lt;strong&gt;més del 50% de la capacitat gestionada per nivells intel·ligents es va canviar automàticament a nivells més freds&lt;/strong&gt; en funció dels patrons d&amp;rsquo;accés reals. Això suposa una reducció de costos significativa per als comptes d&amp;rsquo;emmagatzematge grans.&lt;/p&gt;
&lt;h2 id="per-què-això-és-important-per-als-desenvolupadors-denet"&gt;Per què això és important per als desenvolupadors de.NET&lt;/h2&gt;
&lt;p&gt;Si esteu creant aplicacions que generen registres, telemetria, dades analítiques o qualsevol tipus de fons de dades en creixement, i sincerament, qui no, els costos d&amp;rsquo;emmagatzematge s&amp;rsquo;acumulen ràpidament. L&amp;rsquo;enfocament tradicional era escriure polítiques de gestió del cicle de vida, provar-les i tornar-les a ajustar quan canviaven els patrons d&amp;rsquo;accés de la vostra aplicació. El nivell intel·ligent elimina tot aquest flux de treball.&lt;/p&gt;
&lt;p&gt;Alguns escenaris pràctics on això ajuda:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Telemetria i registres d&amp;rsquo;aplicacions&lt;/strong&gt;: calent durant la depuració, rarament s&amp;rsquo;hi accedeix després d&amp;rsquo;unes setmanes&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Conductes de dades i sortides d&amp;rsquo;ETL&lt;/strong&gt;: s&amp;rsquo;hi accedeix molt durant el processament, després principalment en fred&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Contingut generat per l&amp;rsquo;usuari&lt;/strong&gt;: les càrregues recents són interessants, el contingut més antic es refreda gradualment&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Còpia de seguretat i dades d&amp;rsquo;arxiu&lt;/strong&gt;: s&amp;rsquo;accedeix de tant en tant per complir-ho, principalment inactiu&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="configurant-lo"&gt;Configurant-lo&lt;/h2&gt;
&lt;p&gt;Habilitar el nivell intel·ligent és una configuració única:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Comptes nous&lt;/strong&gt;: seleccioneu el nivell intel·ligent com a nivell d&amp;rsquo;accés predeterminat durant la creació del compte d&amp;rsquo;emmagatzematge (es requereix redundància zonal)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Comptes existents&lt;/strong&gt;: canvieu el nivell d&amp;rsquo;accés a blob del nivell predeterminat actual al nivell intel·ligent&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Els objectes de menys de 128 KiB es mantenen en calent i no incorren en la taxa de supervisió. Per a la resta, pagueu tarifes estàndard de capacitat calenta/fresca/fred sense càrrecs de transició de nivell, sense despeses d&amp;rsquo;eliminació anticipada i sense costos de recuperació de dades. Una quota de seguiment mensual per objecte cobreix l&amp;rsquo;orquestració.&lt;/p&gt;
&lt;h2 id="la-compensació-a-conèixer"&gt;La compensació a conèixer&lt;/h2&gt;
&lt;p&gt;Les regles de classificació del nivell intel·ligent són estàtiques (30 dies → fred, 90 dies → fred). Si necessiteu llindars personalitzats (per exemple, passar a la refrigeració després de 7 dies per a una càrrega de treball específica), les regles del cicle de vida encara són el camí a seguir. I no barregeu les dues coses: eviteu utilitzar regles de cicle de vida en objectes gestionats per nivell intel·ligent, ja que poden entrar en conflicte.&lt;/p&gt;
&lt;h2 id="tancant"&gt;Tancant&lt;/h2&gt;
&lt;p&gt;Això no és revolucionari, però soluciona un autèntic mal de cap operatiu. Si gestioneu comptes d&amp;rsquo;emmagatzematge de blobs en creixement i esteu cansat de mantenir polítiques de cicle de vida, &lt;a href="https://learn.microsoft.com/en-us/azure/storage/blobs/access-tiers-smart"&gt;habilita el nivell intel·ligent&lt;/a&gt; i deixeu que Azure s&amp;rsquo;encarregui. Actualment està disponible a gairebé totes les regions de núvol públic de zona.&lt;/p&gt;</content:encoded></item><item><title>On hauríeu d'allotjar els vostres agents d'IA a Azure? Una guia pràctica de decisions</title><link>https://thedotnetblog.com/ca/posts/emiliano-montesdeoca/azure-ai-agent-hosting-options-guide/</link><pubDate>Wed, 15 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ca/posts/emiliano-montesdeoca/azure-ai-agent-hosting-options-guide/</guid><description>Azure ofereix sis maneres d'allotjar agents d'IA: des de contenidors en brut fins a agents allotjats de Foundry totalment gestionats. A continuació s'explica com triar l'adequat per a la vostra càrrega de treball.NET.</description><content:encoded>&lt;p&gt;Si esteu creant agents d&amp;rsquo;IA amb.NET ara mateix, probablement heu notat alguna cosa: hi ha * moltes * maneres d&amp;rsquo;allotjar-los a Azure. Container Apps, AKS, Functions, App Service, Foundry Agents, Foundry Hosted Agents, i tots semblen raonables fins que realment n&amp;rsquo;has de triar un. Microsoft acaba de publicar una &lt;a href="https://devblogs.microsoft.com/all-things-azure/hostedagent/"&gt;guia completa per a l&amp;rsquo;allotjament d&amp;rsquo;agents d&amp;rsquo;Azure AI&lt;/a&gt; que ho aclareix, i vull desglossar-ho des d&amp;rsquo;una perspectiva pràctica del desenvolupador.NET.&lt;/p&gt;
&lt;h2 id="les-sis-opcions-dun-cop-dull"&gt;Les sis opcions d&amp;rsquo;un cop d&amp;rsquo;ull&lt;/h2&gt;
&lt;p&gt;Així és com resumiria el paisatge:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Opció&lt;/th&gt;
&lt;th&gt;El millor per&lt;/th&gt;
&lt;th&gt;Tu gestiones&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Aplicacions de contenidors&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Control total del contenidor sense complexitat K8s&lt;/td&gt;
&lt;td&gt;Observabilitat, estat, cicle de vida&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AKS&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Compliment empresarial, multi-clúster, xarxes personalitzades&lt;/td&gt;
&lt;td&gt;Tot (aquest és el punt)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Funcions d&amp;rsquo;Azure&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Tasques d&amp;rsquo;agent de curta durada i impulsades per esdeveniments&lt;/td&gt;
&lt;td&gt;No gaire, veritat sense servidor&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Servei d&amp;rsquo;aplicacions&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Agents HTTP simples, trànsit previsible&lt;/td&gt;
&lt;td&gt;Desplegament, configuració d&amp;rsquo;escalat&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Agents de Foundry&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Agents opcionals de codi a través del portal/SDK&lt;/td&gt;
&lt;td&gt;Gairebé res&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Agents allotjats de Foundry&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Agents de marc personalitzats amb infraestructures gestionades&lt;/td&gt;
&lt;td&gt;Només el vostre codi d&amp;rsquo;agent&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Els quatre primers són càlculs de propòsit general: &lt;em&gt;podeu&lt;/em&gt; executar-hi agents, però no estaven dissenyats per a això. Els dos últims són nadius dels agents: entenen les converses, les trucades d&amp;rsquo;eines i els cicles de vida dels agents com a conceptes de primera classe.&lt;/p&gt;
&lt;h2 id="foundry-hosted-agents-el-lloc-ideal-per-als-desenvolupadors-dagentsnet"&gt;Foundry Hosted Agents: el lloc ideal per als desenvolupadors d&amp;rsquo;agents.NET&lt;/h2&gt;
&lt;p&gt;Aquí és el que em va cridar l&amp;rsquo;atenció. Els agents allotjats de Foundry se situen al centre: teniu la flexibilitat d&amp;rsquo;executar el vostre propi codi (nucli semàntic, marc d&amp;rsquo;agents, LangGraph, el que sigui), però la plataforma gestiona la infraestructura, l&amp;rsquo;observabilitat i la gestió de converses.&lt;/p&gt;
&lt;p&gt;La peça clau és l&amp;rsquo;&lt;strong&gt;Adaptador d&amp;rsquo;allotjament&lt;/strong&gt;: una capa d&amp;rsquo;abstracció fina que connecta el vostre marc d&amp;rsquo;agent amb la plataforma Foundry. Per a Microsoft Agent Framework, té aquest aspecte:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;azure.ai.agentserver.agentframework&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;from_agent_framework&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;agent&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;ChatAgent&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="n"&gt;chat_client&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;AzureAIAgentClient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&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="n"&gt;instructions&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;You are a helpful assistant.&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="n"&gt;tools&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;get_local_time&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="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="vm"&gt;__name__&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;__main__&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="n"&gt;from_agent_framework&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;agent&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;run&lt;/span&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;p&gt;Aquesta és tota la vostra història d&amp;rsquo;allotjament. L&amp;rsquo;adaptador gestiona la traducció del protocol, la transmissió mitjançant esdeveniments enviats pel servidor, l&amp;rsquo;historial de converses i el seguiment d&amp;rsquo;OpenTelemetry, tot automàticament. Sense programari intermedi personalitzat, sense fontaneria manual.&lt;/p&gt;
&lt;h2 id="el-desplegament-és-realment-senzill"&gt;El desplegament és realment senzill&lt;/h2&gt;
&lt;p&gt;Abans he desplegat agents a Container Apps i funciona, però acabeu escrivint molt codi de cola per a la gestió de l&amp;rsquo;estat i l&amp;rsquo;observabilitat. Amb Hosted Agents i &lt;code&gt;azd&lt;/code&gt;, el desplegament és:&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;&lt;span class="c1"&gt;# Install the AI agent extension&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;azd ext install azure.ai.agents
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Init from a template&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;azd ai agent init
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Build, push, deploy — done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;azd up
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Aquest únic &lt;code&gt;azd up&lt;/code&gt; crea el vostre contenidor, l&amp;rsquo;envia a ACR, subministra el projecte Foundry, desplega els punts finals del model i inicia el vostre agent. Cinc passos es van col·lapsar en una ordre.&lt;/p&gt;
&lt;h2 id="gestió-de-converses-integrada"&gt;Gestió de converses integrada&lt;/h2&gt;
&lt;p&gt;Aquesta és la peça que estalvia més temps en la producció. En lloc de crear el vostre propi magatzem d&amp;rsquo;estat de conversa, els agents allotjats ho gestionen de manera nativa:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Create a persistent conversation&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;conversation&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;openai_client&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;conversations&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;create&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&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# First turn&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;response1&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;openai_client&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;responses&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;create&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="n"&gt;conversation&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;conversation&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;id&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="n"&gt;extra_body&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;agent_reference&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;MyAgent&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;agent_reference&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="nb"&gt;input&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;Remember: my favorite number is 42.&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="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Second turn — context is preserved&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;response2&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;openai_client&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;responses&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;create&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="n"&gt;conversation&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;conversation&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;id&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="n"&gt;extra_body&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;agent_reference&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;MyAgent&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;agent_reference&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="nb"&gt;input&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;Multiply my favorite number by 10.&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="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;No Redis. No hi ha botiga de sessions de Cosmos DB. No hi ha programari intermediari personalitzat per a la serialització de missatges. La plataforma només ho gestiona.&lt;/p&gt;
&lt;h2 id="el-meu-marc-de-decisió"&gt;El meu marc de decisió&lt;/h2&gt;
&lt;p&gt;Després de revisar les sis opcions, aquí teniu el meu model mental ràpid:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Necessites zero infraestructura?&lt;/strong&gt; → Agents de Foundry (portal/SDK, sense contenidors)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tens un codi d&amp;rsquo;agent personalitzat però vols un allotjament gestionat?&lt;/strong&gt; → Agents allotjats de Foundry&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Necessiteu tasques d&amp;rsquo;agent de curta durada i basades en esdeveniments?&lt;/strong&gt; → Azure Functions&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Necessites el màxim control dels contenidors sense K8?&lt;/strong&gt; → Aplicacions de contenidors&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Necessites un compliment estricte i múltiples clústers?&lt;/strong&gt; → AKS&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Teniu un agent HTTP senzill amb trànsit previsible?&lt;/strong&gt; → Servei d&amp;rsquo;aplicacions&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Per a la majoria de desenvolupadors de.NET que creen amb Semantic Kernel o Microsoft Agent Framework, Hosted Agents és probablement el punt de partida adequat. Obteniu una escala a zero, OpenTelemetry integrada, gestió de converses i flexibilitat de marc, sense gestionar Kubernetes ni connectar la vostra pròpia pila d&amp;rsquo;observabilitat.&lt;/p&gt;
&lt;h2 id="tancant"&gt;Tancant&lt;/h2&gt;
&lt;p&gt;El paisatge d&amp;rsquo;allotjament d&amp;rsquo;agents a Azure està madurant ràpidament. Si inicieu un nou projecte d&amp;rsquo;agent d&amp;rsquo;IA avui, m&amp;rsquo;agradaria considerar seriosament els agents allotjats de Foundry abans d&amp;rsquo;arribar a Container Apps o AKS per costum. La infraestructura gestionada estalvia temps real i el patró de l&amp;rsquo;adaptador d&amp;rsquo;allotjament us permet mantenir la vostra elecció de marc.&lt;/p&gt;
&lt;p&gt;Consulteu la &lt;a href="https://devblogs.microsoft.com/all-things-azure/hostedagent/"&gt;guia completa de Microsoft&lt;/a&gt; i el &lt;a href="https://github.com/microsoft-foundry/foundry-samples/tree/main/samples/python/hosted-agents"&gt;repositori de mostres de Foundry&lt;/a&gt; per obtenir exemples de treball.&lt;/p&gt;</content:encoded></item><item><title>KubeCon Europe 2026: què haurien de preocupar-se realment als desenvolupadors.NET</title><link>https://thedotnetblog.com/ca/posts/emiliano-montesdeoca/kubecon-2026-aks-updates-dotnet-developers/</link><pubDate>Sun, 29 Mar 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ca/posts/emiliano-montesdeoca/kubecon-2026-aks-updates-dotnet-developers/</guid><description>Microsoft va deixar caure un mur d'anuncis de Kubernetes a KubeCon Europe 2026. Aquí teniu la versió filtrada: només les actualitzacions AKS i natives del núvol que importen si envieu aplicacions.NET.</description><content:encoded>&lt;p&gt;Coneixes aquesta sensació quan cau una publicació d&amp;rsquo;anunci massiva i t&amp;rsquo;estàs desplaçant per ella pensant &amp;ldquo;genial, però què canvia això realment per a mi&amp;rdquo;? Soc jo cada temporada de la KubeCon.&lt;/p&gt;
&lt;p&gt;Microsoft acaba de publicar &lt;a href="https://opensource.microsoft.com/blog/2026/03/24/whats-new-with-microsoft-in-open-source-and-kubernetes-at-kubecon-cloudnativecon-europe-2026/"&gt;el seu resum complet de KubeCon Europe 2026&lt;/a&gt;, escrit pel mateix Brendan Burns, i sincerament? Aquí hi ha substància real. No només inclouen les caselles de selecció, sinó també el tipus de millores operatives que canvien la manera d&amp;rsquo;executar les coses en producció.&lt;/p&gt;
&lt;p&gt;Permeteu-me desglossar el que realment importa per als desenvolupadors de.NET.&lt;/p&gt;
&lt;h2 id="mtls-sense-limpost-de-malla-de-servei"&gt;mTLS sense l&amp;rsquo;impost de malla de servei&lt;/h2&gt;
&lt;p&gt;Això és el que passa amb les malles de servei: tothom vol les garanties de seguretat, ningú vol la sobrecàrrega operativa. AKS finalment està tancant aquesta bretxa.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://aka.ms/aks/application-network"&gt;Azure Kubernetes Application Network&lt;/a&gt; us ofereix TLS mutu, autorització conscient de l&amp;rsquo;aplicació i telemetria de trànsit, sense desplegar una malla plena de sidecars. Combinat amb &lt;a href="https://aka.ms/acns/cilium-mtls"&gt;Cilium mTLS a Advanced Container Networking Services&lt;/a&gt;, obteniu una comunicació xifrada de pod a pod mitjançant certificats X.509 i SPIRE per a la gestió d&amp;rsquo;identitats.&lt;/p&gt;
&lt;p&gt;Què significa això a la pràctica: les vostres API ASP.NET Core parlen amb treballadors en segon pla, els vostres serveis gRPC es trucen entre ells, tot xifrat i verificat per la identitat a nivell de xarxa, sense canvis en el codi de l&amp;rsquo;aplicació. Això és enorme.&lt;/p&gt;
&lt;p&gt;Per als equips que migren des de &lt;code&gt;ingress-nginx&lt;/code&gt;, també hi ha &lt;a href="https://aka.ms/aks/app-routing/gateway-api"&gt;Application Routing with Meshless Istio&lt;/a&gt; amb suport complet de l&amp;rsquo;API de Kubernetes Gateway. Sense sidecars. Basat en estàndards. I van enviar eines &lt;code&gt;ingress2gateway&lt;/code&gt; per a la migració incremental.&lt;/p&gt;
&lt;h2 id="observabilitat-de-la-gpu-que-no-és-una-idea-posterior"&gt;Observabilitat de la GPU que no és una idea posterior&lt;/h2&gt;
&lt;p&gt;Si utilitzeu una inferència d&amp;rsquo;IA juntament amb els vostres serveis.NET (i siguem sincers, qui no comença a fer-ho?), probablement heu arribat al punt cec de supervisió de la GPU. Obtindreu grans taulers de CPU/memòria i després&amp;hellip; res per a les GPU sense una fontaneria d&amp;rsquo;exportació manual.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://aka.ms/aks/managed-gpu-metrics"&gt;AKS ara mostra les mètriques de la GPU de manera nativa&lt;/a&gt; a Prometheus i Grafana gestionats. Mateixa pila, mateixos taulers de comandament, mateix canal d&amp;rsquo;alertes. Sense exportadors personalitzats, ni agents de tercers.&lt;/p&gt;
&lt;p&gt;Al costat de la xarxa, van afegir visibilitat per flux per al trànsit HTTP, gRPC i Kafka amb una &lt;a href="https://learn.microsoft.com/en-us/azure/aks/container-network-observability-logs"&gt;experiència d&amp;rsquo;Azure Monitor amb un sol clic&lt;/a&gt;. IP, ports, càrregues de treball, direcció del flux, decisions polítiques, tot en taulers integrats.&lt;/p&gt;
&lt;p&gt;I aquesta és la que m&amp;rsquo;ha fet fer una doble presa: &lt;a href="https://learn.microsoft.com/en-us/azure/aks/advanced-container-networking-services-overview"&gt;xarxa de contenidors agent&lt;/a&gt; afegeix una interfície d&amp;rsquo;usuari web on podeu fer preguntes en llenguatge natural sobre l&amp;rsquo;estat de la xarxa del vostre clúster. &amp;ldquo;Per què el pod X no arriba al servei Y?&amp;rdquo; → diagnòstics de només lectura de la telemetria en directe. Això és realment útil a les 2 del matí.&lt;/p&gt;
&lt;h2 id="xarxes-entre-clústers-que-no-requereixen-un-doctorat"&gt;Xarxes entre clústers que no requereixen un doctorat&lt;/h2&gt;
&lt;p&gt;Històricament, Kubernetes multiclúster ha estat una experiència de &amp;ldquo;porta la teva pròpia cola de xarxa&amp;rdquo;. Azure Kubernetes Fleet Manager ara s&amp;rsquo;envia &lt;a href="https://aka.ms/kubernetes-fleet/networking/cross-cluster"&gt;xarxes entre clústers&lt;/a&gt; mitjançant la malla de clúster de Cilium gestionada:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Connectivitat unificada entre clústers AKS&lt;/li&gt;
&lt;li&gt;Registre global de serveis per a la descoberta entre clústers&lt;/li&gt;
&lt;li&gt;Configuració gestionada de manera centralitzada, no repetida per clúster&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si utilitzeu microserveis.NET en diferents regions per a la seva resiliència o compliment, això substitueix una gran quantitat de fontaneria personalitzada fràgil. El servei A a l&amp;rsquo;oest d&amp;rsquo;Europa pot descobrir i trucar al servei B a l&amp;rsquo;est dels EUA a través de la malla, amb polítiques d&amp;rsquo;encaminament i seguretat coherents.&lt;/p&gt;
&lt;h2 id="actualitzacions-que-no-requereixen-valentia"&gt;Actualitzacions que no requereixen valentia&lt;/h2&gt;
&lt;p&gt;Siguem sincers: les actualitzacions de Kubernetes en producció són estressants. &amp;ldquo;Actualitzar i esperar&amp;rdquo; ha estat l&amp;rsquo;estratègia de facto per a massa equips, i és el principal motiu pel qual els clústers es queden endarrerits en les versions.&lt;/p&gt;
&lt;p&gt;Dues noves capacitats canvien això:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Les actualitzacions del grup d&amp;rsquo;agents blau-verd&lt;/strong&gt; creen un grup de nodes paral·lels amb la nova configuració. Valideu el comportament, canvieu el trànsit gradualment i manteniu un camí de retrocés net. No més mutacions in situ als nodes de producció.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;La recuperació de l&amp;rsquo;agrupació d&amp;rsquo;agents&lt;/strong&gt; us permet revertir una agrupació de nodes a la seva versió anterior de Kubernetes i a la imatge de node després d&amp;rsquo;una actualització de costat, sense haver de reconstruir el clúster.&lt;/p&gt;
&lt;p&gt;En conjunt, finalment donen als operadors un control real sobre el cicle de vida de l&amp;rsquo;actualització. Per als equips.NET, això és important perquè la velocitat de la plataforma controla directament la rapidesa amb què podeu adoptar nous temps d&amp;rsquo;execució, pedaços de seguretat i capacitats de xarxa.&lt;/p&gt;
&lt;h2 id="les-càrregues-de-treball-dia-sestan-convertint-en-ciutadans-de-primer-nivell-de-kubernetes"&gt;Les càrregues de treball d&amp;rsquo;IA s&amp;rsquo;estan convertint en ciutadans de primer nivell de Kubernetes&lt;/h2&gt;
&lt;p&gt;El treball de codi obert amunt és igual d&amp;rsquo;important. L&amp;rsquo;assignació dinàmica de recursos (DRA) acaba de passar a GA a Kubernetes 1.36, fent que la programació de la GPU sigui una funció adequada de primera classe en lloc d&amp;rsquo;una solució alternativa.&lt;/p&gt;
&lt;p&gt;Alguns projectes que val la pena veure:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Projecte&lt;/th&gt;
&lt;th&gt;Què fa&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/kaito-project/kubeairunway"&gt;AI Runway&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;API comuna de Kubernetes per a la inferència: implementeu models sense conèixer els K8, amb el descobriment d&amp;rsquo;HuggingFace i les estimacions de costos&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://www.cncf.io/blog/2026/01/07/holmesgpt-agentic-troubleshooting-built-for-the-cloud-native-era/"&gt;HolmesGPT&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Resolució de problemes d&amp;rsquo;agent per als nadius del núvol: ara un projecte Sandbox CNCF&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/project-dalec/dalec"&gt;Dalec&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;La imatge de contenidor declarativa es construeix amb la generació SBOM: menys CVE en l&amp;rsquo;etapa de creació&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;La direcció és clara: la vostra API.NET, la vostra capa d&amp;rsquo;orquestració del nucli semàntic i les vostres càrregues de treball d&amp;rsquo;inferència s&amp;rsquo;han d&amp;rsquo;executar en un model de plataforma coherent. Hi arribem.&lt;/p&gt;
&lt;h2 id="per-on-començaria-aquesta-setmana"&gt;Per on començaria aquesta setmana&lt;/h2&gt;
&lt;p&gt;Si esteu avaluant aquests canvis per al vostre equip, aquí teniu la meva llista de prioritats honesta:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Observabilitat primer&lt;/strong&gt;: activeu les mètriques de la GPU i els registres de flux de xarxa en un clúster que no sigui de producte. Mira què t&amp;rsquo;has perdut.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Proveu les actualitzacions blau-verd&lt;/strong&gt;: proveu el flux de treball de retrocés abans de la propera actualització del clúster de producció. Generar confiança en el procés.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pilota de xarxes conscients de la identitat&lt;/strong&gt;: trieu una ruta de servei interna i activeu mTLS amb Cilium. Mesureu la sobrecàrrega (spoiler: és mínim).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Avalueu el gestor de flotes&lt;/strong&gt;: si executeu més de dos clústers, la xarxa entre clústers es compensa amb una cola personalitzada reduïda.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Petits experiments, feedback ràpid. Aquest és sempre el moviment.&lt;/p&gt;
&lt;h2 id="tancant"&gt;Tancant&lt;/h2&gt;
&lt;p&gt;Els anuncis de KubeCon poden ser aclaparadors, però aquest lot realment mou l&amp;rsquo;agulla dels equips.NET a AKS. Millor seguretat de xarxes sense sobrecàrrega de malla, observabilitat real de la GPU, actualitzacions més segures i bases d&amp;rsquo;infraestructura d&amp;rsquo;IA més sòlides.&lt;/p&gt;
&lt;p&gt;Si ja esteu a AKS, aquest és un bon moment per endurir la vostra línia de base operativa. I si teniu previst traslladar les càrregues de treball.NET a Kubernetes, la plataforma s&amp;rsquo;acaba de preparar molt més per a la producció.&lt;/p&gt;</content:encoded></item></channel></rss>