Cos'è la modernizzazione delle applicazioni .NET?

Copia URL

.NET (nota in precedenza come .NET Core) è una piattaforma di sviluppo open source per la creazione di applicazioni multipiattaforma destinate a console e cloud eseguibili su Linux e Windows.

.NET include tre piattaforme che consentono l'esecuzione del codice .NET in diverse ubicazioni: .NET Core, .NET Framework e Xamarin/Mono. .NET Core è l'implementazione multipiattaforma che può essere eseguita su Windows, Linux e macOS. .NET Framework è l'implementazione originale di .NET che supporta l'esecuzione di siti web, servizi, app per desktop e altro su Windows. Xamarin/Mono è la versione di .NET per gli ambienti mobile che esegue le app su tutti i principali sistemi operativi mobile, incluso iOS e Android.

Prima che Microsoft adottasse Linux come piattaforma principale, .NET non era open source ed era destinata solo a Windows.

Benché .NET sia ora open source e disponibile su più piattaforme, si possono riscontrare problemi se la soluzione esistente è basata su .NET Framework, che viene eseguita solo in ambienti Windows. Sarà quindi necessario modernizzare .NET Framework in un ambiente Linux. 

Molte organizzazioni sostengono che gli ostacoli all'agilità e all'innovazione aziendali sono attribuibili a carichi di lavoro, piattaforme alla base e tecnologie tradizionali nonché a processi di sviluppo datati. Il motivo è facilmente intuibile considerando che i sistemi tradizionali precedono la comparsa delle moderne tecnologie quali il cloud computing, le pratiche di sviluppo cloud native, i container Linux e le ultime innovazioni tecnologiche. In molti casi però sostituire o dismettere quei carichi di lavoro non è fattibile perché, per quanto obsoleti, rivestono un ruolo centrale per l'azienda e costituiscono investimenti a lungo termine.

Le organizzazioni si trovano quindi nella difficile posizione di dover trovare un equilibrio fra la necessità di mantenere in funzione i sistemi aziendali critici esistenti e quella di dedicarsi all'innovazione per soddisfare le crescenti aspettative dei clienti e cogliere nuove occasioni. Accade però che le applicazioni tradizionali assorbano una quantità di tempo, denaro e risorse tale da far passare l'innovazione in secondo piano.

L'obiettivo della modernizzazione dei carichi di lavoro è quello di integrare il vecchio al nuovo. Ciò significa restituire agilità ai carichi di lavoro tradizionali trasferendoli su piattaforme moderne, ripartire le applicazioni monolitiche in unità più piccole e facili da gestire come i microservizi e applicare pratiche moderne di sviluppo e deployment del software.

Vantaggi

L'adattamento dei carichi di lavoro .NET esistenti a una piattaforma più moderna dipende dal tempo e dalle risorse che gli sviluppatori possono dedicare all'attività e dalla capacità dei team di allinearsi ai nuovi processi. Tenendo conto di questi fattori, è bene sottolineare i vantaggi immediatamente tangibili offerti dai carichi di lavoro modernizzati:

  • Migliore scalabilità: i carichi di lavoro .NET sono ora scalabili in funzione della domanda. 
  • Più affidabilità: l'esecuzione dei carichi di lavoro .NET è più affidabile in un ambiente più stabile e resiliente. 
  • Sicurezza avanzata: i carichi di lavoro .NET possono avvalersi delle procedure cloud esistenti per aggiungere un ulteriore livello di sicurezza.
  • Riduzione dei costi: aggiungendo l'automazione ai fattori citati, le organizzazioni possono ridurre i costi. 
Scopri di più su .NET

Risorse da Red Hat

