single.php
< Beitrag von Frank Oltmanns-Mack

Container on Azure 1: Was sind digitale Container?

Fast jeder, der im IT-Umfeld arbeitet, kennt den Begriff „Container“. Einige sind sicher schon mit der Technologie in Berührung gekommen, die hinter dem Begriff steckt. Digitale Container haben in den letzten Jahren an Popularität gewonnen und sind aktuell in einer steigenden Zahl von produktiven Umgebungen im Einsatz.

Mittlerweile hat sogar das Bundesamt für Sicherheit in der Informationstechnik (BSI) einen Entwurf für einen Baustein zu Containern vorgelegt, um das IT-Grundschutz-Kompendium zu erweitern. Doch was sind eigentlich Container und welchen Nutzen haben sie? Und wie können Public Cloud Angebote, wie z. B. Azure, den Container-Einsatz  vereinfachen? Antworten auf diese Fragen gibt es in einer kleinen Blog-Serie, die sich in den nächsten Wochen mit diesen Themen befasst:

  1. Was sind Container?
  2. Was ist Kubernetes?
  3. Azure Kubernetes Service (AKS)
  4. Azure Container Instances (ACI)

Container – real und digital

Der Begriff „Container“ stammt aus der Industrie und Logistik. Die Erfindung und der Einsatz von genormten Metallcontainern Mitte des 20. Jahrhunderts war ein revolutionärer Durchbruch. Denn in diese Standard-Behälter verpackt, lassen sich alle Güter – so unterschiedlich sie auch sein mögen – auf die gleiche Art und Weise transportieren. Darüber hinaus lassen sich Container auf LKW, Schiffen oder auch Flugzeuge verladen.

Digitale Container

Ähnlich verhält es sich mit der Container-Technologie: Die digitale „Kiste“ dient als Behältnis für Anwendungen inklusive aller benötigten Komponenten und fasst diesen „Inhalt“ in einem sogenannten Image zusammen. Dabei sind Container streng voneinander getrennt, d.h. die Anwendungen aus 2 verschiedenen Behältnissen können sich nicht gegenseitig „sehen“.

Somit gibt es einerseits eine starke Ähnlichkeit zur klassischen Virtualisierung, andererseits aber auch viele Unterschiede. Denn im Gegensatz zur Virtualisierung besitzen Container kein eigenes Betriebssystem, sondern werden im Kontext des Host-Betriebssystems ausgeführt. Ermöglicht wird dies zum größten Teil durch den Einsatz von Linux-Techniken wie zum Beispiel Cgroups und Namespaces. Erste Ansätze dafür gab es schon in den 70er Jahren. Aber wirklich populär wurde die Technologie erst 2013 mit der Einführung von Docker. Mittlerweile hat sie sich zum De-Facto-Standard entwickelt. Aktuell wird die klassische Virtualisierung mehr und mehr von Container verdrängt bzw. ergänzt.

Digitale Container

Digitale Container: Vorteile

Die Virtualisierung von Anwendungen gewährleistet eine deutlich höhere Sicherheit, denn Hacker können nur den einen gehackten Container manipulieren. Dadurch bleibt der Sicherheitsvorfall begrenzt und ein Befall eines ganzen Systems kann in den meisten Fällen vermieden werden. Zusätzlich gibt es weitere Vorteile:

  • Anpassungen in der Container-Umgebung sind einfach, da die restlichen Anwendungen nicht betroffen sind.
  • Standards erleichtern die Portabilität zwischen Servern.
  • Die Verwendung von Microservices vereinfacht und beschleunigt die Entwicklung von Anwendungen (Entkopplung).
  • Nutzer können vorgefertigte Images (Abbilder) aus einer Bibliothek auswählen und  in dieser veröffentlichen.
  • Container-Technologie bietet die Grundlage für DevOps-Modelle.
  • Es gibt eine bessere Skalierbarkeit, da die Container aus den Images sehr schnell und einfach gestartet werden können.
  • Durch Container lassen sich Server-Ressourcen effizienter ausnutzen.

Digitale Container: Nachteile

Neben den zahlreichen Vorteilen gibt es beim Einsatz von Containern einige Nachteile:

  • Die Container-Virtualisierung ist nicht für alle Anwendungen geeignet und eignet sich bevorzugt für Microservices.
  • Die Komplexität der Abhängigkeiten steigt
  • Durch die Verwendung der Host-Betriebssystem-Ressourcen kann es bei falscher Verwendung von Containern zu Sicherheitsvorfällen kommen.
  • Ein Life Cycle-Management wird benötigt, denn die höhere Komplexität erschwert die Überschaubarkeit der Umgebung.
  • Ohne den Einsatz von Orchestrierungstools wie z. B. Kubernetes ist die Verwaltung der Container-Umgebung nur manuell möglich.

Fazit

Der Einsatz von Containern bietet viele Vorteile und vereinfacht die Entwicklung von Unternehmensanwendungen. Ohne eine geeignete Verwaltung der Virtualisierung entsteht jedoch schnell ein schwer durchschaubares Chaos. Wie dies mithilfe von Kubernetes, dem De-Facto-Standard für die Container-Orchestrierung, vermieden werden kann, beschreibt der nächste Blog-Beitrag zum Thema „Container on Azure“.

Folgen
X

Folgen

E-mail : *
Kategorie: Cloud | Schlagwörter: , , , | Kommentare: 0

Beitrag kommentieren

CAPTCHA * Time limit is exhausted. Please reload CAPTCHA.