Casa Attività commerciale Contenitori, spiegato

Contenitori, spiegato

Sommario:

Video: Non buttate via i contenitori di plastica e trasformateli in fantastici e utili oggetti (Settembre 2024)

Video: Non buttate via i contenitori di plastica e trasformateli in fantastici e utili oggetti (Settembre 2024)
Anonim

Ormai i container sono un concetto familiare per il reparto IT. Le più piccole e medie imprese (PMI) più agili potrebbero già usarle. Per quanto riguarda lo sviluppo di applicazioni e l'infrastruttura IT, i container Linux sono alla moda come vedrai con questo tipo di tecnologia.

In effetti, 451 Research prevede che il mercato dei container per applicazioni si espanderà da $ 762 milioni nel 2016 a $ 2, 7 miliardi entro il 2020. Nel frattempo, Gartner prevede che oltre il 50% delle organizzazioni globali eseguirà applicazioni containerizzate nel 2020, con un aumento da meno del 20% in 2017.

Abbiamo già spiegato in che modo l'architettura modulare dell'applicazione dei microservizi aiuta lo sviluppo e i team IT a lavorare in modo più efficiente, riducendo i costi e la complessità dell'aggiunta di nuove funzionalità e funzionalità. Da un punto di vista tecnologico, i contenitori sono l'agente catalizzatore di tale equazione DevOps. Sono il pacchetto conveniente attraverso il quale DevOps e i team IT possono passare rapidamente e in modo coerente il codice, le configurazioni e le dipendenze di un'applicazione.

Ma cosa significa veramente per la tua azienda? Ho parlato con soluzioni IT aziendali e società di software open source Red Hat per scoprirlo. Questa spiegazione illustrerà non solo quali sono i contenitori e come funzionano, ma anche i diversi modi in cui, una volta compresa la tecnologia, la tua organizzazione può utilizzare distribuzioni containerizzate in cima al tuo data center o infrastruttura cloud per fornire software di qualità più velocemente.

Contenitori 101

Al loro livello più elementare, i container Linux sono giustamente chiamati per i container di spedizione in metallo a cui sono spesso equiparati. Che si tratti di una nave mercantile, di un treno merci o sul retro di un grosso camion, il container stesso è la stessa nave uniforme per il trasporto di merci. Lars Herrmann, General Manager della Business Unit Integrated Solutions di Red Hat, sovrintende alla tecnologia container Linux dell'azienda. Herrmann ha affermato che le aziende dovrebbero semplicemente considerare i contenitori come una nuova unità di lavoro.

"I contenitori riguardano l'agilità", ha detto Herrmann. "In un'organizzazione complessa, si tratta di assegnare responsabilità insieme alla libertà di fornire funzionalità. I ​​container offrono questa tecnologia per tenere tutto insieme, pur gestendo la responsabilità di sicurezza, disponibilità, conformità normativa, tutto ciò che conta."

Clicca sull'immagine per una infografica completa. Credito immagine: Twistlock

In questo modo, l'omogeneità dei contenitori li rende blocchi di facile utilizzo. Sono unità piccole e collegabili su cui è possibile costruire un'architettura di microservizi che tiene conto dell'efficienza operativa e del controllo della versione. Allo stesso tempo, offrono a DevOps e ai team IT un controllo granulare su come implementare le risorse dell'infrastruttura. Herrmann ha anche sottolineato che i container sono fondamentalmente una tecnologia di sistema operativo (OS).

"I contenitori prendono il sistema operativo e lo dividono in due pezzi", ha spiegato Herrmann. "Da un lato, ottieni l'unità di lavoro per l'applicazione, che contiene il codice dell'applicazione e le dipendenze in un modo che può essere ottimizzato dai team DevOps e loro autonomia e controllo per prendere decisioni quando vogliono. Non è più necessario aspettare altre squadre.

"L'altro pezzo è il kernel del sistema operativo. Il kernel del sistema operativo e il payload del contenitore forniscono supporto per le risorse e le primitive che desideri siano disponibili come archiviazione, rete e sicurezza. Poiché i contenitori sono una tecnologia del sistema operativo, puoi eseguirli ovunque, sia virtuale host o un cloud pubblico. Quella qualità ibrida ti consente di gestire qualsiasi applicazione in qualsiasi ambiente utilizzando la stessa tecnologia e allo stesso tempo potenziando i team DevOps."

