LU01a - Einführung in Dienste mit Containern

Ziele

  1. Ich kann den Begriff Container beschreiben.
  2. Ich kann eine Definition von Container angeben.
  3. Ich kann die Vorteile von Dienste mit Containern aufzählen.
  4. Ich kann aufzählen, wofür Container verwendet werden (Anwendungsfelder).


Was sind Container?

Container sind Softwarepakete, die alle notwendigen Elemente enthalten, um in jeder Umgebung ausgeführt werden zu können. Auf diese Weise virtualisieren Container das Betriebssystem und können überall ausgeführt werden, von einem privaten Rechenzentrum bis zur öffentlichen Cloud oder sogar auf dem persönlichen Laptop eines Entwicklers.

Definition eines Containers

Container sind leichtgewichtige Pakete einer Applikation zusammen mit Abhängigkeiten, wie z. B. bestimmte Versionen von Laufzeitumgebungen, Bibliotheken und Servern (Web-, Datenbanken, Firewalls usw).

Was sind die Vorteile von Containern?

  1. Trennung der Verantwortlichkeiten: Die Containerisierung erlaubt für eine klare Trennung der Zuständigkeiten, weil sich die Entwickler auf die Anwendungslogik und die Abhängigkeiten konzentrieren, während sich die Systemtechniker auf die Bereitstellung und die Verwaltung konzentrieren können.
  2. Portabilität der Arbeitslast: Container können praktisch überall ausgeführt werden, was die Entwicklung und Bereitstellung erheblich erleichtert: Container können auf weit verbreitete Betriebssysteme (Linux, Max, Windows), auf virtuellen Maschinen oder physischen Servern (unabhängig von der darunter liegenden Hardware) und in der Cloud deployed werden.
  3. Anwendungsisolierung: Container virtualisieren CPU-, Speicher-, Storage- und Netzwerkressourcen auf Betriebssystemebene und bieten Entwicklern eine von anderen Anwendungen logisch isolierte Sicht auf das Betriebssystem.

Abb-1: Container deployment in eine Registry (Software Hub)

Wofür werden Container verwendet?

Container bieten einen logischen Paketierungsmechanismus, mit dem Anwendungen von der Umgebung, in der sie tatsächlich ausgeführt werden, abstrahiert werden können. Durch diese Entkopplung können Container-basierte Anwendungen einfach und konsistent bereitgestellt werden, unabhängig davon, ob es sich bei der Zielumgebung um ein privates Rechenzentrum, eine öffentliche Cloud oder sogar um den persönlichen Laptop eines Entwicklers handelt.

Deshalb werden Container für …