Inhaltsverzeichnis:
- Behälter 101
- Ein kurzer Überblick über die Containerlandschaft
- Welche geschäftlichen Probleme können Container lösen?
Video: Little's Law - The ONE thing you can do to improve process performance (November 2024)
Inzwischen sind Container für Ihre IT-Abteilung ein vertrautes Konzept. Die agilsten kleinen bis mittelständischen Unternehmen (SMBs) oder Unternehmen setzen sie möglicherweise bereits ein. Was die Anwendungsentwicklung und die IT-Infrastruktur angeht, sind Linux-Container in etwa so im Trend, wie Sie es bei dieser Art von Technologie sehen werden.
Tatsächlich geht 451 Research davon aus, dass der Markt für Anwendungscontainer von 762 Millionen US-Dollar im Jahr 2016 auf 2, 7 Milliarden US-Dollar im Jahr 2020 zunehmen wird. Nach Schätzungen von Gartner werden mehr als 50 Prozent der globalen Unternehmen im Jahr 2020 containerisierte Anwendungen ausführen, ein Anstieg von weniger als 20 Prozent im Jahr 2017.
Wir haben bereits erläutert, wie die modulare Anwendungsarchitektur von Microservices Entwicklungs- und IT-Teams dabei unterstützt, effizienter zu arbeiten und gleichzeitig die Kosten und die Komplexität beim Hinzufügen neuer Features und Funktionen zu senken. Aus technologischer Sicht sind Container der Katalysator dieser DevOps-Gleichung. Sie sind das praktische Paket, mit dem DevOps und IT-Teams den Code, die Konfigurationen und die Abhängigkeiten einer Anwendung schnell und konsistent hin und her übertragen können.
Aber was bedeutet das für Ihr Unternehmen? Ich habe mit Enterprise-IT-Lösungen und dem Open-Source-Software-Unternehmen Red Hat gesprochen, um dies herauszufinden. In diesem Artikel erfahren Sie nicht nur, was Container sind und wie sie funktionieren, sondern auch, wie Ihre Organisation mithilfe von Container-Bereitstellungen in Ihrem Rechenzentrum oder Ihrer Cloud-Infrastruktur qualitativ hochwertige Software schneller bereitstellen kann, wenn Sie die Technologie kennen.
Behälter 101
Im Grunde werden Linux-Container treffend nach den Metall-Versandbehältern benannt, mit denen sie so oft gleichgesetzt werden. Ob auf einem Frachtschiff, einem Güterzug oder auf der Rückseite eines großen Lastwagens, der Container selbst ist das gleiche einheitliche Schiff für den Warentransport. Lars Herrmann, General Manager des Geschäftsbereichs Integrated Solutions bei Red Hat, ist für die Linux-Containertechnologie des Unternehmens verantwortlich. Herrmann sagte, Unternehmen sollten Container einfach als neue Arbeitseinheit betrachten.
"Bei Containern dreht sich alles um Agilität", sagte Herrmann. "In einer komplexen Organisation geht es darum, Verantwortlichkeiten zuzuweisen und gleichzeitig die Freiheit zu haben, Funktionen bereitzustellen. Container bieten Ihnen diese Technologie, um alles zusammenzuhalten und gleichzeitig Ihre Verantwortung für Sicherheit, Verfügbarkeit und Einhaltung von Vorschriften zu verwalten - alles, was zählt."
Klicken Sie auf das Bild für eine vollständige Infografik. Bildnachweis: Twistlock
Die Homogenität der Container macht sie so zu einfach zu verwendenden Bausteinen. Es handelt sich um kleine, steckbare Einheiten, auf denen Sie eine Microservices-Architektur aufbauen können, die die Betriebseffizienz und Versionskontrolle berücksichtigt. Gleichzeitig geben sie DevOps und IT-Teams eine genaue Kontrolle darüber, wie sie Infrastrukturressourcen bereitstellen. Herrmann wies auch darauf hin, dass Container grundsätzlich eine Betriebssystemtechnologie sind.
"Container nehmen das Betriebssystem und teilen es in zwei Teile", erklärte Herrmann. "Einerseits erhalten Sie die Arbeitseinheit für die Anwendung, die Anwendungscode und Abhängigkeiten auf eine Weise enthält, die von den DevOps-Teams optimiert werden kann, und sie erhalten Autonomie und Kontrolle, um Entscheidungen zu treffen, wann sie wollen. Sie müssen nicht mehr warte auf andere teams
"Das andere Element ist der Betriebssystemkernel. Der Betriebssystemkernel und die Container-Nutzdaten bieten Unterstützung für die Ressourcen und Grundelemente, die verfügbar sein sollen, z. B. Speicher, Netzwerk und Sicherheit. Da Container eine Betriebssystemtechnologie sind, können Sie sie überall ausführen, sei es virtuell Hosts oder eine öffentliche Cloud. Mit dieser Hybridqualität können Sie jede Anwendung in jeder Umgebung mit der gleichen Technologie verwalten und gleichzeitig DevOps-Teams stärken."
Container sind auch nicht dasselbe wie Virtualisierung. Herrmann erklärte, dass Container und Virtualisierung wechselseitige Kräfte sind. Die Virtualisierung emuliert eine virtuelle Hardware-Umgebung, um verschiedene Software-Stacks auszuführen. Es bietet eine sogenannte Abstraktionsschicht, um dieser Cloud-Computing-Umgebung Flexibilität hinsichtlich der Struktur und Bereitstellung von Anwendungen und Daten zu geben. Auf einem einzigen virtualisierten Betriebssystemkern können Sie dann mehrere Server oder Instanzen ausführen. Container sind die Instanzen.
"Es gibt immer noch viel Verwirrung, wenn es darum geht, Container mit Virtualisierung in Konflikt zu bringen", sagte Herrmann. "Virtualisierung löst ein anderes Problem, und wir denken, Container und Virtualisierung ergänzen sich sehr gut. Virtualisierung bietet Abstraktion und Emulation, und mit Containern erhalten Sie eine ähnliche Art von Abstraktion, aber ohne Emulation. Zusammen ergeben sie keinen messbaren Overhead und." eine Tonne betrieblicher Effizienz, aber es kann schwierig sein, die beiden zu trennen."
Ein kurzer Überblick über die Containerlandschaft
Die DevOps- und Agile-Prinzipien, über die wir in Bezug auf Container sprechen, sind nicht neu, da sie auf das Konzept der serviceorientierten Architektur (SOA) zurückgehen, das oben in unserem Microservices-Erklärungsprogramm beschrieben ist. Der moderne Linux-Container wurde erfunden, als Docker das Spiel änderte. Docker ist eine sehr beliebte Open-Source-Technologie, die 2013 vom Docker-Projekt entwickelt wurde. Sie wurde für das Packen, Versenden und Ausführen von Anwendungen als leichtgewichtiger Container entwickelt. Im Jahr 2017 hat Docker die Möglichkeit hinzugefügt, Linux-Container unter Windows mithilfe der Hyper-V-Technologie auszuführen.
Docker gehört zu mehreren Open-Source-Projekten, die die Technologie und den Raum mitgestalten. Kubernetes, ursprünglich von Google entwickelt und jetzt von der Cloud Native Computing Foundation verwaltet, ist ein Open-Source-System zur Automatisierung der Bereitstellung, Skalierung und Verwaltung von Containern. Docker und Kubernetes sind die beiden wichtigsten Open-Source-Projekte, die die Entwicklung der Technologie am stärksten beeinflussen. Tatsächlich veröffentlichte Dockers im April seine Docker Enterprise Edition (EE) 2.0, mit der Benutzer ihre Workloads in Kubernetes in einer Umgebung mit mehreren Linux-, Betriebssystem- oder Cloud-Umgebungen verwalten und sichern können. Diese Flexibilität verringert die Wahrscheinlichkeit, dass Unternehmen an eine bestimmte Technologie oder Infrastruktur gebunden sind. Laut Docker können Unternehmen mit EE 2.0 mehr Kosteneffizienz erzielen, indem sie Anwendungen von einer einzigen Steuerungsschnittstelle aus verwalten, um den Überblick über Bilder, Speicher und Netzwerke zu behalten.
Neben Red Hats Project Atomic (für kombinierte Docker / Kubernetes-Stacks) und der Open Container Initiative der Linux Foundation gibt es Dutzende anderer Unternehmen, die offene Industriestandards für Container schaffen wollen. Für Docker waren es Docker-Images, die die Entwicklungswelt in Brand setzten. Ein Container speichert den Code, die Bibliotheken und die Konfigurationsdateien, um ein Image an einem beliebigen Ort auszuführen. "Bis Docker den Begriff der Image-basierten Bereitstellung einführte, hatten alle Container Dienste auf den gleichen Knoten gestellt", sagte Herrmann.
Klicken Sie auf das Bild für eine vollständige Infografik. Bild: Die Docker-Umfrage, 2016
Docker ist auch ein Startup (2010 als dotCloud gegründet), das mehr als 242 Millionen US-Dollar finanziert hat. Das Unternehmen bietet eine Reihe von Enterprise Container-as-a-Service-Tools (CaaS) für Docker-Bereitstellungen in Rechenzentren und privaten Clouds. Wenn es um die Verwaltung von Enterprise-Containern geht, ist Docker natürlich nicht allein in diesem Bereich. Red Hat bietet eine eigene Enterprise-CaaS-Suite von Entwicklertools für seine Produkte Red Hat Enterprise Linux (RHEL), OpenShift und JBoss an.
Immer mehr namhafte Technologieunternehmen beteiligen sich ebenfalls an der Aktion. Amazon Web Services (AWS), Microsoft Azure und Google Cloud Platform (GCP) haben alle integrierten Tools zur Container-Orchestrierung und -Verwaltung in ihre jeweiligen IaaS-Plattformen (Cloud Infrastructure-as-a-Service) integriert. Am 8. Mai gab Microsoft eine Partnerschaft mit Red Hat bekannt, damit Entwickler container-basierte Software in Azure ausführen können. Am selben Tag gab IBM bekannt, dass die Zusammenarbeit mit Red Hat ausgeweitet werden soll, damit Entwickler Anwendungen auf einer integrierten Containerplattform erstellen können. Innerhalb weniger Jahre ist der Containerraum ziemlich voll geworden.
Welche geschäftlichen Probleme können Container lösen?
Container sind die Antwort auf eine Reihe von Problemen, wenn es darum geht, moderne Anwendungsarchitekturen und DevOps-Prinzipien in einem Unternehmen zu implementieren. Insbesondere, wenn die Organisation in der Legacy-Technologie und den traditionellen Entwicklungsrichtlinien verankert ist, sind Container die einfach zu integrierende Plattform, die den Übergang erleichtern und die IT-Abteilung entlasten kann.
"Im Moment sehen wir die Containerisierung als die praktischste Möglichkeit, Cloud, DevOps und Microservices in Ihre Umgebung einzuführen. Container integrieren sich auf natürliche Weise in die Technologien, die Sie bereits haben", sagte Herrmann.
Rich Sharples, Senior Director Product Management für Middleware bei Red Hat, sagte, es gehe darum, qualitativ hochwertige Software mit einer schnelleren Trittfrequenz bereitzustellen. Alle Unternehmen sind bestrebt, Software schneller herauszubringen, um auf ihren eigenen Märkten bestehen zu können, und dieser Druck fällt häufig auf eine überlastete IT-Abteilung. Laut Sharples sind Container eine Möglichkeit, Anwendungen und Dienste zu erstellen, die schneller geändert werden können - sei es durch Hinzufügen einer neuen Funktion oder eines wichtigen Sicherheitsupdates -, während die Qualität erhalten bleibt. Er sprach auch von containerisierter Infrastruktur als Brücke, um Unternehmen auf Microservices vorzubereiten.
"Wir haben dieses Konstruktionsprinzip: Wir können es uns nicht leisten, Anwendungen zurückzulassen", sagte Sharples. "Wir befinden uns in dieser wundervollen neuen Welt von DevOps und agiler Softwareentwicklung. Aber Unternehmen können nicht alle ihre Anwendungen neu schreiben, um an der Party teilzunehmen. Wie bringen wir sie auf diese neuen Ideen?
"Durch Investitionen in Plattformen wie Container kann sichergestellt werden, dass die Organisation bereit ist, so etwas wie Microservices aufzubauen. Microservices und Container zusammen sind dort, wo die eigentliche Stärke liegt. Es gibt nichts Interessantes an einem einzelnen Microservice, das sieht man nur in der Mehrzahl." kooperierendes Netzwerk, das aus diskreten Funktionsblöcken besteht."
Bildnachweis: Docs.Docker.com
Bei der Beurteilung, ob in Container investiert und diese eingesetzt werden sollen, geht es nicht nur um Technologie. Sharples erklärte, dass für einen erfolgreichen Übergang zu DevOps, das Container und Microservices enthält, die Architektur, die zugrunde liegenden Plattformen und die agilen Prozesse vorhanden sein müssen.
"Dies ist nicht nur eine technologische Entscheidung", sagte Sharples. "Sie müssen darüber nachdenken, ob Ihr Unternehmen bereit ist, ob Sie bestimmte Probleme bei der Softwarebereitstellung lösen müssen, und wissen, wie die Geschäftstreiber in Bezug auf Automatisierung und DevOps aussehen. Verstehen Sie Ihre wichtigsten Anforderungen, sehen Sie sich die Anforderungen verschiedener Projekte an und." Entscheiden Sie dann, welche Kombination aus Cloud, Anwendungsarchitektur und Containertechnologie dies ermöglichen kann."
Herrmann gab den IT-Abteilungen von Unternehmen drei Ratschläge, wenn es darum ging, wie Container in ihre Organisation passen:
1. Erste Schritte
Laut Herrmann ist die Kombination von DevOps, Agile, Containern und Microservices nicht nur ein isolierter Technologiewechsel. "Es ist eine Reise, die zu einer bedeutenden Veränderung in der Funktionsweise Ihres Unternehmens führt", sagte er. "Mein erster Ratschlag ist, anzufangen, weil es Ihre Konkurrenten sind. Es ist die falsche Strategie, wenn Early Adopters die Teile zusammenstellen, weil Sie möglicherweise nicht aufholen."
2. Umfassende Vision
Herrmann riet, dass Sie sich Containern aus einer ganzheitlicheren Sicht nähern. "Wählen Sie Ihr wichtigstes Ziel", sagte er. "Die Fähigkeit, Software schneller bereitzustellen, ist ein guter Ausgangspunkt. Überlegen Sie sich auf der Grundlage dieses einen Ziels, wie Sie Ihr Unternehmen in den Prozess einbinden und strukturieren Sie diese Arbeit ohne Risiko und Abwanderung für Ihre bestehenden Abläufe."
3. Ökosystem
Viele Unternehmen stoßen an den Punkt, an dem sie an alte Architekturen, Prozesse und Plattformen gebunden sind, betonte Herrmann. "Sie können die Architektur nicht ändern, ohne über die Plattformen nachzudenken, auf die Sie sich verlassen möchten", sagte er. "Dann lautet die Frage: Mit wem arbeite ich zusammen? Mit wem spreche ich? Wir empfehlen, nach Unternehmen zu suchen, die nicht nur bei den Technologieproblemen helfen, sondern die Transformation in all diesen Dimensionen steuern können: Technik, Prozesse, den ganzen Weg Wenn Sie mit Cloud, DevOps, Containern und Microservices zusammenarbeiten, möchten Sie sich auf ein Ökosystem verlassen, das Ihnen dabei hilft, in kurzer Zeit erfolgreich zu sein und Sie vor Sackgassen zu bewahren."