Amazon Linux, originariamente basato su Red Hat, è una distribuzione aerodinamica che è ottimizzata per essere eseguita su istanze EC2. È personalizzato per affrontare le sfide della piattaforma e fornire una serie di strumenti per integrare perfettamente con i servizi EC2. Non è una distribuzione Linux autonoma ed è disponibile solo per l'uso su un ambiente EC2.
Amazon e la community rendono disponibile AMI (Amazon Machine Images). Queste sono macchine essenzialmente pre-costruite che possono essere rapidamente girate su EC2 per rimuovere alcune delle funzioni di amministrazione di sistema di sistema del sistema operativo e iniziali. Ci sono un'ampia varietà di OS AMI disponibili per l'installazione con Windows e Linux Distrys.
Quindi con così tante scelte, che è la migliore distribuzione da utilizzare su EC2? Confronterò Amazon Linux con Red Hat Enterprise Linux (RHEL) per evidenziare le differenze e le possibili ragioni per sceglierne l'una sopra l'altra sulla piattaforma EC2.
Integrazione
Entrambi i distro sono offerti nell'ambiente EC2 come AMI. Ciò semplifica l'istanziazione di un nuovo ambiente con solo pochi clic. Puoi far girare uno di questi ambienti solo in pochi minuti. Dove la differida differimento di questi sistemi operai è nel livello di integrazione che Amazon ha incluso con la sua distro di omonimo. Ha incluso strumenti standard che migliorano l'integrazione e le prestazioni con il suo ambiente EC2. Red Hat non offre questi strumenti come pacchetto standard incluso con la Distro, ma molti di questi strumenti possono essere installati separatamente dai repository.
Un aspetto negativo della stretta integrazione di Amazon Linux a EC2 è il fatto che gli ambienti di Amazon Linux non possono essere migrati su un'altra piattaforma cloud. Una decisione di separarsi da EC2 significherebbe che dovresti migrare a una distribuzione diversa. Anche se questo non è un ostacolo insormontabile, è qualcosa di cui essere consapevoli quando si sceglie una distribuzione. Questo accoppiamento presenta anche un problema quando si tratta di ambienti di sviluppo. Poiché Amazon Linux può essere eseguito solo su EC2, anche i sistemi di sviluppo e QA devono essere su EC2. Ciò aggiunge costi al progetto, sebbene non completamente trascurabili, questi costi potrebbero essere bassi se si abbassa i sistemi alla fine della giornata e non si utilizzano molti throughput dei dati o si dispongono di grandi livelli di persistenza.
RHEL può essere configurato su qualsiasi server sia locale che su EC2 questo consente al tuo team di sviluppo e QA di lavorare senza soluzione di continuità tra il cloud e le istanze di sviluppo locale. Ciò potrebbe rappresentare un risparmio se si dispone di hardware locale che viene utilizzato a questo scopo. Questa indipendenza ti consente anche di migrare l'ambiente su un altro provider cloud o server in generale. Se non sei sicuro di rimanere parte della famiglia Amazon EC2, potrebbe essere una buona idea evitare il sistema operativo specifico della loro piattaforma. L'uso di Amazon Linux può rendere le cose un po 'una sfida se decidi di cambiare i provider.
Prestazione
Come si può concludere da una distribuzione curata di Amazon, le prestazioni e l'integrazione sono adattate all'ambiente cloud EC2. Amazon Linux offre aggiornamenti rotolanti che includono strumenti di miglioramento delle prestazioni e funzionalità di sicurezza specifiche per EC2.
Questo articolo mostra i parametri di riferimento di Amazon Linux e RHEL in esecuzione su EC2. Da questo punto di riferimento, Amazon Linux offre prestazioni migliori in alcune aree. Questi aumenti delle prestazioni sono solo lievi rispetto alla concorrenza ma potrebbero rappresentare prestazioni migliori per un'applicazione di produzione.
Aggiornamenti
Uno dei punti più grandi che viene menzionato quando si discute dell'argomento di Amazon Linux sono gli aggiornamenti rotolanti. Quando si sceglie un ambiente per la produzione, è fondamentale scegliere una distribuzione e una versione stabile che non causano la crash e la bruciatura dell'applicazione in produzione.
Una configurazione out-of-the-box per Amazon Linux sta rotolando gli aggiornamenti. Questa funzione rende il tuo sistema aggiornato con i pacchetti e le modifiche più recenti quando vengono rilasciati. Questo è ottimo per gli sviluppatori di bordo sanguinante che vogliono iniziare a usare i giocattoli più recenti non appena vengono rilasciati. Tuttavia, le modifiche alla dipendenza e gli aggiornamenti del sistema operativo potrebbero avere importanti impatti su un'applicazione di produzione in esecuzione quando le modifiche vengono rilasciate.
Rhel, d'altra parte, rilascia versioni LTS che rimangono stabili per anni dopo il loro rilascio. Ciò fornisce un punto di partenza coerente per il tuo sviluppo senza bisogno di aggiornare frequentemente le dipendenze dell'applicazione. Ciò elimina la preoccupazione con gli aggiornamenti in tempo reale che potrebbero provocare il caos sulla tua applicazione.
Detto questo, gli aggiornamenti di rotolamento sono un'impostazione di configurazione in Amazon Linux. La configurazione può essere impostata per disattivare gli aggiornamenti di rotolamento ed eliminare alcune delle preoccupazioni con questa funzione. Poiché Amazon non garantisce che gli aggiornamenti di sicurezza o le correzioni di bug nelle versioni precedenti, potrebbe comunque essere necessario aggiornare su base periodica. I cambiamenti di dipendenza e gli aggiornamenti frequenti potrebbero causare mal di testa per piccoli team di sviluppo il cui obiettivo principale è fornire la loro applicazione al mercato.
Conclusione
Quindi qual è la migliore distribuzione di Linux per Amazon EC2? Questa domanda dipende da una serie di fattori che vanno dalla necessità di sicurezza e prestazioni, tolleranza al rischio e quanto ami EC2. Amazon Linux offre una stretta integrazione che fornisce a un team di sviluppo con versioni di sicurezza aggiornate e strumenti per bordo sanguinamento per massimizzare le prestazioni su EC2.
Con questa stretta integrazione arrivano alcuni mal di testa. RHEL fornisce un ambiente di rilascio stabile su cui gli sviluppatori possono fare affidamento per anni senza dover aggiornare. La sua capacità di migrare su diverse piattaforme cloud e di essere utilizzata su ambienti di sviluppo interni può salvare mal di testa se si migrano su un altro provider cloud.