Deprecated: Creation of dynamic property Timber\Site::$pingback is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Site.php on line 180

Deprecated: Creation of dynamic property Timber\User::$name is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/User.php on line 118

Deprecated: Creation of dynamic property Timber\Post::$has_disclaimer is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_edit_lock is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_edit_last is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_thumbnail_id is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$onesignal_meta_box_present is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$onesignal_send_notification is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$onesignal_modify_title_and_content is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$onesignal_notification_custom_heading is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$onesignal_notification_custom_content is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$tipologia is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_tipologia is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$attributi is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_attributi is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$in_evidenza_newsletter is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_in_evidenza_newsletter is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$inviato_in_newsletter is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_inviato_in_newsletter is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_category is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_blz_affiliation_attributes is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_content_type is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_attributes is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_speciali is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_focuskw is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_metadesc is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_linkdex is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_content_score is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_focuskeywords is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_keywordsynonyms is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_estimated-reading-time-minutes is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$response_body is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$status is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_indexnow_last_ping is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$newsletter_subject is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_newsletter_subject is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$newsletter_summary is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_newsletter_summary is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_date_gmt is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$comment_status is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$ping_status is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_password is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_name is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$to_ping is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$pinged is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_modified is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_modified_gmt is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_content_filtered is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$guid is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$menu_order is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_mime_type is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$comment_count is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$filter is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71
Amazon: passare a Linux per risparmiare sui costi. Ecco come con le app .NET | IlSoftware.it

Amazon: passare a Linux per risparmiare sui costi. Ecco come con le app .NET

Amazon AWS spiega i benefici della migrazione a Linux, evidenziando la significativa riduzione dei costi di licenza. Gli strumenti per passare a Linux e migrare le proprie applicazioni .NET.

.NET è un framework di sviluppo creato da Microsoft, inizialmente lanciato nel 2002, concepito principalmente per supportare le applicazioni Windows. Come abbiamo spiegato nell’articolo sulle differenze tra le versioni di .NET, nel corso degli anni Microsoft ha riconosciuto l’importanza della compatibilità cross-platform. A partire dal 2016, con il rilascio di .NET Core, l’azienda di Redmond ha virato sul concetto di multipiattaforma, consentendo la creazione di applicazioni in grado di funzionare non solo su Windows, ma anche su macOS e Linux.

A partire poi da .NET 5 (novembre 2020), Microsoft ha unito .NET Core e .NET Framework in una singola piattaforma, continuando a supportare lo sviluppo cross-platform. Grazie a quella innovazione, i programmatori hanno finalmente potuto beneficiare della possibilità di scrivere codice capace di funzionare allo stesso modo su desktop, server, mobile o cloud, così come su Windows, Linux, macOS, Android e iOS. Il balzo in avanti sul piano delle prestazioni ha permesso di consegnare agli utenti applicazioni moderne in grado di assicurare esperienze d’uso fluide e appaganti.

Amazon AWS insegna a passare a Linux

I tecnici di Amazon AWS spiegano che oggi, una delle motivazioni principali per migrare le applicazioni .NET Framework a una versione moderna di .NET, è la possibilità di ridurre i costi di licenza di Windows, eseguendo le applicazioni su un sistema operativo GNU/Linux. Utilizzare Linux consente infatti di abbattere significativamente i costi di licenza, che su Windows possono risultare elevati.

Nel documento Refactor to modern .NET and move to Linux, Amazon cita un esempio pratico: l’istanza m5.xlarge di un server cloud con 4 vCPU e 16 GB di memoria RAM, creata sulla piattaforma AWS, costa circa 275 dollari al mese se basata su Windows Server. Scegliendo Linux, pur mantenendo le medesime risorse hardware, il costo mensile scende a poco più di 140 dollari.

La riduzione dei costi del 50% non può non fungere da sprone, per tante realtà professionali e aziendali, a migrare le applicazioni basate su .NET Framework verso una versione moderna della piattaforma .NET, per poi eseguirle su una macchina Linux. A maggior ragione, se già si utilizzassero applicazioni basate su .NET Core o su .NET 6+, secondo Amazon non vi sarebbe motivo per restare ancora ancorati a Windows Server e pagare inutilmente per i costi di licenza.

