Con orchestrazione dei containers si intendono il processo e gli strumenti utilizzati per gestire i containers nell'intero ciclo di vita e il loro modo di interagire e comunicare su una scala più ampia. Questi processi in genere vengono gestiti tramite piattaforme ad hoc.
Maggiori informazioni sui containers
Quali sono i vantaggi dell'orchestrazione dei containers?
Senza orchestrazione, scalare l'uso dei containers potrebbe aumentare enormemente il lavoro richiesto per gestirli. Quando un'organizzazione arriva ad avere più di mille containers, la gestione può richiedere tanto tempo, azzerando i vantaggi offerti dall'efficienza e dalla velocità dei containers.
L'orchestrazione dei containers è sempre più automatizzata per semplificare il lavoro necessario per attivare o disattivare un numero elevato di containers.
Inoltre l'orchestrazione dei containers può essere utile per:
- Le attività di standardizzazione, sicurezza e governance che le grandi aziende e organizzazioni devono eseguire quando applicano strategie di containerizzazione.
- La gestione e la stabilizzazione delle risorse, grazie alla possibilità di controllare e gestire meglio come vengono utilizzate e allocate le risorse.
- Il logging e gli analytics, che offrono una visibilità e informazioni approfondite utili per avere una vista d'insieme delle applicazioni.
- Una scalabilità più semplice e fluida degli ambienti container aziendali.
- Una disponibilità e una ridondanza migliori.
Cosa fanno le piattaforme di orchestrazione dei containers?
Le piattaforme di orchestrazione dei containers possono di automatizzare le fasi di gestione dei workload di un container, tra cui:
- Provisioning
- Deployment e pianificazione
- Gestione dei cluster
- Bilanciamento del carico e allocazione delle risorse per ottimizzare le risorse di calcolo
- Sicurezza e monitoraggio per poter attivare un altro container in caso di guasto o sostituire le immagini del container per risolvere una vulnerabilità
- Connettività dei containers per metterli in comunicazione con altri servizi
- Servizi di database e accesso
È possibile indicare alla piattaforma di orchestrazione quali processi eseguire e quando, così i team di sviluppo sono liberi di occuparsi di attività più rilevanti.
Quali sono le piattaforme di orchestrazione dei containers più diffuse?
Sul mercato esistono tante piattaforme di orchestrazione. Per scegliere quella giusta, tutto dipende dai requisiti delle applicazioni utilizzate, dalla dimestichezza dei team nell'uso dei containers, dalla strategia cloud e dalla complessità dei requisiti di sicurezza e conformità.
Tra le piattaforme di orchestrazione più diffuse possiamo citare:
- Kubernetes
- Piattaforme create per Kubernetes (es. Mirantis Kubernetes Engine, Azure Kubernetes Service, IBM Cloud Kubernetes Service e Google Kubernetes Engine)
- Amazon Elastic Container Service (ECS)
- Apache Mesos
- Red Hat OpenShift Container Platform
Le piattaforme di orchestrazione dei containers hanno funzioni di data storage?
In ambito di container storage, la possibilità di eseguire workload stateful come i database non era una priorità quando sono stati introdotti i containers. Questi venivano attivati per eseguire il workload prefissato e poi disattivati.
Ma nel tempo i workload dei containers sono diventati più complessi ed è aumentata la necessità di avere applicazioni stateful e, quindi, data storage persistente. L'idea era di poter riutilizzare lo storage persistente e avervi accesso con nuove istanze container anche dopo aver completato i workload iniziali.
Nel frattempo sono comparse soluzioni provvisorie, come la possibilità di esporre il file system host al container tramite i volumi. Ma i plug-in per i volumi sono stati superati da metodi più efficienti.
Le soluzioni di storage persistente nativo per i container di livello enterprise come Portworx® possono essere usate per fornire data storage a un cluster di containers in Kubernetes. La possibilità di fornire storage esterno on demand ha rivoluzionato il settore facendo spazio alle applicazioni containerizzate.
Che cos'è Kubernetes?
Kubernetes è uno dei sistemi di orchestrazione dei containers più diffusi. Ma cosa lo rende così speciale per il deployment delle applicazioni containerizzate su scala? L'automazione.
Quando sono presenti migliaia di containers e oltre, gestire la crescita incontrollata e la complessità dei containers è molto più fattibile con una piattaforma dedicata. Kubernetes semplifica e automatizza i diversi aspetti dell'orchestrazione in modo che i team DevOps possano gestire senza problemi architetture complesse basate sui containers. È perfino in grado di decidere autonomamente dove eseguire i workload e spostarli se funzionano meglio altrove.
Maggiori informazioni su Kubernetes