Jump to section

A cosa servono i container?

Copia URL

Di pari passo alla crescente complessità delle applicazioni, è aumentata anche la necessità di processi e tempi di sviluppo più rapidi. Occorre pertanto adottare misure che abbiano un impatto positivo su infrastrutture, team e processi. I container riducono i problemi di sovraccarico e accelerano le iterazioni nei diversi ambienti.

Come incrementare l'agilità aziendale con il cloud ibrido e i container

I container consentono di raggruppare e isolare le applicazioni insieme al relativo ambiente di runtime, che include tutti i file necessari per l'esecuzione. In questo modo è più facile spostare applicazioni tra gli ambienti (sviluppo, test, produzione, ecc.) conservandone tutte le funzionalità. I container rivestono un ruolo importante anche per la sicurezza IT. Integrando la sicurezza nella pipeline dei container e proteggendo l'infrastruttura, è possibile garantire la protezione, la scalabilità e l'affidabilità dei container. Diventa semplice anche spostare l'applicazione containerizzata tra diversi ambienti cloud (public cloud, private cloud, hybrid cloud) e i datacenter (o in locale) mantenendo coerenti comportamento e funzionalità.

 

 

I container contribuiscono a ridurre i conflitti fra team operativi e di sviluppo, separandone le aree di competenza, affinché possano concentrarsi, rispettivamente, sull'infrastruttura e sulle app. Poiché i container si basano sulla tecnologia open source, puoi usufruire di tutte le funzionalità più recenti e più utili a mano a mano che si rendono disponibili. Le tecnologie container, come Podman, SkopeoBuildahCRI-O, Kubernetes e Docker, consentono ai team IT di semplificare, accelerare e orchestrare lo sviluppo e il deployment delle applicazioni.

I container condividono lo stesso kernel del sistema operativo e isolano l'applicazione dal resto del sistema, in modo che sia possibile spostare, aprire e utilizzare l'intero insieme all'interno delle configurazioni di sviluppo, test e produzione. Essendo leggeri e portabili, i container offrono la possibilità di uno sviluppo rapido per venire incontro alle esigenze aziendali quando necessario. 

 

Grazie ai container, i team operativi e di sviluppo hanno la possibilità di concentrarsi, rispettivamente, sull'infrastruttura e sulle app. L'orchestrazione dei container consente di gestire i deployment in tutto l'ambiente enterprise.

Kubernetes è una piattaforma open source che automatizza le operazioni dei container Linux. Consente di eliminare molti dei processi manuali coinvolti nel deployment e nella scalabilità di applicazioni containerizzate. Utilizzando Kubernetes potrai usufruire di una piattaforma per programmare ed eseguire i container su cluster di macchine fisiche o virtuali. L'architettura Kubernetes separa un cluster in componenti che, agendo in sinergia, conservano lo stato previsto del cluster.

Red Hat® OpenShift® 4 è una piattaforma Kubernetes di livello enterprise, che offre agli sviluppatori ambienti di lavoro self service e processi automatizzati per l'intero stack su qualsiasi infrastruttura.

I container, i cluster e Ansible si uniscono all'automazione guidata dagli eventi

Basandosi su OpenShift, puoi utilizzare insieme Red Hat Advanced Cluster Management e Red Hat Ansible® Automation Platform per distribuire e gestire in modo efficiente più cluster Kubernetes in ambienti diversi.

Il deployment dei container può essere eseguito per più carichi di lavoro ed esempi di utilizzo, dai più ridotti ai più estesi. I container forniscono ai tuoi team le tecnologie necessarie ad adottare uno stile di sviluppo cloud native. Ciò ti permette di iniziare a implementare i principi DevOps e CI/CD (integrazione e deployment continui), e anche i metodi serverless.

Le applicazioni containerizzate possono essere eseguite in architetture cloud altamente distribuite. La soluzione middleware Red Hat Application Runtimes offre gli strumenti per supportare un ambiente unico per lo sviluppo, l'erogazione, l'integrazione e l'automazione.

La possibilità di eseguire il deployment delle tecnologie di integrazione nei container ti consente di collegare in modo scalabile app e dati, ad esempio attraverso lo streaming dei dati in tempo reale con Apache Kafka. Se stai realizzando un'architettura a microservizi, i container sono l'unità di deployment ideale per ogni microservizio e la rete di service mesh che li tiene connessi.

Se la tua azienda ha bisogno di garantire la massima portabilità tra ambienti diversi, i container potrebbero fornire la soluzione più semplice.

 

Niente è sicuro per impostazione predefinita. I criteri di sicurezza statici e le checklist non funzionano per i container enterprise, ma devi comunque trovare un sistema per proteggerli. Le soluzioni Red Hat possono aiutarti a rafforzare la sicurezza dell'intero stack applicativo e del ciclo di vita dei container.

