19. Mai. 2020

Was ist der beste Weg, Software-Assets in Containern zu verwalten?

Software-Container, eine relativ neue und sehr beliebte Technologie, sind möglicherweise nicht auf dem Radar der meisten Software Asset Manager. Da die zusätzliche Virtualisierungs-Ebene von Containern Software vor den entsprechenden Software-Discovery-Tools verbergen kann, sehen sich Unternehmen ohne Überblick über die Architektur ihrer Softwarecontainer mit erheblichen Compliance-Risiken konfrontiert.

Image of shipping containers representing how to manage software assets in containers | Aspera blog

Dieser kurze Artikel verschafft Ihnen einen Überblick über die Software-Container-Technologie und erläutert:

Überblick über die Container-Technologie

Container sind äußerst beliebt, weil sie kompakt, in sich geschlossen, ressourcenschonend, erweiterbar und portabel sind. Die Technologie ist mittlerweile so ausgereift, dass auch Benutzer mit wenig technischem Know-how mit Containern auf ihren lokalen Geräten umgehen können.

Container sind äußerst beliebt, weil sie kompakt, in sich geschlossen, ressourcenschonend, erweiterbar und portabel sind. Die Technologie ist mittlerweile so ausgereift, dass auch Benutzer mit wenig technischem Know-how mit Containern auf ihren lokalen Geräten umgehen können.

Anders als virtuelle Maschinen laufen Container auf dem bestehenden Host-Betriebssystem. Deshalb ist es nicht notwendig, für jeden Container ein Gastbetriebssystem bereitzustellen und zu pflegen. Dies wiederum bedeutet, dass Container viel schneller starten und stoppen. Daher eignen sie sich hervorragend für skalierbare Architekturen: Wenn ein Container abstürzt, starten Sie einfach einen anderen. Wenn die Nachfrage steigt (z.B. saisonaler Einkauf in einem Einkaufsportal), starten Sie einfach zusätzliche Container, um die höhere Last zu bewältigen.

Container sind flexibel, da sie keine persistenten Daten speichern. Stattdessen werden die Daten in der Regel in gemounteten Volumes gespeichert, die an den Container angeschlossen sind.

Wie bei der Ausführung von Software auf einer virtuellen Maschine erfordert natürlich auch die Ausführung von Software in einem Container zusätzliche, manchmal teure Lizenzen – Lizenzen, die häufig schwer zu verstehende Metriken verwenden und schwierig aufzufindende Daten erfordern.

WEBINAR: Software in a Box

Software-Container – die relativ neue und beliebte Technologie ist möglicherweise noch nicht bei allen SAM Managern auf dem Radar. Da die zusätzliche Virtualisierungsschicht der Container-Technologie Software vor Discovery-Tools verbergen kann, stehen Unternehmen vor der Herausforderung den Überblick zu behalten und compliant zu bleiben.

Jetzt Webinar anschauen

Wie lizenzieren Anbieter ihre Software für Container?

Anbieter, die ihre Software als offizielle Container-Images in öffentlichen Sammelstellen wie „Docker Hub“ anbieten, geben idealerweise in ihren Lizenzbedingungen an, wie die Software in containerisierten Umgebungen lizenziert wird. Diese Lizenzbedingungen funktionieren ähnlich wie traditionelle Lizenzierungsmetriken für die Virtualisierung:

  • Container-basierte Lizenzierung: Jeder Container benötigt seine eigene Lizenz. Die Anzahl der laufenden Container bestimmt den Lizenzbedarf. Ein bekanntes Beispiel ist Microsoft SQL Server Standard Edition. Abhängig von der Anzahl der Container und der Art und Weise, wie diese Container eingerichtet sind, zahlen Sie möglicherweise mehr als für die gesamten Host-Ressourcen. Wenn Sie zum Beispiel einen SQL Server auf einem Rechner mit zwei Kernen und zwei Containern betreiben, könnten Sie am Ende für vier Kerne bezahlen! Einige Anbieter bieten Host-basierte Lizenzen an, um solche überhöhten Kosten zu vermeiden. Sie sind zwar teurer, decken aber alle laufenden Container ab.
  • Host-basierte Lizenzierung: Die Host-Ressourcen selbst werden lizenziert, so dass die Anzahl und Konfiguration der Container keine Auswirkungen auf den Lizenzbedarf haben. Einige Beispiele für hostbasierte Containerlizenzen sind IBM Websphere MQ und Microsoft SQL Server Enterprise Edition.

Welche Container-Daten sind für das Software Asset Management relevant, und wie erhalten Sie diese?

