Skip to Content
Guida

Che cosa sono le applicazioni moderne? Guida definitiva

Le applicazioni moderne sfruttano tecnologie cloud-native come i containers con best practice Agile e DevOps per offrire portabilità, affidabilità e agilità su vasta scala.

Che cosa sono Containers?

Un'applicazione moderna è qualsiasi applicazione creata e distribuita con le tecnologie, le metodologie di sviluppo e le best practice più recenti disponibili per offrire un'esperienza utente ottimale. Le applicazioni moderne di oggi sono cloud-native. Sono progettati come microservizi che comunicano tra loro tramite API, invece di applicazioni monolitiche strettamente accoppiate. Queste applicazioni basate su microservizi in genere sfruttano tecnologie cloud-native come containers e Kubernetes.

Le applicazioni moderne sono realizzate tenendo conto di agilità, scalabilità, portabilità e affidabilità.

Sono microservizi piuttosto che monolitici, che li rendono scalabili, riutilizzabili e più facili da usare.

Sono spesso costruiti in conformità con metodologie di sviluppo Agile e best practice DevOps, con una forte enfasi sull'automazione in tutta la pipeline di integrazione continua e delivery (CI/CD).

Che aspetto ha questo in termini di tecnologie odierne? In questa guida esamineremo più da vicino le varie funzionalità che rendono moderna un'applicazione.

Maggiori informazioni: Demistificazione dello sviluppo di applicazioni moderne.

Articoli correlati

Articolo della knowledge base
In che modo le applicazioni moderne riducono il costo totale di proprietà?

Quali sono i vantaggi dei Containers?

Nell'approccio tradizionale allo sviluppo delle applicazioni, le applicazioni sono costruite con basi di codice uniche e strettamente integrate. Al contrario, un'architettura di microservizi implica la progettazione di un'applicazione come una raccolta di servizi non perfettamente integrati.

Questo approccio di sviluppo presenta molti vantaggi:

  • Codice altamente testabile
  • Più facile da eseguire in debug, gestire e aggiornare
  • Controllo granulare sul provisioning delle risorse di storage e calcolo
  • Migliore isolamento dai guasti, che porta ad applicazioni più resilienti
  • Portatile e implementabile in modo indipendente. I componenti possono essere separati dagli ambienti software e hardware con tecnologie di virtualizzazione come i containers.

Poiché hai a che fare con una raccolta di servizi modulari e implementabili in modo indipendente, puoi lavorare su un unico servizio senza interrompere gli altri. Anche la possibilità di creare, testare, implementare, gestire e aggiornare a livello di servizio per servizio riduce notevolmente i tempi di sviluppo.

Quali sono i vantaggi dell'utilizzo Containers?

L'architettura dei microservices consente agli sviluppatori di sfruttare appieno le potenzialità delle tecnologie di virtualizzazione come containers e macchine virtuali. Diamo un'occhiata ad alcune di queste tecnologie di virtualizzazione principali:

  • Macchine virtuali (VM): Abilitare la virtualizzazione a livello hardware (compresi OS e hardware). Un hypervisor consente a un singolo server di eseguire più applicazioni con dipendenze diverse dal Operating System.
  • Containers: Abilita la virtualizzazione a livello software (che dipende ancora da un kernel di OS operativo host). Per l'esecuzione di un servizio sono necessarie unità software standardizzate che contengono tutto il codice e le dipendenze, tra cui file binari, librerie e file di configurazione.
  • Volumi virtuali (vVols): Sono datastore disaccoppiati. Le applicazioni containerizzate possono trarre grandi vantaggi dallo storage containerizzato. vVols possono mappare in rapporto 1:1 i microservizi containerizzati evitando i colli di bottiglia nel database centrale.

La virtualizzazione può aiutare a migliorare i vantaggi di un'architettura di microservizi per lo sviluppo di applicazioni moderne, fornendo una granularità sul grado di isolamento che impartisci ai microservizi.

Puoi sfruttare le macchine virtuali per eseguire servizi con diverse dipendenze del OS sullo stesso computer. In alternativa, puoi utilizzare containers e vVols aumentare notevolmente il numero di servizi eseguibili su un singolo computer.

