2013-06-11 15 views
8

Sto cercando di decidere quando un container LXC può essere una scelta migliore rispetto all'utilizzo di una VM completa.Quali sono i casi di utilizzo tipici di LXC rispetto a VM?

Avete in mente casi di utilizzo precisi che possono portare argomenti in un modo o nell'altro?

LXC è più orientato al "PaaS" per eseguire applicazioni senza controllo hardware? Abbiamo sempre bisogno di utilizzare la VM su una prospettiva "IaaS" in cui vogliamo il controllo dell'infrastruttura?

saluti,

risposta

5

Non credo che IaaS abbia bisogno di macchine virtuali. Con LXC puoi definire # di cpushare e limite di memoria dell'utente.

Il fatto è che le macchine virtuali sono piuttosto pesanti quindi, ad esempio PHP/MySQL/Apache, avresti 1 VM. Come LXC sono leggeri, potresti avere 3 LXC, quindi è molto meglio per il ridimensionamento, (se hai bisogno di dividere mysql, basta duplicare il mysql LXC)

1

Per me il vantaggio di LXC è vero aiuterà ad avere davvero un piccolo ambiente. Quindi usa pieno quando hai solo un'app da eseguire su di esso. Se si desidera eseguire più app nel proprio ambiente, una VM è migliore. Un altro caso in cui una VM è migliore è quando si desidera utilizzare un altro kernel rispetto al kernel host.

Per me lxc è solo un sistema VM davvero leggero. Con velocità e dimensioni migliori. Ma il vincolo non può essere quello che ti serve.

8

LXC è come una prigione chroot con steroidi. Per ragioni, si può considerare una VM leggera (anche se non è affatto una VM).

Se hai già provato a scrivere un'applicazione progettata per vivere su un'infrastruttura effimera, LXC ti consente di farlo con meno costi di gestione.

Per me, la cosa più bella di LXC è la comunità che cresce intorno ad esso. Prendi in considerazione qualcosa come docker - un'immagine docker è relativamente portatile. Fornisce gli strumenti per configurare contenitori identici su hardware fisico o all'interno di una VM VirtualBox in esecuzione sul desktop o all'interno di VM fornite da Amazon o Rackspace. Questo ci avvicina al sogno di scrivere una volta sola ovunque.

+3

LXC è più simile a un chroot con steroidi che a una VM leggera. LXC non virtualizza una macchina, quindi non è affatto una macchina virtuale. –

+0

Grazie per averlo aggiornato per maggiore chiarezza –

2

L'avvio di LXC è molto più rapido delle macchine virtuali e utilizza un numero inferiore di risorse host per contenitore rispetto alle macchine virtuali, quindi sono l'ideale per combinazioni di imballaggio di molti processi isolati su un host e/o avvio frequente.

Un caso d'uso è per l'esecuzione di test di unità in ambienti riproducibili (se combinato con un file system snapshot, come previsto da Docker). È possibile avviare un intero contenitore, eseguire il test e spegnerlo il più velocemente possibile. Il vantaggio di LXC sarebbe che tutte le dipendenze non-kernel del test sarebbero all'interno del contenitore. Potrebbe anche essere un altro aspetto di Linux (ad esempio l'host potrebbe essere Ubuntu e il contenitore potrebbe eseguire Centos, anche se devono condividere il kernel dell'host).

Problemi correlati