Es gibt zwei Arten von Container-Hosting: lokal und geclustert. Jede Art erfordert einen anderen Ansatz für das Software-Discovery:

  • Beim lokalen Container-Hosting (z.B. Docker, das auf Desktop-Geräten läuft) müssen die Scanner die laufenden Container-Images und System-Umgebungsvariablen liefern.
  • Für geclustertesContainer-Hosting benötigen die Scanner Werkzeuge, um eine Verbindung zu den Schnittstellen von Container-Orchestrierungsdiensten wie Kubernetes, Apache Mesos oder Docker Swarm herzustellen. Wenn Sie die Container-Services eines Cloud-Providers nutzen, dann müssen Sie in der Regel zuerst eine Verbindung zum API des Providers herstellen (z. B. Anwendungen, die im GKE-Service von Google laufen).

Wie eine russische Matrjoschka-Puppe basiert ein Container-Image auf einem anderen Image und so weiter. So könnte ein Image möglicherweise kommerzielle Software enthalten, Software, die lizenziert und bezahlt werden muss. Idealerweise sind Scanner und APIs in der Lage, die Container-Image-Layer auszugeben, so dass sich lizenzierbare Software, die von einem benutzerdefinierten Container-Image verwendet wird, identifizieren lässt.

Da Container virtuell sind, ist ihre Lebensdauer in der Regel kurz. Daher müssen Sie für einige Lizenzmetriken Informationen über Container erfassen und verarbeiten, die im Laufe der Zeit ausgeführt oder entfernt werden (Orchestrierungsprotokolle). Obwohl dies auf lange Sicht wünschenswert ist, erfordert es den Umgang mit einer großen Menge komplexer Daten.

Welche Compliance-Risiken sind mit der Containertechnologie verbunden?

Wie bei fast allem, ist auch bei der Container-Technologie Bequemlichkeit in der Regel mit Kosten verbunden. Viele dieser Kosten sind in der Komplexität Ihrer Umgebung verborgen. Daher ist es wichtig zu wissen, welche Auswirkungen eine neue Technologie auf Ihr Software-Budget haben könnte, bevor Sie sie einsetzen.

So dauert beispielsweise die Einrichtung der kommerziellen Version von Microsoft SQL Server weniger als eine Minute. Wenn Docker bereits installiert ist, geben Sie einfach den folgenden Befehl ein, um einen SQL Server Enterprise auf Ihrem lokalen Rechner auszuführen:

docker run -e "ACCEPT_EULA=Y" -e 'MSSQL_PID=Enterprise" -d mcr.microsoft.com/mssql/server:2017-latest-ubuntu

So einfach ist das. Aber haben Sie die Parameter „EULA akzeptieren“ und „PID“ bemerkt? Das ist ein Albtraum für das Software-Compliance-Management. Wenn Sie diesen Befehl mit Docker eingeben, das Zugriff auf zwei CPU-Kerne hat, dann könnten Lizenzgebühren in Höhe von $12.000 oder mehr anfallen.

Wie können Sie mit der Container-Technologie Kosten sparen?

Wenn Sie mit Containern Geld sparen wollen, dann benötigen Sie eine Lizenzmanagement-Lösung,die den Einsatz von in Containern betriebener Software in Ihrem Unternehmen messen und die besten Lizenzoptionen simulieren kann. Um die richtigen Lizenzen (Container-basierte vs. Host-basierte Lizenzierung) für Ihr Nutzungsszenario und Ihre Bedürfnisse zu ermitteln, müssen Sie die Anzahl der Container, die Host-Ressourcen und die Konfiguration der Container-Ressourcen genau kennen.

Auch wenn sich die Technologien ständig weiterentwickeln und die Art und Weise grundlegend ändern, wie die meisten von uns ihre Geschäfte abwickeln, so bleiben die Grundlagen des Software Asset Management dennoch gleich:

  • wissen, was man hat
  • wissen, was man braucht
  • die besten Lizenzierungs-Szenarien simulieren

Dies gilt für Software-Container genauso wie für Cloud Computing. Software-Asset-Management-Experten sollten bei der Einführung von Containern in ihren Unternehmen den Überblick behalten und daran arbeiten, diese nützlichen Technologien kostengünstig und geschäftsorientiert zu betreiben.

WEBINAR: Software in a Box

Erfahren Sie, warum die Verwaltung von Software-Containern auf Ihrem SAM-Radar sein sollte.

Jetzt Webinar anschauen



Themen: Cloud, SAM Weiterbildung