{"id":68184,"date":"2023-04-24T12:02:23","date_gmt":"2023-04-24T11:02:23","guid":{"rendered":"https:\/\/kinsta.com\/it\/?p=68184&#038;preview=true&#038;preview_id=68184"},"modified":"2023-08-22T11:16:33","modified_gmt":"2023-08-22T10:16:33","slug":"archiviazione-persistente","status":"publish","type":"post","link":"https:\/\/kinsta.com\/it\/blog\/archiviazione-persistente\/","title":{"rendered":"Archiviazione Persistente: Memoria a Lungo Termine nell&#8217;Era dei Container"},"content":{"rendered":"<p>Il concetto di archiviazione persistente (o storage persistente) si riferisce alla conservazione non volatile dei dati, in modo che rimangano disponibili anche dopo lo spegnimento di un dispositivo o il riavvio di un&#8217;applicazione. L&#8217;archiviazione e il recupero dei dati consentono alle applicazioni web di salvare le informazioni e gli stati degli utenti e di operare in modo affidabile.<\/p>\n<p>Nelle applicazioni monolitiche, l&#8217;accesso all\u2019archiviazione \u00e8 semplice perch\u00e9 il server e l\u2019archiviazione vivono insieme. Tuttavia, nei sistemi distribuiti geograficamente l&#8217;accesso \u00e8 pi\u00f9 complesso, poich\u00e9 il sistema di archiviazione deve rimanere disponibile per tutti i componenti in tutto il mondo.<\/p>\n<p>La piattaforma containerizzata di <a href=\"https:\/\/sevalla.com\/application-hosting\/\">Hosting di Applicazioni<\/a> di Kinsta utilizza i volumi persistenti di Kubernetes per associare l&#8217;<a href=\"https:\/\/kinsta.com\/it\/changelog\/archiviazione-persistente\/\">archiviazione persistente<\/a> con uno o pi\u00f9 processi di un&#8217;applicazione. Gli utenti di Kinsta possono definire i propri requisiti di archiviazione persistente durante la creazione di applicazioni all&#8217;interno di MyKinsta.<\/p>\n<p>In questo articolo analizzeremo lo storage persistente indipendentemente dalla piattaforma, esplorandone i tipi, l&#8217;architettura e i casi d&#8217;uso. In aggiunta, <span style=\"font-family: Roboto, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;font-size: 1rem\">offriremo una dimostrazione pratica per illustrare la differenza tra archiviazione a volume e archiviazione a volume persistente in Docker.<\/span><\/p>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc>\n<h2>Tipi di archiviazione persistente<\/h2>\n<p>Esistono diversi tipi di archiviazione non volatile, tra cui i tradizionali spinning disk (hard disk o HDD), i drive solid-state (SSD), i NAS (Network Attached Storage) e le SAN (Storage Area Network).<\/p>\n<ul>\n<li>Gli <strong>HDD<\/strong> sono dispositivi elettromeccanici di archiviazione dati che memorizzano e recuperano dati digitali utilizzando spinning disk di supporti magnetici. I dischi usano testine magnetiche su un braccio attuatore mobile che legge e scrive i dati.<\/li>\n<li>Le <strong>SSD<\/strong>, talvolta chiamate dispositivi di archiviazione a semiconduttore, dispositivi a stato solido o dischi a stato solido, usano circuiti integrati per memorizzare i dati in modo persistente, di solito tramite dispositivi flash interconnessi che non contengono parti in movimento. La loro natura stazionaria li rende pi\u00f9 veloci e affidabili degli HDD.<\/li>\n<li>Il <strong>network-attached storage<\/strong> \u00e8 un gruppo di HDD, SSD o entrambi, collegati attraverso una rete locale che usa un file system come il New Technology File System (NTFS) o il quarto file system esteso (EXT4).<\/li>\n<li>Le <strong>SAN<\/strong> sono dispositivi di archiviazione ad alta velocit\u00e0 e a livello di blocco collegate in rete, come librerie a nastro o array di dischi. La loro connessione appare al sistema operativo come un\u2019archiviazione locale e non \u00e8 accessibile attraverso la rete locale (LAN).<\/li>\n<\/ul>\n\n<h2>Architettura dell\u2019archiviazione persistente<\/h2>\n<p>Esistono tre approcci all&#8217;archiviazione persistente, ognuno con casi d&#8217;uso e limitazioni particolari.<\/p>\n<h3>Architettura persistente a oggetti<\/h3>\n<p>L&#8217;approccio dell&#8217;architettura persistente a oggetti usa la mappatura oggetto-relazionale (ORM) per archiviare i dati come oggetti in un database relazionale o a chiave-valore. Questo approccio \u00e8 utile quando i dati non hanno uno schema definito, in quanto l&#8217;ORM ne gestisce l&#8217;archiviazione e il recupero.<\/p>\n<h3>Architettura persistente a blocchi<\/h3>\n<p>L&#8217;architettura persistente a blocchi usa dispositivi di archiviazione a livello di blocco, utili per l&#8217;archiviazione di file di grandi dimensioni. Questo approccio \u00e8 vantaggioso per l&#8217;archiviazione di grandi quantit\u00e0 di dati, in quanto \u00e8 possibile usare pi\u00f9 blocchi per aumentare la capacit\u00e0 di archiviazione.<\/p>\n<h3>Architettura persistente di filestore<\/h3>\n<p>Come suggerisce il nome, l&#8217;approccio dell&#8217;architettura persistente di filestore usa un file system per archiviare i dati. Un metodo prevede l&#8217;utilizzo di server di database, che forniscono una soluzione centralizzata di archiviazione dei dati. Le soluzioni di cloud hosting come quella di Kinsta impiegano <a href=\"https:\/\/sevalla.com\/database-hosting\/\">server di database<\/a> che possono essere facilmente collegati alle applicazioni e offrono persistenza.<\/p>\n<p>L&#8217;architettura persistente di filestore \u00e8 utile nelle applicazioni che richiedono il recupero frequente dei file e, quando \u00e8 necessaria, un&#8217;interfaccia per gestirli.<\/p>\n<h3>Casi d&#8217;uso dell\u2019archiviazione persistente<\/h3>\n<p>Questa sezione illustra alcuni casi d&#8217;uso di ciascun tipo di storage.<\/p>\n<h4><strong>Archiviazione persistente a oggetti<\/strong><\/h4>\n<ul>\n<li><strong>Cloud storage:<\/strong> L\u2019archiviazione persistente a oggetti \u00e8 spesso utilizzata nelle soluzioni di <a href=\"https:\/\/kinsta.com\/it\/blog\/cloud-storage\/\">cloud storage<\/a> per archiviare e recuperare grandi quantit\u00e0 di dati non strutturati, come immagini, video e documenti. I cloud provider utilizzano lo storage a oggetti per fornire ai clienti servizi di archiviazione scalabili, altamente disponibili e duraturi.<\/li>\n<li><strong>Analisi di big data:<\/strong> L\u2019archiviazione persistente a oggetti si usa nell&#8217;analisi dei big data per archiviare e gestire grandi set di dati spesso utilizzati per analisi dei dati, machine learning e intelligenza artificiale. L&#8217;archiviazione a oggetti consente di accedere ai dati in modo rapido ed efficiente, e questo lo rendende un componente chiave delle architetture di big data.<\/li>\n<li><strong>Content Delivery Network:<\/strong> L&#8217;archiviazione persistente a oggetti viene utilizzata nelle <a href=\"https:\/\/kinsta.com\/it\/blog\/cosa-e-un-cdn\/\">Content Delivery Network<\/a> (CDN) per archiviare e distribuire contenuti come immagini, video e file statici, attraverso una rete globale di server. L\u2019archiviazione a oggetti consente alle CDN di fornire contenuti ad alta velocit\u00e0 agli utenti di tutto il mondo, indipendentemente dalla loro posizione.<\/li>\n<\/ul>\n<h4><strong>Archiviazione persistente a blocchi<\/strong><\/h4>\n<ul>\n<li><strong>High-performance computing (HPC)<\/strong>: gli ambienti HPC elaborano in modo rapido ed efficiente grandi volumi di dati. L\u2019archiviazione persistente a blocchi consente ai cluster HPC di archiviare e recuperare grandi insiemi di dati, come simulazioni scientifiche, modelli meteorologici e analisi finanziarie. L&#8217;archiviazione a blocchi \u00e8 spesso preferita per l&#8217;HPC perch\u00e9 fornisce un accesso ai dati ad alte prestazioni e a bassa latenza e consente operazioni di input\/output (I\/O) parallele, che possono migliorare notevolmente i tempi di elaborazione.<\/li>\n<li><strong>Editing video:<\/strong> le applicazioni di editing video richiedono accesso ad alte prestazioni e a bassa latenza a file video di grandi dimensioni. Devono inoltre gestire un numero significativo di operazioni di I\/O al secondo e una bassa latenza per renderizzare e modificare i file video in tempo reale. L\u2019archiviazione a blocchi offre queste funzionalit\u00e0, e ci\u00f2 la rendende una soluzione ideale per l&#8217;editing video.<\/li>\n<li><strong>Gaming:<\/strong> anche le applicazioni di gaming richiedono prestazioni elevate e bassa latenza per accedere alle risorse di gioco e ai dati dei giocatori. L&#8217;archiviazione a blocchi memorizza e recupera rapidamente grandi quantit\u00e0 di dati, facendo in modo che gli ambienti di gioco carichino rapidamente e rimangano reattivi durante il gioco.<\/li>\n<\/ul>\n<h4><strong>Archiviazione persistente di filestore<\/strong><\/h4>\n<ul>\n<li><strong>Media e intrattenimento:<\/strong> l\u2019archiviazione persistente \u00e8 spesso utilizzata in applicazioni di editing video, animazione e rendering. Queste applicazioni richiedono un accesso ad alte prestazioni e a bassa latenza a file multimediali di grandi dimensioni, come video, audio e immagini. Il filestore offre un file system condiviso a cui possono accedere pi\u00f9 client, il che lo rende una soluzione ideale di archiviazione per queste applicazioni.<\/li>\n<li><strong>Gestione dei contenuti web:<\/strong> i <a href=\"https:\/\/kinsta.com\/content-management-systems\/\">sistemi di gestione dei contenuti<\/a> web (CMS) impiegano l&#8217;archiviazione persistente di filestore in file system condivisi per archiviare e gestire i contenuti dei siti web, come testi, immagini e file multimediali. Il filestore fornisce una posizione centrale per i contenuti del sito, facilitandone la gestione e l&#8217;aggiornamento. Inoltre, consente a pi\u00f9 utenti di lavorare contemporaneamente sugli stessi contenuti, migliorando le possibilit\u00e0 di collaborazione e la produttivit\u00e0.<\/li>\n<\/ul>\n<h2>Archiviazione persistente nei container<\/h2>\n<p>I container sono leggeri, portabili e sicuri e permettono la fusione di applicazioni diverse. Devono avere un meccanismo di persistenza dei dati tra il riavvio e la rimozione del container. I container hanno un archivio di file o un file system come le applicazioni tradizionali, ma ogni volta che vengono ricostruiti con nuove modifiche, si perdono tutti i dati non persistenti.<\/p>\n<p>Ecco perch\u00e9 i container offrono la possibilit\u00e0 di includere o di montare un volume di archiviazione. I container trattano i volumi di archiviazione come una directory. Tutti i dati scritti sul volume finiscono nel file system dell&#8217;host.<\/p>\n<p>\u00c8 necessario che l&#8217;archiviazione persistente per i container funzioni in questo modo perch\u00e9 il riavvio di un container crea una nuova istanza e scarta quella vecchia. Se un container non ha una visione coerente dei dati, questi scompariranno al riavvio del container. Un volume di archiviazione conserva i dati tra le sessioni e i riavvii del container, consentendo di mantenerne lo stato anche se viene spostato o riavviato.<\/p>\n<h3>Volume vs. volume persistente<\/h3>\n<p>I container offrono due modi per memorizzare i dati persistenti: l&#8217;utilizzo di volumi e di volumi persistenti. C&#8217;\u00e8 una differenza significativa tra i due. Un container gestisce i dati nell&#8217;archiviazione dei volumi. Quando si arresta un container, i dati rimangono disponibili per il riavvio. Tuttavia, quando si elimina o rimuove un container, i dati vengono persi perch\u00e9 viene eliminato anche il volume di archiviazione sottostante.<\/p>\n<p>L&#8217;archiviazione persistente del volume, o bind mount, archivia i dati al di fuori del file system del container. In questo modo, i dati non vengono persi nemmeno eliminando il container. Sono persistenti fino a quando non vengono cancellati manualmente.<\/p>\n<p>La sezione seguente illustra enrambi i tipi di volume con degli esempi.<\/p>\n<h2>Demo dell&#8217;archiviazione persistente del container<\/h2>\n<p>Abbiamo creato una piccola applicazione web per dimostrare l\u2019archiviazione persistente con i container <a href=\"https:\/\/kinsta.com\/it\/blog\/cosa-e-docker\/\">Docker<\/a>. Per seguirla, basta installare Docker e scaricare il codice da questo <a href=\"https:\/\/github.com\/bonisteel\/kinsta-persistent-storage\" target=\"_blank\" rel=\"noopener noreferrer\">repository GitHub<\/a>.<\/p>\n<p>L&#8217;applicazione \u00e8 un modulo elementare con due campi per l&#8217;input dell&#8217;utente:<\/p>\n<ul>\n<li>Titolo<\/li>\n<li>Testo del documento<\/li>\n<\/ul>\n<figure id=\"attachment_151964\" aria-describedby=\"caption-attachment-151964\" style=\"width: 538px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/04\/persistent-storage-demo-gui-interface.png\" alt=\"Schermata dell'interfaccia grafica del modulo di feedback dell'applicazione demo.\" width=\"538\" height=\"561\"><figcaption id=\"caption-attachment-151964\" class=\"wp-caption-text\">GUI dell&#8217;applicazione demo con i campi <strong>Titolo<\/strong> e <strong>Testo del documento<\/strong>.<\/figcaption><\/figure>\n<p>Una volta salvato l&#8217;input dell&#8217;utente, si potr\u00e0 accedervi aprendo il file nella directory <strong>feedback<\/strong> con il nome indicato nel campo <strong>Titolo<\/strong>. I dati inseriti nel campo <strong>Testo del documento<\/strong> sono il contenuto del file.<\/p>\n<h3>Come utilizzare il volume di archiviazione<\/h3>\n<p>Una volta installata l&#8217;applicazione, questa pu\u00f2 utilizzare il volume di archiviazione come mostrato nel <strong>Dockerfile<\/strong>.<\/p>\n<figure id=\"attachment_151962\" aria-describedby=\"caption-attachment-151962\" style=\"width: 648px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/04\/persistent-storage-demo-dockerfile-content.png\" alt=\"Schermata con il contenuto del file Docker, compreso l'attributo VOLUME.\" width=\"648\" height=\"441\"><figcaption id=\"caption-attachment-151962\" class=\"wp-caption-text\">Dockerfile che mostra l&#8217;impiego del volume di archiviazione.<\/figcaption><\/figure>\n<p>A questo punto, \u00e8 possibile eseguire la build dell&#8217;immagine ed avviare il container:<\/p>\n<pre><code class=\"language-bash\">docker build -t feedback-node:volumes .\ndocker run -d -p 3000:80 --name feedback-app feedback-node:volumes<\/code><\/pre>\n<figure id=\"attachment_151971\" aria-describedby=\"caption-attachment-151971\" style=\"width: 411px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/04\/persistent-storage-demo-docker-build-command.png\" alt=\"Finestra del terminale che mostra i risultati del comando docker build con il volume di archiviazione.\" width=\"411\" height=\"43\"><figcaption id=\"caption-attachment-151971\" class=\"wp-caption-text\">Creazione dell&#8217;applicazione con il volume di archiviazione.<\/figcaption><\/figure>\n<figure id=\"attachment_151972\" aria-describedby=\"caption-attachment-151972\" style=\"width: 629px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/04\/persistent-storage-demo-docker-run-command.png\" alt=\"Finestra del terminale dopo l'esecuzione del comando docker run con il volume di archiviazione.\" width=\"629\" height=\"48\"><figcaption id=\"caption-attachment-151972\" class=\"wp-caption-text\">L&#8217;esecuzione del container mostra che sta gestendo il volume di archiviazione.<\/figcaption><\/figure>\n<p>Una volta che l&#8217;applicazione \u00e8 in esecuzione, si potr\u00e0 andare su localhost:3000 per inviare il feedback.<\/p>\n<figure id=\"attachment_151965\" aria-describedby=\"caption-attachment-151965\" style=\"width: 732px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/04\/persistent-storage-demo-saving-form-data.png\" alt=\"Invio di un feedback tramite l'interfaccia grafica dell'applicazione demo.\" width=\"732\" height=\"629\"><figcaption id=\"caption-attachment-151965\" class=\"wp-caption-text\">Invio del feedback all&#8217;applicazione.<\/figcaption><\/figure>\n<p>Ora bisogna far clic su <strong>Salva<\/strong> e andare su <strong>localhost:3000\/feedback\/test.txt<\/strong> per vedere se l&#8217;input \u00e8 stato memorizzato correttamente.<\/p>\n<figure id=\"attachment_151966\" aria-describedby=\"caption-attachment-151966\" style=\"width: 377px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/04\/persistent-storage-demo-confirming-stored-data.png\" alt=\"Un browser con il file test.txt inviato aperto.\" width=\"377\" height=\"90\"><figcaption id=\"caption-attachment-151966\" class=\"wp-caption-text\">Feedback confermato.<\/figcaption><\/figure>\n<p>Ora si potr\u00e0 rimuovere e riavviare il container per vedere se l&#8217;input persiste.<\/p>\n<pre><code class=\"language-bash\">docker stop feedback-app\ndocker start feedback-app<\/code><\/pre>\n<p>Accedendo allo stesso URL, si vedr\u00e0 che il feedback \u00e8 ancora presente. Ma cosa succede fermando e riavviando il container?<\/p>\n<pre><code class=\"language-bash\">docker stop feedback-app\ndocker rm feedback-app\ndocker run -d -p 3000:80 --name feedback-app feedback-node:volumes<\/code><\/pre>\n<p>Una volta riavviato, tornando a quell&#8217;<a href=\"https:\/\/kinsta.com\/it\/blog\/cosa-e-un-url\/\">URL<\/a>, si vedr\u00e0 che non esiste pi\u00f9 perch\u00e9 i dati sono andati persi quando il container \u00e8 stato rimosso. I dati del volume persistono solo quando si arresta il container, non quando lo si rimuove.<\/p>\n<figure id=\"attachment_151967\" aria-describedby=\"caption-attachment-151967\" style=\"width: 362px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/04\/persistent-storage-demo-data-not-available.png\" alt=\"Il browser segnala l'impossibilit\u00e0 di aprire il file test.txt.\" width=\"362\" height=\"89\"><figcaption id=\"caption-attachment-151967\" class=\"wp-caption-text\">I dati di feedback sono andati persi.<\/figcaption><\/figure>\n<p>Per ovviare a questo problema e mantenere i dati anche quando si rimuove il container, \u00e8 necessario utilizzare l&#8217;archiviazione persistente del volume o un named storage. Per prima cosa, bisogna pulire i container e le immagini:<\/p>\n<pre><code class=\"language-bash\">docker stop feedback-app\ndocker rm feedback-app\ndocker rmi feedback-node:volumes<\/code><\/pre>\n<h3>Come utilizzare l&#8217;archiviazione a volume persistente<\/h3>\n<p>Prima di provare, dovete rimuovere l&#8217;attributo VOLUME dal file Docker e ricostruire l&#8217;immagine.<\/p>\n<figure id=\"attachment_151968\" aria-describedby=\"caption-attachment-151968\" style=\"width: 566px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/04\/persistent-storage-demo-editing-docker-file.png\" alt=\"Rimozione dell'attributo VOLUME dal Dockerfile.\" width=\"566\" height=\"371\"><figcaption id=\"caption-attachment-151968\" class=\"wp-caption-text\">Rimozione dell&#8217;attributo VOLUME dal Dockerfile.<\/figcaption><\/figure>\n<pre><code class=\"language-bash\">docker build -t feedback-node:volumes .\ndocker run -d -p 3000:80 --name feedback-app -v feedback:\/app\/feedback feedback-node:volumes<\/code><\/pre>\n<p>Nel secondo comando si usa il flag <code>-v<\/code> per definire il volume persistente all&#8217;esterno del container, che persiste anche se si rimuove il container.<\/p>\n<p>Come nel passaggio precedente, si pu\u00f2 ora provare ad aggiungere un feedback e ad accedervi dopo aver fermato, rimosso e riavviato il container.<\/p>\n<figure id=\"attachment_151969\" aria-describedby=\"caption-attachment-151969\" style=\"width: 507px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/04\/persistent-storage-demo-test-external-volume.png\" alt=\"Inserimento di testo nel modulo di feedback dell'applicazione demo.\" width=\"507\" height=\"554\"><figcaption id=\"caption-attachment-151969\" class=\"wp-caption-text\">Aggiunta di un nuovo feedback per un test di persistenza.<\/figcaption><\/figure>\n<pre><code class=\"language-bash\">docker stop feedback-app\ndocker rm feedback-app\ndocker run -d -p 3000:80 --name feedback-app -v feedback:\/app\/feedback feedback-node:volumes<\/code><\/pre>\n<p>Ora i dati rimangono accessibili anche dopo aver fermato e rimosso il container.<\/p>\n<figure id=\"attachment_151970\" aria-describedby=\"caption-attachment-151970\" style=\"width: 462px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/04\/persistent-storage-demo-confirm-external-volume-data.png\" alt=\"Schermata del browser che ha aperto con successo il secondo file di prova.\" width=\"462\" height=\"108\"><figcaption id=\"caption-attachment-151970\" class=\"wp-caption-text\">I dati rimangono accessibili anche dopo aver fermato e rimosso il container.<\/figcaption><\/figure>\n\n<h2>Riepilogo<\/h2>\n<p>L&#8217;archiviazione persistente \u00e8 fondamentale per le applicazioni containerizzate perch\u00e9 permette di conservare i dati al di fuori del ciclo di vita del container. I due principali tipi di archiviazione persistente per le applicazioni containerizzate sono i volumi e i mount bind, ognuno con i suoi vantaggi e i suoi casi d&#8217;uso.<\/p>\n<p>I volumi sono memorizzati all&#8217;interno del file system del container, mentre i bind mount sono direttamente accessibili sul computer host.<\/p>\n<p>L\u2019archiviazione persistente permette di condividere i dati tra i container, rendendo possibile la creazione di applicazioni complesse e multi-tier. L&#8217;archiviazione persistente \u00e8 essenziale per garantire la stabilit\u00e0 e la continuit\u00e0 delle applicazioni containerizzate, fornendo una soluzione affidabile e flessibile per archiviare dati critici.<\/p>\n<p>State sviluppando un&#8217;applicazione che richiede uno storage persistente? Date un\u2019occhiata alla nostra libreria di <a href=\"https:\/\/docs.sevalla.com\/templates\/overview\">esempi di avvio rapido<\/a> per vedere come distribuire l&#8217;applicazione su Kinsta da host Git come <a href=\"https:\/\/kinsta.com\/it\/changelog\/supporto-bitbucket-gitlab\/\">GitHub, GitLab, e Bitbucket<\/a>.<\/p>\n<p>La nostra <a href=\"https:\/\/docs.sevalla.com\/applications\/storage\">documentazione ufficiale sull&#8217;archiviazione persistente<\/a> vi aiuter\u00e0 a mettere online rapidamente la vostra applicazione e i relativi dati.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Il concetto di archiviazione persistente (o storage persistente) si riferisce alla conservazione non volatile dei dati, in modo che rimangano disponibili anche dopo lo spegnimento di &#8230;<\/p>\n","protected":false},"author":259,"featured_media":68185,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[26197],"class_list":["post-68184","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-hosting-cloud"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Archiviazione Persistente: Memoria a Lungo Termine nell&#039;Era dei Container - Kinsta\u00ae<\/title>\n<meta name=\"description\" content=\"L&#039;archiviazione persistente era costituita solo da unit\u00e0 disco e database, ma lo sviluppo basato su container aggiunge un nuovo punto di vista sui dati non volatili.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinsta.com\/it\/blog\/archiviazione-persistente\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Archiviazione Persistente: Memoria a Lungo Termine nell&#039;Era dei Container\" \/>\n<meta property=\"og:description\" content=\"L&#039;archiviazione persistente era costituita solo da unit\u00e0 disco e database, ma lo sviluppo basato su container aggiunge un nuovo punto di vista sui dati non volatili.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/it\/blog\/archiviazione-persistente\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinstaitalia\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-04-24T11:02:23+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-08-22T10:16:33+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/04\/persistent-storage.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1600\" \/>\n\t<meta property=\"og:image:height\" content=\"800\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Steve Bonisteel\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"L&#039;archiviazione persistente era costituita solo da unit\u00e0 disco e database, ma lo sviluppo basato su container aggiunge un nuovo punto di vista sui dati non volatili.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/04\/persistent-storage.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@Kinsta_IT\" \/>\n<meta name=\"twitter:site\" content=\"@Kinsta_IT\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"Steve Bonisteel\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/archiviazione-persistente\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/archiviazione-persistente\/\"},\"author\":{\"name\":\"Steve Bonisteel\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/person\/d84ceff87bd64a4368a581fc8aa8bd6f\"},\"headline\":\"Archiviazione Persistente: Memoria a Lungo Termine nell&#8217;Era dei Container\",\"datePublished\":\"2023-04-24T11:02:23+00:00\",\"dateModified\":\"2023-08-22T10:16:33+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/archiviazione-persistente\/\"},\"wordCount\":2164,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/it\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/archiviazione-persistente\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/04\/persistent-storage.jpg\",\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/it\/blog\/archiviazione-persistente\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/archiviazione-persistente\/\",\"url\":\"https:\/\/kinsta.com\/it\/blog\/archiviazione-persistente\/\",\"name\":\"Archiviazione Persistente: Memoria a Lungo Termine nell'Era dei Container - Kinsta\u00ae\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/it\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/archiviazione-persistente\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/archiviazione-persistente\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/04\/persistent-storage.jpg\",\"datePublished\":\"2023-04-24T11:02:23+00:00\",\"dateModified\":\"2023-08-22T10:16:33+00:00\",\"description\":\"L'archiviazione persistente era costituita solo da unit\u00e0 disco e database, ma lo sviluppo basato su container aggiunge un nuovo punto di vista sui dati non volatili.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/archiviazione-persistente\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/it\/blog\/archiviazione-persistente\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/archiviazione-persistente\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/04\/persistent-storage.jpg\",\"contentUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/04\/persistent-storage.jpg\",\"width\":1600,\"height\":800},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/archiviazione-persistente\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/it\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Hosting Cloud\",\"item\":\"https:\/\/kinsta.com\/it\/argomenti\/hosting-cloud\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Archiviazione Persistente: Memoria a Lungo Termine nell&#8217;Era dei Container\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/it\/#website\",\"url\":\"https:\/\/kinsta.com\/it\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Soluzioni di hosting premium, veloci e sicure\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/it\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/it\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/it\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/it\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinstaitalia\/\",\"https:\/\/x.com\/Kinsta_IT\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/person\/d84ceff87bd64a4368a581fc8aa8bd6f\",\"name\":\"Steve Bonisteel\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0adffb3f9c86a6ec8245f8399d540823?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0adffb3f9c86a6ec8245f8399d540823?s=96&d=mm&r=g\",\"caption\":\"Steve Bonisteel\"},\"description\":\"Steve Bonisteel is a Technical Editor at Kinsta who began his writing career as a print journalist, chasing ambulances and fire trucks. He has been covering Internet-related technology since the late 1990s.\",\"url\":\"https:\/\/kinsta.com\/it\/blog\/author\/stevebonisteel\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Archiviazione Persistente: Memoria a Lungo Termine nell'Era dei Container - Kinsta\u00ae","description":"L'archiviazione persistente era costituita solo da unit\u00e0 disco e database, ma lo sviluppo basato su container aggiunge un nuovo punto di vista sui dati non volatili.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kinsta.com\/it\/blog\/archiviazione-persistente\/","og_locale":"it_IT","og_type":"article","og_title":"Archiviazione Persistente: Memoria a Lungo Termine nell'Era dei Container","og_description":"L'archiviazione persistente era costituita solo da unit\u00e0 disco e database, ma lo sviluppo basato su container aggiunge un nuovo punto di vista sui dati non volatili.","og_url":"https:\/\/kinsta.com\/it\/blog\/archiviazione-persistente\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstaitalia\/","article_published_time":"2023-04-24T11:02:23+00:00","article_modified_time":"2023-08-22T10:16:33+00:00","og_image":[{"width":1600,"height":800,"url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/04\/persistent-storage.jpg","type":"image\/jpeg"}],"author":"Steve Bonisteel","twitter_card":"summary_large_image","twitter_description":"L'archiviazione persistente era costituita solo da unit\u00e0 disco e database, ma lo sviluppo basato su container aggiunge un nuovo punto di vista sui dati non volatili.","twitter_image":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/04\/persistent-storage.jpg","twitter_creator":"@Kinsta_IT","twitter_site":"@Kinsta_IT","twitter_misc":{"Scritto da":"Steve Bonisteel","Tempo di lettura stimato":"11 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/it\/blog\/archiviazione-persistente\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/it\/blog\/archiviazione-persistente\/"},"author":{"name":"Steve Bonisteel","@id":"https:\/\/kinsta.com\/it\/#\/schema\/person\/d84ceff87bd64a4368a581fc8aa8bd6f"},"headline":"Archiviazione Persistente: Memoria a Lungo Termine nell&#8217;Era dei Container","datePublished":"2023-04-24T11:02:23+00:00","dateModified":"2023-08-22T10:16:33+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/it\/blog\/archiviazione-persistente\/"},"wordCount":2164,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/it\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/it\/blog\/archiviazione-persistente\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/04\/persistent-storage.jpg","inLanguage":"it-IT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/it\/blog\/archiviazione-persistente\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/it\/blog\/archiviazione-persistente\/","url":"https:\/\/kinsta.com\/it\/blog\/archiviazione-persistente\/","name":"Archiviazione Persistente: Memoria a Lungo Termine nell'Era dei Container - Kinsta\u00ae","isPartOf":{"@id":"https:\/\/kinsta.com\/it\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/it\/blog\/archiviazione-persistente\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/it\/blog\/archiviazione-persistente\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/04\/persistent-storage.jpg","datePublished":"2023-04-24T11:02:23+00:00","dateModified":"2023-08-22T10:16:33+00:00","description":"L'archiviazione persistente era costituita solo da unit\u00e0 disco e database, ma lo sviluppo basato su container aggiunge un nuovo punto di vista sui dati non volatili.","breadcrumb":{"@id":"https:\/\/kinsta.com\/it\/blog\/archiviazione-persistente\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/it\/blog\/archiviazione-persistente\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/blog\/archiviazione-persistente\/#primaryimage","url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/04\/persistent-storage.jpg","contentUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/04\/persistent-storage.jpg","width":1600,"height":800},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/it\/blog\/archiviazione-persistente\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/it\/"},{"@type":"ListItem","position":2,"name":"Hosting Cloud","item":"https:\/\/kinsta.com\/it\/argomenti\/hosting-cloud\/"},{"@type":"ListItem","position":3,"name":"Archiviazione Persistente: Memoria a Lungo Termine nell&#8217;Era dei Container"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/it\/#website","url":"https:\/\/kinsta.com\/it\/","name":"Kinsta\u00ae","description":"Soluzioni di hosting premium, veloci e sicure","publisher":{"@id":"https:\/\/kinsta.com\/it\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/it\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/it\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/it\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinstaitalia\/","https:\/\/x.com\/Kinsta_IT","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/it\/#\/schema\/person\/d84ceff87bd64a4368a581fc8aa8bd6f","name":"Steve Bonisteel","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0adffb3f9c86a6ec8245f8399d540823?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0adffb3f9c86a6ec8245f8399d540823?s=96&d=mm&r=g","caption":"Steve Bonisteel"},"description":"Steve Bonisteel is a Technical Editor at Kinsta who began his writing career as a print journalist, chasing ambulances and fire trucks. He has been covering Internet-related technology since the late 1990s.","url":"https:\/\/kinsta.com\/it\/blog\/author\/stevebonisteel\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/68184","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/users\/259"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/comments?post=68184"}],"version-history":[{"count":15,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/68184\/revisions"}],"predecessor-version":[{"id":72517,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/68184\/revisions\/72517"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/68184\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/68184\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/68184\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/68184\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/68184\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/68184\/translations\/jp"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/68184\/translations\/nl"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/68184\/translations\/es"},{"embeddable":true,"hreflang":"sv","title":"Swedish","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/68184\/translations\/se"},{"embeddable":true,"hreflang":"da","title":"Danish","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/68184\/translations\/dk"},{"href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/68184\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/media\/68185"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/media?parent=68184"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/tags?post=68184"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/topic?post=68184"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}