Anche i contenitori non sono la stessa cosa della virtualizzazione. Herrmann ha spiegato che i contenitori e la virtualizzazione sono forze reciproche. La virtualizzazione emula un ambiente hardware virtuale per eseguire vari stack software; fornisce quello che viene chiamato un livello di astrazione per dare flessibilità a quell'ambiente di cloud computing su come le applicazioni e i dati sono strutturati e distribuiti. Quindi, su un singolo kernel del sistema operativo virtualizzato, è quindi possibile eseguire più server o istanze. I contenitori sono le istanze.

"C'è ancora molta confusione nel confondere i contenitori con la virtualizzazione", ha affermato Herrmann. "La virtualizzazione risolve un problema diverso e pensiamo che i contenitori e la virtualizzazione si completino perfettamente a vicenda. La virtualizzazione fornisce astrazione ed emulazione e, con i contenitori, si ottiene un simile tipo di astrazione ma senza l'emulazione. Insieme, non offrono costi misurabili e un sacco di efficienza operativa, ma può essere difficile separare i due ".

Una rapida suddivisione del panorama dei container

I DevOps e i principi agili di cui stiamo parlando in merito ai container non sono nuovi in ​​quanto risalgono al concetto di architettura orientata ai servizi (SOA), che è dettagliato nel nostro descrittore di microservizi sopra. Il moderno contenitore Linux è stato inventato quando Docker ha cambiato il gioco. Docker è un paio di cose diverse ma, prima di tutto, è una tecnologia open source molto popolare che è stata sviluppata dal Progetto Docker nel 2013. È progettata per l'imballaggio, la spedizione e l'esecuzione di qualsiasi applicazione come contenitore leggero. Nel 2017 Docker ha aggiunto la possibilità di eseguire container Linux su Windows utilizzando la tecnologia Hyper-V.

Docker è tra i vari progetti open source che stanno contribuendo a modellare la tecnologia e lo spazio. Kubernetes, originariamente sviluppato da Google e ora gestito dalla Cloud Native Computing Foundation, è un sistema open source per automatizzare l'implementazione, il ridimensionamento e la gestione dei container. Docker e Kubernetes sono i due grandi progetti open source che dominano maggiormente lo sviluppo della tecnologia. Infatti, ad aprile Dockers ha rilasciato la Docker Enterprise Edition (EE) 2.0, che consente agli utenti di gestire e proteggere i propri carichi di lavoro in Kubernetes in un ambiente multi-Linux, multi-OS o multi-cloud. Questa flessibilità riduce la possibilità che le aziende siano bloccate in una determinata tecnologia o infrastruttura. Docker afferma che EE 2.0 consente alle aziende di ottenere una maggiore efficienza in termini di costi gestendo le applicazioni da un'unica interfaccia di controllo per tenere traccia di immagini, archiviazione e reti.

Ci sono dozzine di altre aziende, insieme a Project Atomic di Red Hat (per stack Docker / Kubernetes combinati) e Open Container Initiative della Linux Foundation che mirano a creare standard di settore aperti intorno ai container. Per Docker, sono state le immagini Docker a dare fuoco al mondo dello sviluppo. Un contenitore memorizza il codice, le librerie e i file di configurazione per eseguire un'immagine in qualsiasi posizione. "I container avevano tutti messo i servizi sullo stesso nodo fino a quando Docker non ha introdotto la nozione di distribuzione basata su immagini", ha affermato Herrmann.

Clicca sull'immagine per una infografica completa. Immagine: The Docker Survey, 2016

Docker è anche una startup (fondata nel 2010 come dotCloud) che ha raccolto finanziamenti per oltre 242 milioni di dollari. La società offre una suite di strumenti Enterprise Container-as-a-Service (CaaS) per implementazioni Docker in data center e cloud privati. Ovviamente, quando si tratta di gestione dei container aziendali, Docker non è il solo nello spazio. Red Hat offre la propria suite di strumenti per sviluppatori CaaS aziendale attraverso i suoi prodotti Red Hat Enterprise Linux (RHEL), OpenShift e JBoss.

Sempre più grandi aziende tecnologiche hanno preso parte all'azione. Amazon Web Services (AWS), Microsoft Azure e Google Cloud Platform (GCP) hanno tutti gli strumenti integrati di orchestrazione e gestione dei container integrati nelle rispettive piattaforme IaaS (cloud-as-a-service). L'8 maggio, Microsoft ha annunciato una partnership con Red Hat per consentire agli sviluppatori di eseguire software basato su container in Azure. Lo stesso giorno, IBM ha riferito che avrebbe ampliato la sua collaborazione con Red Hat per consentire agli sviluppatori di creare applicazioni su una piattaforma container integrata. Nel giro di pochi anni, lo spazio container è diventato piuttosto affollato.

Quali problemi aziendali possono risolvere i contenitori?

