Nach über zwei Jahren und rasanter Entwicklung der Container-Technologie, wird es noch mal Zeit einen Blick auf die verfügbaren Linux Distributionen zu werfen, die sich für den Einsatz im Unternehmen aus unserer Sicht eignen. Vor allem durch die stetig zunehmende Zahl von Applikationen, die als Container zur Verfügung stehen, wird der Einsatz von professionellen Linux-Systemen für Unternehmen immer wichtiger. Nicht zuletzt ist der sinnvolle Einsatz von Linux auch eine Frage der digitalen Souveränität und vor allem auch eine sehr wichtige Frage der Cyber Security und der Zukunft der IT im Unternehmen.
Der Einsatz von Linux im Unternehmen ist, wenn man die Rechenzentren betrachtet, ebenso selbstverständlich, wie der Einsatz von Microsoft. Um eines hier gleich vorweg zu nehmen, es geht hier nicht um irgendwelche Grabenkriege zwischen den vermeintlichen Lagern, die noch aus Zeiten stammen, als Verantwortliche bei Microsoft Linux als Krebsgeschwür bezeichneten und Linux-Anhänger grundsätzlich geben alles aus Redmond waren. Das hier ist kein Halloween Artikel, auch, wenn es die Zeit vermuten lässt. Diese Zeiten sind glücklicherweise vorbei und nur noch ein Relikt der Vergangenheit. Zwar mag es immer noch den einen oder anderen geben, der das nicht so sieht, aber die Realität sieht heute anders aus. Beide Seiten haben erkannt, dass in der Kooperation und dem Mit- statt dem Gegeneinander die Zukunft liegt. Keine Seite alleine kann das Bereitstellen oder Leisten, was heute in den Rechenzentren oder auch den Clouds von und für Unternehmen benötigt und auch gefordert wird. Natürlich ist der Einsatz von OpenSource Software auch ein Stück mehr an Unabhängigkeit für die Unternehmen und trotzdem ist ein Verzicht auf Microsoft nur sehr schwer bis so gut wie gar nicht möglich. Wenn man etwas mit aller Gewalt will und auch bereit ist die daraus folgenden Konsequenzen zu tragen, wird es einen Weg geben. Nach dem Motto; “geht nicht, gibt’s nicht”, nur dann stellt sich aber auch die Frage, ist dieser Weg sinnvoll und ist dies wirklich das Ergebnis einer objektiven Bewertung? Da aber dieser Beitrag hier im Blog nicht aufzeigen will, wie es denn ohne Microsoft geht, sondern der Frage nach der geeigneten Linux Distribution nachgeht, geht es nun zurück zum eigentlichen Thema.
Vorher noch ein kleiner Blick in die Vergangenheit des Autors, S.u.S.E. mit noch schwarzen Boxen und Objekten aus mathematischen Funktionen als Schmuckbilder der Verpackung war der erste richtige Kontakt mit Linux und dessen Einsatz zu produktiven Zwecken. Dazu kam noch die eine oder andere Debian Installation für den einen oder anderen (physikalischen) Host. Denn sowas wie Virtualisierung gab es damals noch gar nicht, zumindest nicht im noch 32-bittigen x86 Lager. Das war auch die Zeit, wo ein Pentium Pro die Speerspitze der x86’er Hardware für 32-bit optimierten Code darstelle. Zwar lief Linux auf dieser Architektur im Verhältnis, was es sonst noch so gab recht gut, aber es war nicht nur aus heutiger Sicht trotzdem richtig grottig. Nur waren leider die Alternativen von Sun, SGI, Alpha oder IBM in ganz anderen Preisregionen, wenn man denn im Unix Lager bleiben wollte. Im Laufe der folgenden Zeit kam immer mehr der Einsatz von Ubuntu Server als die Distribution der Wahl, der mit den Versionen 10.04-14.04 fast ausschließlich war und erst ab Ende der Version 16.04 sich wieder zugunsten anderer Distributionen wandelte. Seit mehreren Jahren ist es fast ausschließlich RHEL und dessen Varianten in Form von CentOS oder Oracle Linux ab Version 7 bzw. auch wieder vermehrt Debian ab der Version 9. Die Entscheidung für die eine oder die andere Distribution basierte zum einen in der Bewertung für die eines Unternehmen wichtigen Eigenschaften und ist zudem sehr stark davon abhängig, welche Software denn auf der Linux-Basis eingesetzt werden soll. Grundsätzlich sind die anderen Distributionen per se nicht schlecht, aber sie erfüllen meist nicht mehr die Auswahlkriterien. Die Verbreitung spielt ebenfalls eine wichtige Rolle und in vielen Fällen ist es eine ganz triviale Entscheidung, weil der Softwarehersteller nur die eine oder andere Distribution unterstützt. In dem Fall ist die Wahl dann einfacher.
Wirft man einen Blick auf die Linux Distributionen, die sich anschicken so genannte Enterprise Distributionen zu sein, so gibt es derer nicht wirklich viele. Zu nennen ist hier SuSE, welches ehemals in Fürth ansässig war, heute einem Investor gehört, wieder nach vielen Umfirmierungen eigenständig ist, ihren Sitz in Nürnberg hat und den SUSE Linux Enterprise Server (SLES) für den Unternehmenseinsatz anbietet. Die britische Firma Canonical bietet eine kommerzielle Variante ihres Ubuntu Servers für Unternehmen an und natürlich der Platzhirsch Red Hat, mit Red Hat Enterprise Linux (RHEL), die mittlerweile zu IBM gehören, aber weiterhin eigenständig sind. Zu nennen ist aber auch Debian selbst, welches zum Beispiel die Basis von Ubuntu darstellt und die auf RHEL basierenden Distributionen CentOS und Oracle Linux (OL). Natürlich gibt es noch eine fast unüberschaubare Zahl von Distributionen und diversen Ablegern aber aus Sicht eines Unternehmens spielen diese nicht wirklich eine Rolle, wenn sie nicht als Basis von Appliances daherkommen, die zwar eingesetzt aber durch den Anbieter der Appliance gewartet bzw. mit Updates versorgt werden. Wählt man als Unternehmen eine Distribution aus, so bleiben realistisch gesehen nur vier in der engeren Wahl: SuSE, Red Hat (CentOS, OL), Canonical und Debian. Dazu bieten Red Hat, SUSE und Canonical noch weitere Produkte an, die sich auf Bereiche wie OpenStack, Kubernetes, Virtualisierung, HCI, Storage & Co. spezialisieren. Diese Angebote richten sich im speziellen an Unternehmen oder an Rechenzentrumsbetreiber bzw. auch ISP’s.
Aber weiter mit der Frage der Distributionsauswahl. Nach wie vor sind Supportlaufzeiten einer der wichtigen Kriterien für eine Auswahl. Alles unter fünf Jahren fällt direkt raus, da sonst ein Projekt gerade mal soweit produktiv geworden ist und die Phase des Normalbetriebs erreicht hat und dann schon wieder auf eine neue Basis gestellt zu werden? Nein, das ist für den Einsatz im Unternehmen völlig unrealistisch, hier mit kürzeren Laufzeiten zurechtkommen zu wollen. Seit Debian den Long Term Support (LTS) mit fünf Jahren, wie Ubuntu Server in der freien Variante auch eingeführt hat, gehört Debian mit in die engere Wahl. Die Einsatzbasis von Debian ist sehr groß, AWS EC2 Instanzen basieren auf Debian. Noch längeren Support gibt es bei SUSE und Red Hat, diese bieten zehn Jahre Support für ihre Enterprise Server, welches sie natürlich für den Einsatz im Unternehmen sehr attraktiv macht. Canonical bietet in der kommerziellen Variante ebenfalls einen längeren Support an. Die zehn Jahre Support gibt es ebenfalls für CentOS und auch bei OL. Gegen Aufpreis kann gibt es bei Canonical, SUSE und Red Hat noch mal extra Support on Top. Was je nach Projekt oder Verwendung einem zumindest die Option offenlässt.
Ein anderer wesentlicher Punkt bei der Auswahl sind die Anwendung bzw. die Software, die auf dem Linux Systeme laufen soll. Nicht weniger wichtig ist hier die grundsätzliche Wartbarkeit eines solchen Systems. Das Stichwort ist hier Snowflake Server, die es tunlichst zu vermeiden gilt – aber dazu später mehr. Betrachtet man die hier aufgeführten Distributionen, so gibt es zwei Lager mit rpm und deb für das Paketmanagement. Daher sollte die Wahl auch immer davon abhängig gemacht werden, wie die Software oder Applikation, die betrieben wird zur Verfügung steht, denn das bestimmt zum großen Teil mit, welche Distribution denn zum Einsatz kommt. Zudem gilt es auch das vorhandene KnowHow für den Betrieb zu berücksichtigen. Dies relativiert sich natürlich etwas, wenn auf kommerzielle Distributionen zurückgegriffen wird, bei denen ja dann auch Herstellersupport zur Verfügung steht. Soll es eine freie Distribution sein, so ist die Empfehlung sich CentOS oder Debian genauer anzusehen und entsprechend den Rahmenbedingungen seine Wahl zu treffen. Wird es hingegen auf eine kommerzielle Distribution hinauslaufen, geht die Empfehlung sehr stark in Richtung Red Hat, wenn die Applikation nicht andere Distributionen bevorzugt. So viel zur klassischen Auswahl einer geeigneten Distribution.
Das Thema Container schafft aber gänzlich neue Rahmenbedingungen und hat nicht zuletzt einen wesentlichen Einfluss, auf die Auswahl einer geeigneten Distribution. Vor allem aber, sorgen die Container dafür, dass die Basis darunter austauschbar wird und diese somit nach anderen Kriterien hin ausgesucht werden kann. Container sorgen auch dafür, dass es möglich wird reproduzierbare Systeme zu definieren, die noch dazu problemlos in hybriden Multi-Clouds betrieben werden können. Eine dieser Clouds ist dann das On Premises Datacenter, welches Plattformen zur Verfügung stellt auf denen die Container laufen. Der Container hingegen wird genau so sein, wie das der Hersteller oder das Developement es vorgesehen hat und liefern gleich in ihrer Beschreibung die gewünschte Basis ihrer Applikation gleich mit. Dem Betreiber der Plattform machen die Abhängigkeiten, die eine Applikation benötigt fortan keine Kopfschmerzen mehr, weil dies Sache des Containers ist. Daher haben die Container so zu sagen die Anforderungen an die Basis neu definiert und der Blick über den traditionellen Betrieb von Linux Systemen hinaus in Richtung von professionellen Kubernetes Umgebungen lohnt sich nicht nur, sondern ist für alle alternativlos, die nur zur gerne ihre Snowflake Server loswerden wollen – aber eigentlich müssen – weil diese nicht wartbar sind. Das sich gleichzeitig mit den Container noch viele weitere Synergieeffekte ergeben, muss man nicht extra erwähnen, das neue alte Konzept der Container löst so viele Probleme (Sünden) der Vergangenheit und befreit von den technischen Schulden die viele IT’s mit sich herumschleppen und dadurch viel an Dynamik und Innovation einbüßen, obwohl sie dazu in der Lage wären. Dass die Container und dies im Besonderen im Umfeld von Webapplikationen, (Industrial) IoT und der modernen IT die Zukunft gehört, steht außer Frage. Auch die Frage der Leistungsfähigkeit stellt sich ebenfalls nicht, denn größere Plattformen wie Google YouTubes sind alles Container. Was sich aber stellt, ist die Frage wie man als IT diese Basis bereitstellen kann und eine Möglichkeit und sehr gute Antwort darauf ist: Red Hat OpenShift Container Plattform.
Natürlich werden Container nicht gänzlich alle VM’s und physikalischen Server ersetzen, es wird auch in Zukunft eine Mischung daraus sein, jedoch wird sich nicht zuletzt durch die Cloud das Mischungsverhältnis zugunsten von Containern verschieben und eine solide Plattform für deren Betrieb zu haben ist existenziell. Die Herausforderung ist, das Ganze zu sehen und die Vorteile der Technologie so zu nutzen, dass diese einen weiterbringt.
[Update]
Durch die angekündigten Änderungen bei CentOS und die zukünftige Ausrichtung nur noch auf die Stream Version ändern sich die Rahmenbedingungen für dessen Einsatz im Unternehmen. Der Ansatz eines konservativen Rolling Release hat bei dem einem oder anderen Einsatzzweck durchaus Vorteile, aber es ist eben nicht mehr die gewohnte Kontinuität über die zehn Jahre des Supportzeitraums. Das neu angekündigte Rocky Linux will die entstandene Lücke füllen, wie auch Cloud Linux ein entsprechendes Projekt Lenix mit einem fertigen Release im Q1 2021 bereitstellen will.