L'avanzato sviluppo della containerizzazione e di Kubernetes consente l'esecuzione di .NET come container su qualsiasi server, scegliendo la strategia di modernizzazione più adeguata alle proprie esigenze aziendali. Vincoli di tempo e budget possono richiedere strategie differenti per i diversi carichi di lavoro. Per ottenere tutti i vantaggi dell'iniziativa, a volte è più appropriato un approccio graduale che preveda la raccolta del feedback degli utenti e la giustificazione di quanto investito in modernizzazione.
Per modernizzare le applicazioni .NET esistenti sono possibili tre percorsi:

  1. Rehosting: anche detto approccio "lift and shift", prevede la migrazione di un'applicazione on premise verso una piattaforma predisposta all'infrastruttura cloud. Questo approccio prevede la migrazione o il rehosting delle applicazioni attualmente on premise su una piattaforma Infrastructure-as-a-service (IaaS). Le applicazioni mantengono la stessa composizione ma il loro deployment viene eseguito su macchine virtuali nel cloud. Questa strategia viene utilizzata principalmente per eseguire la migrazione di applicazioni scalabili che soddisfano specifici obiettivi aziendali, come l'introduzione di un prodotto con tempistiche abbreviate o la dismissione di un data center on premise.
  2. Cambio di piattaforma: questo approccio prevede l'ottimizzazione delle app per il cloud che possono essere eseguite con tecnologie moderne come i container e ulteriori servizi cloud gestiti, senza alterare significativamente il codice. Questo modello di maturità consente il deployment su IaaS o Platform-as-a-Service (PaaS) utilizzando al contempo servizi gestiti cloud aggiuntivi inerenti a database, cache as a service, monitoraggio e pipeline di integrazione e distribuzione continue (CI/CD). Il replatforming di un'applicazione .NET a container Windows offre i vantaggi delle tecnologie container senza modificare l'architettura core di un'applicazione .NET.
  3. Riprogettazione: con questo approccio, i servizi PaaS vengono utilizzati per trasferire le applicazioni su piattaforme di elaborazione PaaS. L'adozione delle applicazioni cloud native e di un'architettura di microservizi permette di ottenere agilità nel lungo termine, rendendole facilmente scalabili in funzione della domanda. In genere, questo tipo di modernizzazione richiede una progettazione specifica per il cloud e la scrittura di nuovo codice. L'approccio garantisce vantaggi altrimenti difficili da ottenere in un ambiente applicativo monolitico e on premise. Suddividendo un'applicazione monolitica in servizi più piccoli, ognuno di questi avrà un'unica finalità e verrà distribuito come un container. Si ottiene inoltre la capacità di seguire un approccio basato su microservizi in cui alcuni componenti sono creati con .NET e altri con Java, ma tutti possono essere eseguiti su una piattaforma comune supportata da RHEL e OpenShift Container Platform.
Come creare ed eseguire app .NET su Linux e nei container

Se le procedure, gli strumenti e i processi esistenti vengono eseguiti su Windows Server, aggiungere Linux, i container e Kubernetes potrebbe diventare una necessità per il tuo team, non priva però di eventuali ripercussioni sull'intera azienda. 

Red Hat conosce le complessità di un cambiamento tecnologico e aiuta i clienti ad affrontarlo con strategie e soluzioni che permettono ai team di gestire le novità legate agli ambienti, alla tecnologia e ai processi e di realizzare gli obiettivi aziendali.

Qualunque sia la strategia di modernizzazione scelta e i vantaggi ottenibili in base ai vincoli di ogni azienda, Red Hat offre prodotti e servizi come Microsoft Azure Red Hat OpenShift (ARO).

Scopri di più su come modernizzare .NET
Hub

Il blog ufficiale di Red Hat

Leggi gli articoli del blog di Red Hat per scoprire novità e consigli utili sulle nostre tecnologie, e avere aggiornamenti sul nostro ecosistema di clienti, partner e community.

Tutte le versioni di prova dei prodotti Red Hat

Grazie alle versioni di prova gratuite dei prodotti Red Hat potrai acquisire esperienza pratica, prepararti per le certificazioni o capire se il prodotto che hai scelto è giusto per le esigenze della tua organizzazione.

Continua a leggere

Cos'è la modernizzazione delle applicazioni Java

Modernizzare le applicazioni Java per il cloud e i container permette di continuare a ottenere valore da tali app e di migliorare prestazioni, scalabilità e costi.

Joint Warfighting Cloud Capability e Red Hat

Con l'obiettivo di proteggere la sicurezza nazionale e incrementare la sua efficienza bellica, il Dipartimento della Difesa (DoD) statunitense è impegnato in iniziative che puntano a ottenere processi più agili e a garantire la massima sicurezza ai dati e ai carichi di lavoro da distribuire in tutte le sue infrastrutture.

Come accelerare la modernizzazione dei sistemi bancari tradizionali

Scopri come trasformare un sistema tradizionale in una moderna piattaforma cloud, gestendo tutti i costi e i rischi associati nel modo più efficiente.

Modernizzazione delle applicazioni: risorse consigliate