Pensa dentro gli schemi: casi d'uso, esempi e applicazioni dei container - Blog IBM

Pensa dentro gli schemi: casi d'uso, esempi e applicazioni dei container – Blog IBM

Nodo di origine: 2500752


Pensa dentro gli schemi: casi d'uso, esempi e applicazioni dei container – Blog IBM



Macchina che sposta un contenitore

La gestione dei container ha fatto molta strada. Per decenni, la gestione degli ambienti containerizzati è stata una faccenda relativamente semplice. L'idea moderna di contenitore per computer è apparsa originariamente negli anni '1970, quando il concetto fu utilizzato per la prima volta per aiutare a definire il codice dell'applicazione sui sistemi Unix.

moderno tecnologia di containerizzazione è andato avanti costantemente da quei primi inizi e da quando le aziende corrono contenitori ora ottengono molta più utilità per il loro investimento. Dalle piccole startup alle grandi aziende affermate, i framework dei contenitori si sono dimostrati estremamente capaci di generare stabilità flussi di lavoro con tempi di esecuzione ottimizzati e distribuzione continua.

Che cos'è un contenitore?

I contenitori sono unità eseguibili di software in cui il codice dell'applicazione è confezionato con le relative librerie e dipendenze. Sono confezionati in modi standardizzati in modo che il codice possa essere eseguito ovunque, incluso desktop, IT tradizionale o cloud.

Ciò avviene attraverso una forma di virtualizzazione del sistema operativo (OS) in cui le funzionalità del kernel del sistema operativo (ad esempio, spazi dei nomi e cgroup Linux, silos Windows e oggetti lavoro) possono essere sfruttate per isolare processi e controllare la quantità di CPU, memoria e disco a cui tali processi possono accedere.

Contenitori e Docker

La tecnologia dei container è cambiata radicalmente nel 2013 con l'introduzione di Docker e ha continuato senza sosta in questo decennio, guadagnando costantemente popolarità e accettazione da parte degli utenti. Chiaramente, esisteva una domanda di mercato forte ma insoddisfatta per software di containerizzazione di questo tipo, come evidenziato dal rapido successo di Docker e dall’ormai schiacciante superiorità sul mercato.

Una 2021 Sondaggio IBM ha rivelato che il 61% degli intervistati ha indicato di aver utilizzato i contenitori in almeno il 50% delle nuove applicazioni realizzate negli ultimi 2 anni. Un gruppo ancora più ampio di intervistati (64%) ha riferito di aspettarsi di utilizzare contenitori per almeno il 50% delle app che realizzeranno nei prossimi 2 anni.

I contenitori riguardano la distribuzione e la protezione dei dati e l'esecuzione delle app. Pertanto, è perfettamente logico che le industrie IT siano i principali utenti del software di containerizzazione, con il seguenti industrie classificate come i primi tre beneficiari (link esterno a ibm.com):

  1. apprendimento automatico
  2. Sviluppo software
  3. Intelligenza artificiale (AI)

Docker e Kubernetes

Il mercato delle applicazioni containerizzate è attualmente dominato da due entità:

docker

La piattaforma di containerizzazione più comunemente utilizzata è Docker. docker i container sono stati originariamente costruiti attorno al motore Docker nel 2013 e funzionano secondo un interfaccia di programmazione dell'applicazione (API). Docker è in realtà un file Piattaforma come servizio (PaaS) e il suo principale vantaggio è la sua flessibilità. Docker può prendere qualsiasi applicazione e le relative dipendenze e trasformarla in un contenitore virtuale, che può quindi essere eseguito su qualsiasi computer Windows, macOS o Linux. Il sistema utilizza immagini Docker, che sono modelli di sola lettura utilizzati per creare contenitori, e Dockerfile, che sono file di testo che accompagnano e spiegano le immagini Docker. Le immagini Docker e altre immagini contenitore richiedono uno spazio in cui essere eseguite. Questo viene gestito dal runtime del contenitore, una soluzione software che interagisce con il sistema operativo per creare lo spazio necessario per eseguire le immagini del contenitore.

kubernetes

Il più popolare orchestrazione container piattaforma è kubernetes, creato da Google nel 2014 ed è ancora popolare per il modo efficace in cui automatizza la distribuzione del software, consente la scalabilità e supporta la gestione dei contenitori. Inoltre, Kubernetes è un sistema open source e incoraggia l'avida partecipazione dei contributori (che ora supervisionano il progetto), con ciascun fornitore di software che dà la propria interpretazione a Kubernetes. Ad esempio, con alcuni servizi, gli utenti possono non solo creare cluster Kubernetes ma anche distribuire app Web scalabili e analizzare i log.