Ma soprattutto, la virtualizzazione semplifica la scalabilità automatica del provisioning e del deployment dei microservizi e delle loro risorse on demand.

Scopri di più sui compromessi tra macchine virtuali e containers.

Containers e data storage

Per capire perché potresti voler associare i containers stateless con le architetture serverless, dobbiamo definire alcuni termini:

  • Stateless: Un'applicazione è stateless se non legge o memorizza le informazioni sul suo stato da un runtime all'altro (ad esempio, un'applicazione di calcolo legge zero quando la si riapre, senza ricordare l'ultima volta che è stato eseguito un calcolo).
  • Serverless: Un'applicazione è serverless se uno sviluppatore si affida a terze parti, come un provider cloud, per la gestione delle risorse server, sottraendo i dettagli della gestione dei server.

Per progettazione, i primi containers erano state stateless perché consentivano loro di entrare in funzione quando necessario, svolgere il proprio lavoro e scomparire, liberando risorse per il resto REST dell'applicazione. Allo stesso modo, le applicazioni moderne semplificano i containers, consentendo loro di entrare in funzione in base alle esigenze.

Se abbinato a un'architettura serverless, gli sviluppatori di applicazioni possono chiamare le funzioni che forniscono risorse on demand senza dover gestire l'infrastruttura sottostante. La combinazione di containers stateless e architetture serverless semplifica notevolmente lo sviluppo di applicazioni altamente scalabili. Questo è particolarmente indicato per gli ambienti di edge computing in cui i dispositivi edge trasmettono costantemente i dati in risposta agli eventi. La combinazione stateless/serverless facilita l'esecuzione immediata delle modifiche in risposta alle informazioni in tempo reale.

Detto questo, più complessa è l'applicazione, più è probabile che sia ancora necessario uno storage persistente per i microservizi containerizzati. Per questo motivo, le soluzioni di data storage dei container come Portworx® semplificano la distribuzione dello storage persistente alle applicazioni containerizzate stateful. La mappatura 1:1 degli archivi di dati Agile può migliorare la scalabilità e consentire di preservare lo stato durante l'esecuzione dell'applicazione.

Che cosa sono l'orchestrazione e la gestione dei containers?

Le applicazioni moderne sono native per il cloud. Se abbinati all'infrastruttura sottostante necessaria per supportarli, possono sfruttare tutti i vantaggi degli ecosistemi cloud come Amazon Web Services (AWS), Google Cloud e Microsoft Azure.

Cosa rende un'applicazione cloud-native sotto controllo? La combinazione di un'architettura a microservizi con tecnologie di virtualizzazione e calcolo serverless consente di eseguire il provisioning dinamico delle applicazioni moderne in base alla domanda degli utenti. Questi microservizi possono comunicare in modo indipendente tramite API gestite tramite un livello di servizio.

Le applicazioni cloud-native sfruttano appieno i modelli di deployment del cloud computing come Software as a Service (SaaS), Platform as a Service (PaaS) e Infrastructure as a Service (IaaS). Questi modelli sostituiscono il modello di pagamento CapEx tradizionale, in cui l'utente paga un prezzo fisso per le risorse che può utilizzare o meno con i modelli di pagamento OPEX, in cui l'utente paga le risorse mentre le utilizza.

Scopri di più su cosa significa essere cloud-native.

Che cos'è Docker?

Una grande differenza tra le applicazioni moderne e quelle legacy risiede nelle loro filosofie di sviluppo e deployment.

Nell'approccio tradizionale allo sviluppo delle applicazioni, si inizia con un piano generale lineare e ci si attiene. Lo sviluppo passa dalla raccolta dei requisiti attraverso fasi chiaramente definite fino al deployment dell'intera applicazione in produzione. La comunicazione tra sviluppatori, operatori, stakeholder e utenti finali è influenzata da lunghi cicli di vita di sviluppo software (SDLC). Le basi di codice sono monolitiche, le patch sono più grandi e i tentativi di implementare una correzione di bug, aggiungere una nuova funzionalità o aggiornare la tecnologia sottostante sono vulnerabili a lunghe interruzioni dei servizi o a effetti collaterali imprevisti che possono essere difficili da risolvere.