Quando si tratta di implementare architetture applicative moderne e principi DevOps all'interno di un'azienda, i container sono la risposta a una serie di problemi. Soprattutto quando l'organizzazione è radicata nella tecnologia legacy e nelle tradizionali politiche di sviluppo, i container sono la piattaforma facilmente integrabile che può facilitare la transizione e semplificare il reparto IT.

"In questo momento, vediamo la containerizzazione come il modo più pratico per introdurre cloud, DevOps e microservizi nel tuo ambiente. I container si integrano naturalmente con le tecnologie che già possiedi", ha affermato Herrmann.

Rich Sharples, Senior Director of Product Management for Middleware presso Red Hat, ha affermato che si tratta di fornire software di qualità a cadenza più rapida. Tutte le aziende stanno cercando di distribuire software più velocemente per competere sui propri mercati e quella pressione spesso cade su un reparto IT sovraccarico di lavoro. Sharples afferma che i contenitori sono un modo per produrre applicazioni e servizi che possono essere cambiati più rapidamente, sia che si tratti di aggiungere una nuova funzionalità o di una correzione di sicurezza critica, mantenendo la qualità. Ha anche parlato dell'infrastruttura containerizzata come ponte per preparare le imprese ai microservizi.

"Abbiamo questo principio di progettazione: non possiamo permetterci di lasciare indietro qualsiasi applicazione", ha affermato Sharples. "Siamo in questo meraviglioso nuovo mondo di DevOps e sviluppo software agile. Ma le aziende non possono riscrivere tutte le loro applicazioni per unirsi alla festa. Come possiamo spostarle verso queste nuove idee?

"Investire in piattaforme come i container è un modo per assicurarsi che l'organizzazione sia pronta per iniziare a costruire qualcosa come i microservizi. I microservizi e i container insieme è il vero potere. Non c'è nulla di interessante in un singolo microservizio; è solo nella pluralità che vedi questo rete cooperativa costituita da blocchi discreti di funzionalità."

Credito immagine: Docs.Docker.com

Valutare se investire e adottare contenitori non riguarda solo la tecnologia. Sharples ha spiegato che per passare con successo a DevOps, che incorpora container e microservizi, avrai bisogno dell'architettura, delle piattaforme sottostanti e dei processi agili in atto.

"Questa non è solo una decisione tecnologica", ha detto Sharples. "Devi pensare se la tua organizzazione è pronta, se hai particolari problemi di consegna del software che devi risolvere, e capire che aspetto hanno i driver di business in termini di automazione e DevOps. Comprendi i requisiti chiave, esamina le esigenze dei diversi progetti e quindi decidere quale combinazione di cloud, architettura delle applicazioni e tecnologia container può far sì che ciò avvenga."

Herrmann ha fornito ai dipartimenti IT aziendali tre consigli su come adattarsi ai container nella loro organizzazione:

1. Inizia

Secondo Herrmann, la combinazione di DevOps, agile, container, microservizi non è solo un cambiamento tecnologico nell'isolamento. "È un viaggio che porta a una trasformazione piuttosto significativa nel modo in cui opererà la tua azienda", ha affermato. "Il mio primo consiglio è quello di iniziare perché lo sono i tuoi concorrenti. Lasciare che i primi utenti mettano insieme i pezzi è la strategia sbagliata perché potresti non recuperare."

2. Visione completa

Herrmann ha consigliato di avvicinarsi ai contenitori da un punto di vista più olistico. "Scegli il tuo obiettivo più importante", ha detto. "La capacità di fornire software più velocemente è un ottimo punto di partenza. Basandoti su quell'unico obiettivo, pensa a come portare la tua organizzazione nel processo e strutturi questo lavoro senza rischi e sfornando le tue operazioni esistenti."

3. Ecosistema

Molte aziende stanno raggiungendo il punto in cui sono vincolate dall'architettura, dai processi e dalle piattaforme legacy, ha sottolineato Herrmann. "Non puoi cambiare l'architettura senza pensare alle piattaforme su cui vuoi contare", ha detto. "Quindi la domanda è: con chi lavoro? Con chi parlo? La nostra raccomandazione è quella di cercare aziende che possano aiutare non solo con i problemi tecnologici ma gestire la trasformazione su tutte queste dimensioni: tecnologia, processo, fino in fondo all'organizzazione. Quando hai a che fare con cloud, DevOps, container e microservizi tutti insieme, vuoi fare affidamento su un ecosistema che può aiutarti a raggiungere il successo in un breve periodo di tempo e risparmiarti dai vicoli ciechi."

Contenitori, spiegato