Attualmente Docker e Kubernetes sono di gran lunga gli strumenti più utilizzati per gestire i contenitori informatici. Secondo recente proiezioni di containerizzazione per il 2024 (link esterno a ibm.com), Dockers ora controlla un massiccio 82.8% di questo mercato, mentre Kubernetes registra una quota di mercato dell'11.52%.

Per saperne di più sulla relazione tra Kubernetes e Docker, consulta "Kubernetes contro Docker: perché non entrambi?"

Casi d'uso dei contenitori

Non mancano i casi d'uso riconoscibili che coinvolgono i contenitori perché stanno diventando sempre più importanti, soprattutto in il cloud computing ambienti o ecosistemi. Molte organizzazioni stanno addirittura prendendo in considerazione i contenitori come sostituti macchine virtuali (VM) come scelta di una piattaforma di cloud computing generica per le proprie applicazioni e carichi di lavoro. Ma all'interno di questo ambito molto ampio, ci sono casi d'uso chiave in cui cloud-native i contenitori sono particolarmente rilevanti:

  • Microservizi: I contenitori sono piccoli, leggeri e portatili, il che li rende la scelta ideale per microservices architetture, in cui le applicazioni containerizzate sono costituite da numerosi servizi più piccoli, liberamente accoppiati e distribuibili in modo indipendente. UN hypervisor viene utilizzato per supervisionare le operazioni dei microservizi quando su un computer viene utilizzata più di una macchina virtuale.
  • DevOps: La combinazione di microservizi come architettura e contenitori come piattaforma costituisce un forte abbinamento e una base comune per molti team che abbracciano DevOps e gli ambienti di sviluppo come il modo in cui scelgono di gestire lo sviluppo del software.
  • Multicloud ibrido: Poiché puoi eseguire i container in modo coerente ovunque, su laptop, in locale e in ambienti cloud, rappresentano un'infrastruttura e un'architettura sottostante ideali per i provider cloud, nonché per qualsiasi cloud ibrido e qualsiasi nuvola ibrida ed multicloud scenari in cui le organizzazioni si trovano a operare in un mix di molteplici cloud pubblici ed cloud privati in combinazione con un servizio in sede Banca dati.
  • Senza server: serverless libera gli sviluppatori nativi del cloud che stanno lavorando alla creazione di app dal dover pensare alle richieste e ai vincoli del server, che vengono mantenuti in background. Uno dei principali vantaggi del metodo serverless è che promuove la necessaria concentrazione mentale di cui uno sviluppatore ha bisogno durante la creazione di app, senza sovraccaricarlo con una miriade di dettagli.

Casi d'uso e soluzioni correlati

I contenitori, la containerizzazione o l'orchestrazione dei contenitori influiscono anche sulle seguenti soluzioni correlate:

  • Modernizzazione e migrazione delle applicazioni: Uno degli approcci più comuni alla modernizzazione delle applicazioni consiste innanzitutto nell'ottimizzare e containerizzare le applicazioni in preparazione all'eventuale migrazione a un'architettura cloud. Questo processo dovrebbe avvenire prima della creazione del codice dell'applicazione, ovvero il codice sorgente che contiene tutte le istruzioni per questa applicazione.
  • Contenitori separati: I contenitori separati sono diventati di uso comune perché assistono così bene gli utenti dei microservizi. Come indica il nome, i contenitori separati vengono utilizzati principalmente per mantenere i microservizi meglio organizzati consentendo agli utenti di mantenere diversi aspetti di un contenitore “affollato” all’interno di più contenitori partizionati. I contenitori separati sono anche visti come un modo per aumentare l'efficienza delle operazioni rendendo gli aggiornamenti necessari rapidi e facili.
  • Multilocazione: Multi-tenancy è un proprio sistema di architettura, strutturato attorno a un sistema di utenti (chiamato inquilini) che utilizzano tutti un'unica applicazione all'interno di un ambiente condiviso. Sebbene alcune opzioni di personalizzazione possano essere disponibili in un sistema multi-tenancy, tali opzioni sono volutamente limitate per mantenere il sistema semplice e facile da utilizzare. I contenitori funzionano bene nella gestione delle distribuzioni multi-tenancy perché è possibile eseguire più app su un singolo host.

