kalafoto - Fotolia
Wie Container-Investitionen den RoI beeinflussen
Container sind effizient und flexibel, können aber teuer werden. Trotz ihrer Open-Source-Herkunft benötigen viele Anwender professionelle, kostenpflichtige Unterstützung.
Container und mit ihnen zusammenhängende Management-Tools sind die jüngsten in einer langen Reihe von Softwareprogrammen, die reif genug für produktive IT-Infrastrukturen sind. Während dieser Entwicklung haben IT-Profis gelernt, dass Open Source nicht „umsonst“ bedeutet.
Man sollte Open Source eher als ein Modell zur Entwicklung von Software anstatt als eine alternative Distributionsplattform betrachten.
Grundlegende Containersoftware wie zum Beispiel das Image-Format und die Runtime Engine von Docker oder der Cluster-Manager von Kubernetes sind Open-Source-Tools. IT-Unternehmen oder IT-Teams, die produktive Systeme auf Containerbasis erstellen, merken schnell, dass „Do it yourself“ (DIY) keine realisierbare Strategie ist.
Teure Container-Infrastruktur
Anwender von Containern geben auf mehreren Gebieten Geld aus. Zum Beispiel für:
- Kommerziell unterstützte und verwaltete Containerprodukte
- Server, Storage und Netzwerk-Switches oder alternativ für Cloud-Infrastruktur und Managed Container Services
- Tools für Containermanagement, und beim Aufbau von Multi Cloud oder hybriden Cloud Container Cluster für Tools, die Meta-Management der Installationen zur Verfügung stellen
- Komponenten, die für containerbasiertes, verteiltes Applikations-Management erforderlich sind – zum Beispiel eine Image Registry, ein Service Discovery System, Load Balancers oder eine Service-Mesh-Plattform
- Personal mit Container-Erfahrung, das eventuell schwierig zu finden ist angesichts des wachsenden Defizits an IT-Leuten, die sich auf diesem Gebiet auskennen
- Consulting und Design Services
Nicht alle Container-Installationen benötigen alle erwähnten Punkte, doch jeder Container-Ansatz nutzt eine Mischung dieser Komponenten einer Containerinfrastruktur. Jedes Element erhöht die Gesamtkosten des Projekts, sowohl bei Capex (Kapitalaufwand) als auch bei Opex (Betriebsaufwand).
Effizienter als VMs, aber immer noch teuer
Container sind eine effizientere und flexiblere Anwendungsplattform als virtuelle Maschinen (VMs), bei denen ein komplettes Betriebssystem in jeder isolierten VM läuft. Während virtuelle Maschinen die IT-Entwicklung bei Unternehmen dominiert haben, gibt es Anzeichen dafür, dass die Container-Investitionen keine vorübergehende Erscheinung sind.
Von über 500 IT-Managern, die von dem Hersteller von Container-Infrastruktur Diamanti befragt wurden, verfügen 12 Prozent bereits über produktive Containerumgebungen und fast 50 Prozent planen ihre Einführung.
Während frühe Containeranwender Open-Source-Tools mehr als Do-it-yourself-Möglichkeiten favorisierten, wächst inzwischen nach einer Untersuchung von HIS Markit die kommerzielle Anwendung von Containersoftware. 2017 wurden bereits 17 Prozent der installierten Container-Software von kommerziellen Dienstleistern unterstützt. Laut HIS soll dieser Anteil bis 2022 auf 21 Prozent ansteigen.
Gehen wir von einer geplanten Containerinstallation aus, für die 100.000 Dollar an neuer Infrastruktur, Aufgaben und Services vorgesehen sind. Obwohl 100.000 Dollar im Vergleich zu durchschnittlichen IT-Budgets von Unternehmen keine große Summe sind, wird der größte Teil eines typischen Budgets – 70 bis 80 Prozent in den meisten Unternehmen – für den Betrieb und nicht für neue Investitionen verwendet werden. Container werden voraussichtlich einen bedeutenden Anteil der neuen Investitionen einnehmen oder ihn sogar übertreffen, aber ihre Umsetzung hat eine hohe Priorität. Ihre Anfangskosten werden nur zunehmen, wenn sich die produktive Containerinfrastruktur mit der Zeit erweitert.
Wo geht das Geld hin?
Das Ökosystem der oben aufgezählten Infrastruktur, Services, Tools und Erfahrung der IT-Teams verändert einen einfachen, isolierten Workload-Prozess in eine skalierbare produktive Plattform für mehrere Anwendungen, Batch Jobs und Microservices. Um den Return on Investment (RoI) für diese Capex- und Opex-Kosten abzuschätzen, muss man die Fähigkeiten aller Komponenten überprüfen.
Container Runtime Engine. Oft mit dem Serverbetriebssystem zusammen erhältlich, steuert die Runtime Engine die installierten Container, wobei Features wie Cloning, Job Suspension und Snapshots zum Einsatz kommen. Zum Beispiel bieten Windows Server Hyper-V, VMware vSphere Integrated Containers und Red Hat OpenShift Software zum Container-Aufbau an.
Container Image Repository. Repositories stellen einen einzelnen Platz für Image-Verteilung, langfristige Speicherung und Versionskontrolle zur Verfügung. Die größeren Cloud-Anbieter wie zum Beispiel AWS und Microsoft Azure umfassen alle einen Container Registry Service. Self-managed, On-Premises-Registry-Software gibt es bei Docker Enterprise Edition, OpenShift Container Platform und VMware Harbor integriert mit Pivotal.
Container Workload Manager und Orchestrator. Containermanagement-Systeme automatisieren die Verwendung von Images über mehrere Hosts hinweg, gleichen Workloads zwischen Systemen aus, starten abgestürzte Container neu und stellen zusätzliche Kopien eines Container zur Verfügung, um den größeren Einsatz zu bewältigen. Kubernetes ist eine populäre, Open-Source-basierte Orchestrierungssoftware, die als kommerzielle Distribution von vielen Herstellern zu erhalten ist, darunter Docker Enterprise Edition, VMware Heptio, Red Hat OpenShift oder Rancher. Es gibt sie auch bei allen größeren Cloud-Anbietern, zum Beispiel bei Google als ursprüngliche Kubernetes Engine.
Image Registry mit einem Service Discovery System. Dieser Service vereinfacht die Wiederverwendung von Images über verschiedene Anwendungen hinweg und stellt Anwendern oder Applikationen Informationen zum Status, der Lokation und der Konfiguration von laufenden Instanzen durch eine Verbindung von Registry und Service Discovery zur Verfügung. Service Discovery ist sowohl ein Teil von Cloud Container Services als auch von kommerziellen und Open-Source-Produkten wie zum Beispiel Docker, HashiCorp Consul, Apache Zookeeper und Doozerd.
Service Meshes sind eine aufkommende Kategorie von Containerprodukten, die Anwendungen unterstützen sollen, die aus vielen Microservices zusammengesetzt und über mehrere Container Cluster hinweg verteilt sind. Der Service Mesh agiert als ein unterstützendes Message-System für Kommunikations- und Event-Management zwischen den Services. Die meisten Service-Mesh-Installationen wie zum Beispiel Conduit, Envoy, Istio und Linkerd sind noch immer Open-Source-Projekte, aber professionelle Cloud-Services basierend auf Istio (Google Cloud) und Envoy (AWS) sind bereits verfügbar.
Container Virtual Network Overlay und Load Balancer. Eine virtuelle Netzwerkschicht ermöglicht die Kommunikation zwischen Containern über gemeinsame Schnittstellen von physischen Netzwerken. Der Load Balancer schließt externe User und Applikationen an den jeweils richtigen Container an.
Hardwareinfrastruktur. Alle Installationen von Anwendungen brauchen eine IT-Infrastruktur, auf welcher Abstraktionsstufe auch immer. Server und Switches dienen Container-Clustern, und Storage-Systeme sorgen für einen dauerhaften Zugang zu den Anwendungsdaten. Wer Container einsetzen will, kann zwischen Workloads auf On-Premises-Umgebungen, Public Clouds oder einer Mischung von beiden wählen, was Investitionen in Meta-Management-Tools nach sich zieht.
Meta-Management-Produkte und Services. Viele Unternehmen führen Container in der Absicht ein, die Neutralität ihrer Hosting-Plattform zu gewährleisten und Workload-Transportierbarkeit zwischen der On-Premises-Infrastruktur und einem oder mehreren Cloud Services zu ermöglichen. Das Management über mehrere unterschiedliche Plattformen hinweg stellt jedoch eine bedeutende Herausforderung in Multi-Cloud-Umgebungen dar. Tools für Meta-Management unterschiedlicher Umgebungen liefern ein Cloud-neutrales Containermanagement in einem traditionellen oder SaaS-Format.
Meta-Management-Produkte sind für Unternehmen mit Erfahrungen in produktiven Anwendungen auf Container-Basis geeignet, – entweder On-Premises oder per Cloud-Service – die jetzt den Übergang zu einer standardisierten Containerinfrastruktur und eventuell zu einer PaaS-Entwicklungsplattform machen wollen.
Innerhalb dieser Gruppe von Tools gibt es eine Reihe von Unterkategorien. Unternehmen können sich für Infrastrukturmanagement-Suiten wie zum Beispiel Terraform und Consul von HashiCorp, Joyent Triton, Rancher oder Mesosphere entscheiden. Zu den alternativen PaaS-Angeboten gehören Pivotal Cloud Foundry, Red Hat OpenShift und Atos Apprenda. Für IT-Teams, die ein SaaS-Container-Management vorziehen, stehen Meta-Manager wie HyperGrid HyperCloud und Platform9 zur Verfügung.
Support und Expertise. Für moderne Applikationen, die auf der Basis dieser verschiedenen Elemente in einer produktiven, skalierbaren Container-Umgebung laufen, sind das gesamte Design und die Produktauswahl für den Support entscheidend. Angesichts dessen, dass entsprechende Erfahrungen bei den IT-Mitarbeitern noch relativ selten sind, sehen sich die meisten Unternehmen bei Consultants oder den professionellen Services der Hersteller um, die bei der Container-Strategie, bei Architektur und Installation helfen können.
Die realen Bedingungen einer zuverlässigen, hochperformanten und unmittelbaren Containerinfrastruktur liegen jenseits des Downloads von kostenlosen Open-Source-Projekten: Dem verfügbaren Budget entsprechend geht es um die richtige Kombination von Kosten, IT-Struktur und Investitionen in das Personal für Entwicklung und DevOps.