Vai al contenuto principale

Alpine Linux

Il mestiere del codice

Come Alpine Linux si è espanso senza sacrificare i valori


La distribuzione LinuxAlpine è nata come un piccolo progetto distribuito solo da pochi utenti. Oggi è cresciuta fino a diventare una soluzione matura, moderna e leggera sia per soluzioni bare metal sia per soluzioni basate su container. È una delle distribuzioni più utilizzate nell'infrastruttura di container Docker.

A causa delle dimensioni ridotte e delle prestazioni impressionanti degli strumenti fondamentali come il gestore di pacchetti, il gruppo di lavoro Alpine Linux, guidato da Carlo Landmeter, Kevin Daudt e Natanael Copa, ha ricevuto un numero crescente di richieste per diverse architetture hardware (archs).

Quando Docker ha annunciato Alpine Linux come distribuzione Linux predefinita "non ufficiale", le richieste di arch sono aumentate ulteriormente. Gli entusiasti sviluppatori si sono messi al lavoro per soddisfare la crescente domanda. Inizialmente il team aveva solo le risorse per supportare x86 e x86_64 (amd64), ma ora offre anche architetture ARM (32 bit e 64 bit) con ppc64le, s390x e mips64.


Questa crescita ha lasciato al team di Alpine Linux più di quanto potesse facilmente gestire. "Negli ultimi due anni, abbiamo notato che stava diventando sempre più difficile mantenere i nostri sistemi in modo adeguato", ha detto Carlo. "La maggior parte di queste architetture ha bisogno di macchine proprie e a volte è difficile fornire ai nostri sviluppatori l'accesso a tutte. Alcune di queste architetture, inoltre, non sono comuni o è molto difficile accedervi".

Dopo aver capito che la configurazione attuale non sarebbe stata sostenibile, il team ha deciso di apportare alcuni cambiamenti. Ha cambiato piattaforma di sviluppo ed è migrato a un'istanza GitLab self-hosted, che ha reso più facile l'implementazione del CI per otto architetture e l'utilizzo di un unico strumento per il ciclo DevOps. Alpine Gli sponsor bare metal di Linux hanno aiutato a dedicare server CI per ogni architettura, il che ha fatto un'enorme differenza nella qualità del codice e nei problemi di compilazione.

Alpine Linux si è quindi rivolto a Linode per ospitare le sue nuove idee infrastrutturali, in quanto è uno dei pochi provider di hosting che fornisce comodamente Alpine Linux come sistema operativo. L'uso di Linode permette a Alpine Linux di fare progressi pur rimanendo fedele ai suoi quattro principi infrastrutturali di base:

  1. Mangiare il proprio cibo per cani (il che significa che il loro GitLab containerizzato basato su Alpine è completamente in esecuzione sull'infrastruttura Linode).
  2. Impedire il vendor lock-in.
  3. Siate il più possibile indipendenti.
  4. Siate il più possibile trasparenti.
Federico Nieves

"Una delle caratteristiche più importanti di Linode è il suo servizio di backup, che ci aiuta a generare facilmente backup e a ripristinarli su un'istanza temporanea su cui eseguire i test di aggiornamento di GitLab. In questo modo ci assicuriamo che i nostri aggiornamenti siano testati a fondo, riducendo notevolmente i tempi di inattività", ha dichiarato Carlo.

In prospettiva, Alpine Linux ha altre idee su come utilizzare Linode per supportare i principi dell'infrastruttura: la prima è l'infrastruttura come codice. Dopo aver studiato il sito API di Linode, Alpine Linux ha elaborato una visione per un processo completamente automatizzato che implementerà un flusso di lavoro GitLab e utilizzerà CI/CD per spingere l'infrastruttura nei container su Linode. Questo processo darà agli sviluppatori di Alpine Linux l'accesso a una panoramica molto più trasparente dell'infrastruttura attuale e renderà molto più semplice il contributo della comunità.

Il supporto e le capacità di hosting di Linode aprono nuove porte a Alpine Linux, consentendogli di rimanere fedele ai suoi principi fondamentali. Come dice Carlo, è "un'accoppiata perfetta".

Condividi questo