Tipi di contenitori

Esistono due tipi base di contenitori e ciascuno serve un diverso gruppo di tecnologie di contenitori:

Contenitori di sistema

Noti anche come “contenitori del sistema operativo”, i contenitori di sistema consentono di eseguire molti processi diversi contemporaneamente. I contenitori di sistema sono ideali per la gestione delle app tradizionali e delle applicazioni monolitiche progettate per eseguire un'unica funzione, espressa tramite un file eseguibile logico. Questi contenitori sono inoltre attrezzati per ospitare l'architettura, le configurazioni e gli strumenti necessari per l'esecuzione delle macchine virtuali. Come misura predefinita, i contenitori di sistema vietano i filesystem a più livelli.

Le tecnologie dei container servite: Jail BSD, Linux VServer, LXC, OpenVZ, zone Solaris

Contenitori di applicazioni

I contenitori di applicazioni non sono così versatili come i contenitori di sistema, che possono eseguire più processi contemporaneamente. I contenitori delle applicazioni portano quel nome anche perché sono destinati a servire un'applicazione eseguendo una ed una sola azione eseguibile. I contenitori di applicazioni esistono per creare pacchetti e gestire un singolo servizio e non supportano file system a più livelli.

Le tecnologie dei container servite: Docker, Razzo

IBM e i contenitori

La containerizzazione richiede sforzi e attrezzature aggiuntivi, ma paga dividendi. Gli strumenti di orchestrazione dei contenitori possono semplificare l'esperienza dei contenitori per i tuoi ambienti di produzione, indipendentemente dalla posizione dei tuoi prodotti nei rispettivi cicli di vita.

Con i servizi container di IBM, basati su tecnologie open source come Kubernetes, puoi facilitare e accelerare il tuo percorso verso il cloud in modo rapido, sicuro e produttivo.

Esplora i contenitori su IBM Cloud

Ulteriori informazioni su Red Hat OpenShift su IBM Cloud

Esplora il servizio IBM Cloud Kubernetes

questo articolo è stato utile?

Non


Altro da Cloud




IBM Tech Now: 26 febbraio 2024

<1 min leggere - ​Diamo il benvenuto a IBM Tech Now, la nostra serie web di video con le novità e gli annunci più recenti e importanti nel mondo della tecnologia. Assicurati di iscriverti al nostro canale YouTube per ricevere una notifica ogni volta che viene pubblicato un nuovo video IBM Tech Now. IBM Tech Now: Episodio 92 In questo episodio tratteremo i seguenti argomenti: IBM watsonx ordina EDGE3 + watsonx G2 Premi Best of Software Rimani connesso Puoi consultare gli annunci del blog IBM per un elenco completo...




IBM Cloud offre funzionalità cloud sovrane per l'azienda

5 min leggere - Poiché vediamo che le aziende devono affrontare sempre più requisiti geografici in materia di sovranità, IBM Cloud® si impegna ad aiutare i clienti ad andare oltre la complessità in modo che possano guidare una vera trasformazione con tecnologie cloud ibride innovative. Riteniamo che ciò sia particolarmente importante con l’avvento dell’intelligenza artificiale generativa. Sebbene l’intelligenza artificiale possa senza dubbio offrire un vantaggio competitivo alle organizzazioni che ne sfruttano efficacemente le capacità, abbiamo riscontrato preoccupazioni uniche da settore a settore e da regione a regione che devono essere prese in considerazione, in particolare riguardo ai dati. Noi fortemente…




Innovazione con IBM® LinuxONE

4 min leggere - Il server IBM® LinuxONE sfrutta sessant'anni di esperienza IBM nella progettazione di infrastrutture per l'impresa moderna per fornire un server Linux appositamente realizzato per transazioni e data-serving. Pertanto, IBM LinuxONE è progettato per fornire sicurezza, scalabilità, affidabilità e prestazioni, mentre è progettato per offrire un uso efficiente della potenza e dell'ingombro del data center per un cloud computing sostenibile ed economicamente vantaggioso. Siamo ora alla quarta generazione di server IBM LinuxONE con IBM LinuxONE Emperor 4 (disponibile da settembre 2022) e IBM...

Newsletter IBM

Ricevi le nostre newsletter e aggiornamenti sugli argomenti che forniscono la leadership di pensiero più recente e approfondimenti sulle tendenze emergenti.

Iscriviti ora

Altre newsletter

Timestamp:

Di più da IBM