Nonostante talvolta vengano confusi, Docker e i container Linux tradizionali sono due tecnologie diverse. Inizialmente, la tecnologia Docker si basava sulla tecnologia LXC, spesso associata ai container Linux "tradizionali", ma ormai lontana da quella dipendenza. LXC era utile per la virtualizzazione leggera, ma non offriva un'esperienza ottimale agli utenti o agli sviluppatori. La tecnologia Docker offre molto più della possibilità di eseguire container: semplifica anche il processo di creazione e consolidamento dei container, l'invio delle immagini e il controllo delle versioni delle immagini, tra le altre cose.

I container Linux tradizionali si avvalgono di un sistema di inizializzazione in grado di gestire più processi, il che fa sì che intere applicazioni possano essere eseguite come una sola. La tecnologia Docker favorisce la suddivisione delle applicazioni nei singoli processi che le compongono e offre gli strumenti per farlo. Questo approccio granulare ha i suoi vantaggi.

La virtualizzazione esegue il provisioning delle risorse utilizzate dai container. Le macchine virtuali (VM) sono ambienti in cui è possibile eseguire dei container, che però non sono vincolati agli ambienti virtuali. Alcuni software, come Red Hat® OpenShift® Virtualization sono in grado di orchestrare i container e gestire le macchine virtuali. Tuttavia, ciò non significa che VM e container siano la stessa cosa.
Le VM presentano capacità finite, poiché gli hypervisor che le creano sono vincolati alle risorse finite di una macchina fisica. I container, invece, condividono lo stesso kernel del sistema operativo e raggruppano le applicazioni.
La virtualizzazione esegue il provisioning delle risorse utilizzate dai container. Le macchine virtuali (VM) sono ambienti in cui è possibile eseguire dei container, ma i container non sono vincolati agli ambienti virtuali. Alcuni software, come Red Hat® OpenShift® Virtualization, sono in grado di orchestrare i container e gestire le macchine virtuali. Tuttavia, ciò non significa che VM e container siano la stessa cosa.
Le VM presentano capacità finite, poiché gli hypervisor che le creano sono vincolati alle risorse finite di una macchina fisica. I container, invece, condividono lo stesso kernel del sistema operativo e raggruppano le applicazioni.

Webinar in italiano

Verso un modello cloud native: il container oltre la virtualizzazione

Adottare approcci e tecnologie agili consente di semplificare la transizione a modelli cloud native e approcci DevOps. Scopri come sostenere la trasformazione digitale e con quali strumenti riprogettare le applicazioni.

Red Hat fornisce un contributo notevole allo sviluppo delle tecnologie dei container, nell'ambito dell'intera community open source. I nostri tecnici collaborano al miglioramento di funzionalità, affidabilità e sicurezza, per garantire container stabili e ad alte prestazioni. Red Hat è anche il secondo tra i principali sponsor delle codebase Docker e Kubernetes, e collabora con l'Open Container Initiative e la Cloud Native Computing Foundation. Nel rispetto dei principi dell'open source, Red Hat collabora ai progetti upstream migliorando il codice e promuovendo i risultati attraverso la condivisione.

Le soluzioni e le offerte formative basate sui container di Red Hat mettono a disposizione l'infrastruttura, la piattaforma, il controllo e le competenze necessari per sfruttare tutte le potenzialità dei container.

 

 

 

Icon-Red_Hat-Media_and_documents-Quotemark_Open-B-Red-RGB Grazie ai miglioramenti conseguiti nello sviluppo del software legati a velocità, efficienza e semplicità, sempre più aziende operanti in diversi settori si sentono incentivate a implementare i container Linux lungo l'intero ciclo di sviluppo del software.

Source: The state of containerization: A technology adoption profile conducted by Forrester Consulting and commissioned by Red Hat

GIUGNO 2016

Approfondisci

Articolo

Container e VM

I container Linux e le macchine virtuali (VM) sono entrambi pacchetti di ambienti di elaborazione che combinano vari componenti IT e li isolano dal resto del sistema.

Articolo

Cos'è l'orchestrazione dei container?

Definiamo orchestrazione dei container l'automazione dei processi di deployment, gestione, scalabilità e networking dei container.

Articolo

Cos'è un container Linux?

Un container Linux è un insieme di processi, isolati dal resto del sistema, che esegue un'immagine distinta contenente tutti i file necessari per supportare tali processi.

Scopri di più sui container

Prodotti

Una piattaforma applicativa aziendale che offre servizi verificati per consentire la distribuzione delle app sulle infrastrutture preferite.

Risorse

Checklist

10 considerazioni sui deployment Kubernetes

Checklist

Sei considerazioni per scegliere la piattaforma Kubernetes giusta

Serie Open Answers: Cos'è Red Hat OpenShift?

Formazione

Corso di formazione gratuito

Running Containers with Red Hat Technical Overview

Corso di formazione gratuito

Containers, Kubernetes and Red Hat OpenShift Technical Overview

Corso di formazione gratuito

Developing Cloud-Native Applications with Microservices Architectures