C’è un ciclo virtuoso nella tecnologia che spinge i confini di ciò che viene costruito e di come viene utilizzato. Un nuovo sviluppo tecnologico emerge e cattura l’attenzione del mondo. Le persone iniziano a sperimentare e scoprire nuove applicazioni, casi d’uso e approcci per massimizzare il potenziale dell’innovazione. Questi casi d’uso generano un valore significativo, alimentando la domanda per la prossima iterazione dell’innovazione e, a sua volta, una nuova ondata di innovatori crea la prossima generazione di casi d’uso, guidando ulteriori progressi.
La containerizzazione è diventata la base dello sviluppo di software program moderno, nativo cloud, supportando nuovi casi d’uso e approcci per la costruzione di applicazioni resilienti, scalabili e portatili. Tiene inoltre le chiavi della prossima innovazione di consegna del software program, che richiede contemporaneamente l’evoluzione per software program sicuro per design e costantemente aggiornato e fungendo da mezzi per arrivarci.
Di seguito, parlerò attraverso alcune delle innovazioni che hanno portato alla nostra rivoluzione containerizzata, nonché advert alcuni dei tratti dello sviluppo del software program nativo cloud che hanno portato a questo punto di flesso-uno che ha spinto il mondo advert allontanarsi dalle tradizionali distro di Linux e verso un nuovo approccio alla consegna di software program open supply.
L’iterazione ci ha avvicinato all’ubiquità
Ci sono state molte innovazioni che hanno aperto la strada a una consegna open supply più sicura e performativa. Nell’interesse del tuo tempo e del mio conteggio delle parole, chiamerò tre pietre miliari particolari. Ogni passaggio, dai contenitori Linux (LXC) a Docker e alla high-quality l’Iniziativa Open Container (OCI), basato sul suo predecessore, affrontando le limitazioni e sbloccando nuove possibilità.
LXC ha gettato le basi sfruttando le capacità del kernel Linux (vale a dire cgroup e spazi dei nomi), per creare ambienti leggeri e isolati. Per la prima volta, gli sviluppatori potrebbero impacchettare le applicazioni con le loro dipendenze, offrendo un grado di coerenza tra diversi sistemi. Tuttavia, la complessità di LXC per gli utenti e la mancanza di un catalogo di distribuzione di immagini standardizzati hanno ostacolato l’adozione diffusa.
Docker è emerso come una tecnologia di container per il cambio di gioco. Ha semplificato il processo di creazione, gestione e condivisione di contenitori, rendendoli accessibili a un pubblico più ampio. L’interfaccia user-friendly di Docker e la creazione di Docker Hub, un repository centrale per le immagini del contenitore, hanno favorito un ecosistema vibrante. Questa facilità d’uso ha alimentato una rapida adozione, ma ha anche sollevato preoccupazioni sul blocco dei fornitori e sulla necessità di interoperabilità.
Riconoscendo il potenziale per la frammentazione, l’OCI (Open Container Initiative) è intervenuto per standardizzare i formati di container e la corsa. Definendo le specifiche aperte, l’OCI ha assicurato che i contenitori potessero essere costruiti e eseguiti su piattaforme various, promuovendo un panorama sano e competitivo. Progetti come Runc e Containerd, nati dall’OCI, hanno fornito una base comune per i gesti di contenitori e hanno consentito una maggiore portabilità e interoperabilità.
Gli customary OCI hanno inoltre consentito a Kubernetes (un altro customary neutrale dal neutro) di diventare una piattaforma veramente portatile, in grado di eseguire su una vasta gamma di infrastrutture e consentire alle organizzazioni di orchestrare le loro applicazioni in modo coerente tra diversi fornitori di cloud e ambienti locali. Questa standardizzazione e le sue innovazioni affiliate hanno sbloccato il pieno potenziale dei contenitori, aprendo la strada alla loro presenza onnipresente nello sviluppo moderno del software program.
Il software program (containerizzato) sta mangiando il mondo
I progressi in Linux, la rapida democratizzazione dei contenitori attraverso Docker e la standardizzazione dell’OCI sono stati tutti spinti dalla necessità, con l’evoluzione dei casi d’uso delle app cloud che spingono in avanti l’orchestrazione e la standardizzazione. Quelle caratteristiche dell’applicazione native del cloud evidenziano anche il motivo per cui un approccio generale a Linux Distros non serve più agli sviluppatori di software program con le basi più sicure e aggiornate su cui sviluppare:
Architettura orientata al microservizio: le applicazioni native cloud sono in genere costruite come una raccolta di piccoli servizi indipendenti, con ogni microservizio che svolge una funzione specifica. Ognuno di questi microservizi può essere costruito, distribuito e mantenuto in modo indipendente, il che fornisce un’enorme quantità di flessibilità e resilienza. Poiché ogni microservizio è indipendente, i costruttori di software program non richiedono pacchetti software program completi per eseguire un microservizio, basandosi solo sugli elementi essenziali all’interno di un contenitore.
Consapevoli delle risorse ed efficienti: le applicazioni native cloud sono costruite per essere efficienti e attenti alle risorse per ridurre al minimo i carichi sull’infrastruttura. Questo approccio ridotto si allinea naturalmente con i contenitori e una strategia di distribuzione effimera, con i nuovi contenitori distribuiti costantemente e altri carichi di lavoro aggiornati all’ultimo codice disponibile. Ciò riduce i rischi di sicurezza sfruttando i pacchetti software program più recenti, piuttosto che aspettare patch e backport di distribuzione.
Portabilità: le applicazioni native cloud sono progettate per essere portatili, con prestazioni e affidabilità coerenti indipendentemente da dove è in esecuzione l’applicazione. Come risultato di contenitori standardizzanti l’ambiente, gli sviluppatori possono andare oltre gli antichi “ha funzionato bene sulla mia macchina” del mal di testa del passato.
Il ciclo virtuoso di innovazione che guida nuovi casi d’uso e, in definitiva, nuove innovazioni, è chiaro quando si tratta di containerizzazione e l’adozione diffusa di applicazioni native cloud. Criticamente, questo punto di flessione dell’innovazione e delle richieste di casi d’uso ha guidato un incredibile tasso di cambiamento all’interno del software program open supply: abbiamo raggiunto un punto in cui la sicurezza, le prestazioni e gli svantaggi dell’innovazione delle tradizionali Distri Linux “congelati” superano la familiarità e la stabilità percepita dell’ultima generazione di consegna del software program.
Come dovrebbe essere la prossima generazione di consegna di software program open supply?
Inserisci: Chauard OS
Per soddisfare le moderne aspettative di sicurezza, prestazioni e produttività, i costruttori di software program necessitano dell’ultimo software program nella forma più piccola progettata per il loro caso d’uso, senza nessuno dei CVE che portano al rischio per l’azienda (e un elenco di “Repair-it” dai group di sicurezza). Ragare su quei parametri richiede di più che fare semplicemente nel passato. Invece, la prossima generazione di consegna del software program open supply deve iniziare dalla fonte di software program sicuro e aggiornato: i manutentori a monte.
Ecco perché Chainguard Costruito questo nuovo approccio di distruzione, ricostruendo continuamente pacchetti software program non basati su distro a valle ma sulle fonti a monte che stanno rimuovendo le vulnerabilità e aggiungendo miglioramenti delle prestazioni. Lo chiamiamo Chauarard OS.
Chainguard OS funge da base per i risultati di ampia sicurezza, efficienza e produttività che i prodotti Chainguard offrono oggi, “Chauariding” un catalogo in rapida crescita di oltre 1.000 immagini di container.
Chainguard OS aderisce a quattro principi chiave per renderlo possibile:
- Integrazione e consegna continua: enfatizza l’integrazione continua, i take a look at e il rilascio di pacchetti software program a monte, garantendo una pipeline di sviluppo semplificata ed efficiente attraverso l’automazione.
- Nano aggiornamenti e ricostruzioni: favorisce aggiornamenti e ricostruzioni incrementali continuous rispetto ai principali aggiornamenti di rilascio, garantendo transizioni più fluide e minimizzando le modifiche dirompenti.
- Artefatti minimi, induriti, immutabili: spoglia by way of il fornitore inutile da artefatti software program, rendendo pacchetti sidecar e additional opzionali per l’utente migliorando la sicurezza attraverso misure di indurimento.
- Delta minimizzazione: mantiene le deviazioni da a monte al minimo, incorporando patch additional solo quando sono essenziali e solo per quanto necessario fino a quando una nuova versione non viene tagliata da monte.
Forse il modo migliore per evidenziare il valore dei principi di Chainguard Os è vedere l’impatto nelle immagini di Chainguard.
Nello screenshot seguente (e visualizzabile Qui), puoi vedere un confronto fianco a fianco tra un esterno
A parte la chiara discrepanza nel numero di vulnerabilità, vale la pena esaminare la differenza di dimensioni tra le due immagini del contenitore. L’immagine di Chainguard comprende solo il 6% dell’immagine alternativa open supply.
Insieme alla dimensione dell’immagine minimizzata, l’immagine di Chainguard è stata aggiornata l’ultima volta solo un’ora prima dello screengrab, qualcosa che accade quotidianamente:
Una rapida scansione dei dati di provenienza e SBOM illustra l’integrità end-to-end e l’immutabilità dei manufatti, una sorta di etichetta nutrizionale completa che sottolinea la sicurezza e la trasparenza che può fornire un approccio moderno alla consegna del software program open supply.
Ogni immagine di Chainguard si erge come un esempio pratico del valore che Chainguard OS offre, offrendo una netta alternativa a ciò che è arrivato prima. Forse il più grande indicatore è il suggestions che abbiamo ricevuto dai clienti, che hanno condiviso il modo in cui le immagini dei container di Chainguard hanno contribuito a eliminare i CVE, proteggere le loro catene di approvvigionamento, raggiungere e mantenere la conformità e ridurre la fatica degli sviluppatori, consentendo loro di riallocare preziose risorse per gli sviluppatori.
La nostra convinzione è che i principi e l’approccio di Chainguard OS possano essere applicati a una varietà di casi d’uso, estendendo i vantaggi di pacchetti software program in continua evoluzione a più ecosistemi open supply.
Se lo hai trovato utile, assicurati di controllare il nostro white paper su questo argomento o Contatta il nostro group Per parlare con un esperto dell’approccio di distorsione di Chainguuard.
Nota: Questo articolo è sapientemente scritto e contribuito da Dustin Kirkland – VP dell’ingegneria a Chainguard.