Panoramica
.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.
Come modernizzare le applicazioni .NET
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:
- 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.
- 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.
- 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.
Perché scegliere Red Hat?
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).