Zum Inhalt springen

Alpine Linux

Craft of Code

Wie Alpine Linux expandierte, ohne seine Werte zu opfern


Die Alpine Linux Distribution begann als ein kleines Projekt, das nur von wenigen Benutzern eingesetzt wurde. Heute hat sie sich zu einer ausgereiften, modernen und leichten Lösung sowohl für Bare Metal- als auch für Container-basierte Lösungen entwickelt. Es ist eine der meistgenutzten Distributionen in der Docker Container Infrastruktur.

Aufgrund der geringen Größe und der beeindruckenden Leistung von wesentlichen Tools wie dem Package Manager erhielt die Alpine Linux Arbeitsgruppe unter der Leitung von Carlo Landmeter, Kevin Daudt und Natanael Copa immer mehr Anfragen für verschiedene Hardware-Architekturen (Archs).

Als Docker Alpine Linux zur "inoffiziellen" Standard Linux Distribution erklärte, stiegen die Anfragen nach Archs noch stärker an. Die enthusiastischen Entwickler machten sich an die Arbeit, um die wachsende Nachfrage zu bedienen. Das Team verfügte zunächst nur über die Ressourcen zur Unterstützung von x86 und x86_64 (amd64), bietet jetzt aber auch ARM Architekturen (32 Bit und 64 Bit) mit ppc64le, s390x und mips64 an.


Dieses Wachstum versorgte das Alpine Linux Team mit mehr Arbeit, als es bewältigen konnte. "In den letzten paar Jahren haben wir bemerkt, dass es immer schwieriger wurde, unsere Systeme richtig zu warten", sagte Carlo. "Die meisten dieser Architekturen brauchen ihre eigenen Maschinen, und es ist manchmal schwierig, unseren Entwicklern Zugang zu all diesen Maschinen zu bieten. Einige dieser Architekturen sind zudem selten oder nur sehr schwer zugänglich", so Carlo.

Nachdem das Team eingesehen hatte, dass die damalige Aufstellung nicht mehr tragfähig war, beschloss es einige Änderungen. Es wechselte die Entwicklungsplattform und migrierte auf eine selbst gehostete GitLab-Instanz. Dadurch wurde es einfacher, CI für acht Architekturen zu implementieren und ein Tool für den DevOps-Zyklus zu verwenden. Die Bare Metal Sponsoren von Alpine Linux halfen bei der Bereitstellung von CI Servern für jede Architektur, was einen großen Unterschied in Bezug auf Codequalität und Build Probleme machte.

Alpine Linux wandte sich dann an Linode, um seine neuen Infrastruktur Ideen zu hosten, da Linode einer der wenigen Hosting Provider ist, der Alpine Linux bequem als Betriebssystem zur Verfügung stellt. Durch den Einsatz von Linode kann Alpine Linux Fortschritte machen, während es seinen vier grundlegenden Infrastrukturprinzipien treu bleibt:

  1. Eat your own dog food (was bedeutet, dass das containerisierte Alpine-basierte GitLab vollständig auf der Linode Infrastruktur läuft).
  2. Vermeide ein Vendor Lock-in.
  3. Sei so unabhängig wie möglich.
  4. Sei so transparent wie möglich.
Federico Nieves

"Eine der wertvollsten Funktionen von Linode ist der Backup Service, mit dem wir auf einfache Weise Backups auf einer temporären Instanz wiederherstellen und unsere GitLab-Upgrade-Tests durchführen. Dadurch wird sichergestellt, dass unsere Upgrades gründlich getestet werden, was die Ausfallzeiten erheblich reduziert", so Carlo.

Alpine Linux hat weitere Ideen, wie es Linode künftig zur Unterstützung von Infrastruktur Prinzipien nutzen kann - die erste davon ist Infrastructure as Code. Nach dem es die API von Linode untersucht hat, hat Alpine Linux eine Vision für einen vollautomatischen Prozess ausgearbeitet. Dieser implementiert einen GitLab-Workflow und verwendet CI/CD, um die Infrastruktur in Containern auf Linode zu schieben. Dieser Prozess wird den Entwicklern von Alpine Linux einen viel transparenteren Überblick über die aktuelle Infrastruktur ermöglichen und Beiträge der Community wesentlich erleichtern.

Der Support und die Hosting Fähigkeiten von Linode öffnen Alpine Linux neue Türen und ermöglichen es ihnen gleichzeitig, ihren Kernprinzipien treu zu bleiben. Laut Carlo ist es "eine perfekte Ergänzung".

Teilen