I benefici della migrazione a .NET moderno

Una delle motivazioni principali per migrare le applicazioni .NET Framework a una versione moderna di .NET è, come abbiamo già rimarcato, la possibilità di ridurre i costi di licenza di Windows, eseguendo le applicazioni su un sistema Linux.

Le versioni recenti di .NET supportano inoltre molti più linguaggi di programmazione, inclusi C# e F#, ed offrono prestazioni migliorate – grazie anche a una più efficiente gestione del codice – rispetto alle versioni precedenti del framework.

È importante tenere presente che le versioni moderne di .NET sono progettate per ottimizzare le prestazioni quando eseguite su piattaforme Linux. Questo consente alle applicazioni di ottenere un rendimento superiore, in particolare su server con risorse limitate.

Il passaggio alle release supportate di .NET consente anche di migliorare l’aspetto della sicurezza: l’assenza di supporto da parte di Microsoft per le versioni più vecchie, come .NET Framework 4.5.2, 4.6 e 4.6.1, rappresenta un grave rischio. Vulnerabilità non più corrette nelle versioni precedenti espongono le applicazioni a potenziali attacchi.

Come passare a Linux con Amazon Porting Assistant per .NET e Amazon Q Developer

Amazon Porting Assistant per .NET e Amazon Q Developer sono strumenti progettati da AWS per facilitare la migrazione delle applicazioni, ma hanno obiettivi e funzionalità distinti.

Come spieghiamo nel seguito, mentre Amazon Porting Assistant per .NET è focalizzato sulla migrazione verso AWS e sulla compatibilità con .NET Core, Amazon Q Developer si concentra sulla trasformazione delle applicazioni .NET per garantire piena compatibilità con Linux, sfruttando l’intelligenza artificiale per automatizzare molti aspetti del processo.

Cos’è e come funziona Amazon Porting Assistant per .NET

Amazon Porting Assistant è uno strumento software pensato per semplificare la transazione verso .NET Core. In particolare, facilita il processo di porting delle applicazioni esistenti per renderle compatibili e ottimizzate per l’ambiente cloud di AWS.

AWS Porting Assistant per .NET Amazon

L’applicazione scansiona i progetti .NET esistenti per identificare le parti del codice che necessitano di essere modificate o aggiornate. Fornisce inoltre raccomandazioni su come sostituire API  (Application Programming Interfaces) obsolete e adattare il codice per sfruttare le migliori pratiche AWS. Integra infine funzionalità automatizzate per convertire porzioni di codice e generare report sul lavoro da svolgere.

Amazon Q Developer utilizza l’AI per facilitare l’aggiornamento delle applicazioni .NET

Con Amazon Q Developer, AWS mira ad offrire agli sviluppatori una soluzione innovativa per il porting delle applicazioni .NET basate su Windows verso applicazioni compatibili con Linux, utilizzando un refactoring alimentato dall’intelligenza artificiale generativa.

Oltre a consentire la migrazione delle applicazioni verso le più recenti versioni di .NET, Amazon Q aiuta anche nell’aggiornamento delle versioni obsolete delle applicazioni .NET, portandole a versioni più aggiornate e compatibili con un maggior numero di piattaforme.

Amazon Q Developer

Il processo di trasformazione di una soluzione o di un progetto .NET con Amazon Q è un percorso strutturato che inizia con un’analisi approfondita del codice base. Amazon Q esamina il codice e identifica le modifiche necessarie per adattare l’applicazione a Linux. Il sistema genera quindi un piano di trasformazione, suddividendo il progetto in gruppi di codice che possono essere via via visualizzati. Un “gruppo di codice” si riferisce a un progetto e a tutte le sue dipendenze che insieme generano un’unità di codice compilabile, come una libreria a collegamento dinamico (DLL) o un eseguibile.

È interessante evidenziare che, una volta completata la trasformazione, Amazon Q fornisce un riepilogo delle modifiche proposte in un formato di confronto (diff): lo sviluppatore può esaminarle e verificarle attentamente prima di accettarle.

Credit immagine in apertura: iStock.com – ATHVisions

Ti consigliamo anche

Link copiato negli appunti