zhu difeng - Fotolia
Linux-Container für Einsteiger
Container sind für viele Anwendungen eine Alternative zu dedizierten Servern und VMs. Standardbasis für Container sind Linux als Betriebssystem und Docker als Engine.
Traditionell wollen IT-Administratoren Applikationen nicht immer auf einer an die Applikation angepassten Betriebssystemversion installieren. Linux-Container können VMs und dedizierte Server häufig ersetzen.
Einige Nachteile des OS-basierten Deployment-Modells: Es ist langsam bei der Ausbringung neuer Applikationen. IT-Administratoren müssen manchmal einen neuen Server installieren, was die Betriebskosten erhöht und zudem Zeit benötigt. Nutzt jede Applikation ihre eigene Betriebssystem-Kopie, ist der Betrieb häufig ineffizient. Beispielsweise braucht dann jede Applikation ihren eigenen dedizierten Server als sichere Laufzeitumgebung. Das Resultat: Schlecht ausgelastete Hardware im Rechenzentrum.
Ein Container dagegen ist eine isolierte Umgebung innerhalb eines (Betriebs-)Systems. Dort werden die Grenzen durch Namensräume definiert. Linux-Container enthalten alle nötigen Komponenten für die Lauffähigkeit einer Applikation. Sie machen es einfach, einen Container auf einem Betriebssystem laufen zu lassen.
Container nutzen Hardwareressourcen effektiver. Steht noch mehr aktuell ungenutzte Hardwarekapazität zur Verfügung, können Container sie für ihre Zwecke verwenden – ein neuer Server ist nicht nötig.
Der Einstieg in die Arbeit mit Containern
Einen Linux-Container zu generieren, ist relativ einfach. Er bildet den de-facto-Standard für den Containerbetrieb und enthält sämtliche Funktionen einer isolierten Arbeitsumgebung.
Der Linux-Kern liefert wesentliche Funktionen wie Cgroups und Namespaces. Die Funktion Cgroups sorgt dafür, dass der Container die erforderlichen Ressourcen verfügbar macht. Namespaces implementiert eine strikte Trennung zwischen den Linux-Containern und sorgt so für eine sichere Arbeitsumgebung. Zum Linux-Kern gehört auch die Container Engine. Sie ist die wichtigste Komponente, um Container zum Laufen zu bringen.
In der Linux-Community ist Docker als Container-Engine weit verbreitet. Es gibt Docker als Community- und als Enterprise-Version. Bei der Community Edition kann die IT über offene Programmierschnittstellen (APIs) und eine Befehlszeile mit den Container-Funktionen arbeiten. Sie unterstützt aus mehreren Containern bestehende Apps und universelles Packaging.
Größere Organisationen fahren besser mit der Enterprise Edition. Hier gehören Support, integrierte Sicherheits-Frameworks, agile Workflows und Multi-Cloud-Kompatibilität zum Lieferumfang.
Um die Container Engine zu nutzen, installiert man die Binärdateien der jeweiligen Linux-Distribution und aktiviert sie mit run.
Alternativen zu Docker
Wer optimale Sicherheit braucht, sollte seine Container nicht auf Linux als Betriebsumgebung laufen lassen. Zu Linux gehören Dienste wie ein Domain Name System, Web- und Zeitserver sowie grafische Benutzerschnittstellen. Sie alle brauchen eine Zugangskontrolle, die gleichzeitig Angreifern neue Wege in das Betriebssystem eröffnen könnte.
Aus diesem Grund sind optimierte Containerplattformen wie CoreOS entstanden. CoreOS enthält nur essentielle Funktionen und ist vollständig als Betriebsumgebung für Container konzipiert. Die Linux-Alternative für Containerumgebungen bietet On-Premises-Installation, automatische Updates und verteilte System-Tools. Damit ist CoreOS ein gutes Werkzeug, um eine Linux-Containerarchitektur aufzubauen und lauffähig zu machen.
Folgen Sie SearchDataCenter.de auch auf Twitter, Google+, Xing und Facebook!