La soluzione moderna per le applicazioni? Passaggio dai sistemi monolitici ai microservizi con best practice Agile e DevOps.

Lo sviluppo agile adotta un approccio iterativo allo sviluppo software. Se abbinato ai microservizi, consente di creare, testare e implementare le funzionalità in modo incrementale su più iterazioni di progettazione. L'SLC viene mantenuto rigido, consentendo cicli di comunicazione di feedback più rigorosi tra utenti finali, stakeholder e sviluppatori. Le metodologie di sviluppo Agile più diffuse includono Scrum, Extreme Programming (XP) e Test-driven Development (TDD).

DevOps è una pratica e una cultura di sviluppo software che integra strettamente i team di sviluppo e operativi all'interno di un'organizzazione. L'SLC viene reinventato come una pipeline CI/CD che utilizza la gestione della configurazione, l'automazione e il monitoraggio in tempo reale per semplificare lo sviluppo, il test e il deployment del software.

Si prevede che le applicazioni moderne siano sempre altamente disponibili e performanti. Non possono permettersi di subire interruzioni del servizio causate da patch, aggiornamenti o bug monolitici. Per questo motivo, le applicazioni moderne sfruttano metodologie di sviluppo Agile e best practice DevOps per rimanere aggiornate e competitive in un panorama digitale in rapida evoluzione.

Scopri di più su come le applicazioni moderne riducono il time-to-market.

Che cos'è Kubernetes?

In un mondo sempre più digitale, la data protection è al primo posto. I vantaggi della data protection delle applicazioni moderne includono:

  • Isolamento del codice, che rende difficile per gli hacker compromettere l'intero sistema 
  • Architettura modulare, che consente test di sicurezza incrementali più rigorosi in tutto l'SDLC. 
  • pipeline CI/CD, che garantiscono cicli di feedback più rigorosi tra sviluppatori e utenti, consentendo agli  sviluppatori di correggere rapidamente le vulnerabilità man mano che appaiono
  • Disaster Recovery semplificato: i microservizi possono essere sottoposti a backup e restore in modo indipendente con interruzioni minime o nulle dell'intera applicazione
  • Best practice di sicurezza avanzate come DevSecOps

Le applicazioni moderne sono attrezzate per gestire le moderne minacce alla sicurezza. Cicli di sviluppo più rigidi e cicli di feedback delle comunicazioni consentono agli sviluppatori di identificare e risolvere bug e vulnerabilità prima che possano essere sfruttati.

Maggiori informazioni: I vantaggi della data protection delle applicazioni moderne

Potrebbe interessarti anche...

09/2025
Pure Storage FlashArray//X: Mission-critical Performance
Pack more IOPS, ultra consistent latency, and greater scale into a smaller footprint for your mission-critical workloads with Pure Storage®️ FlashArray//X™️.
Scheda tecnica
4 pages

Esplora risorse e eventi principali

VIDEO
Guarda: Il valore di un Enterprise Data Cloud (EDC).

Charlie Giancarlo spiega perché il futuro è nella gestione dei dati, non dello storage. Scopri in che modo un approccio unificato trasforma le operazioni IT aziendali.

Guarda
RISORSA
Lo storage legacy non può alimentare il futuro.

I workload moderni richiedono velocità, sicurezza e scalabilità AI-ready. Il tuo stack è pronto?

Effettua la valutazione
DEMO DI PURE360
Esplora, scopri e prova Pure Storage.

Accedi a video e demo on demand per scoprire i vantaggi che Pure Storage ti offre.

Guarda le demo
THOUGHT LEADERSHIP
La corsa per l'innovazione

Le più recenti informazioni approfondite e opinioni di leader di settore che sono all'avanguardia nell'innovazione dello storage.

Maggiori informazioni
Il browser che stai usando non è più supportato.

I browser non aggiornati spesso comportano rischi per la sicurezza. Per offrirti la migliore esperienza possibile sul nostro sito, ti invitiamo ad aggiornare il browser alla versione più recente.