Auswahl der richtigen Cloud-Container-Plattform

Auswahl der richtigen Cloud-Container-Plattform

Über den Autor

Anthony Kesterton ist Senior Solutions Architect bei Red Hat.

Führende ISDs, Unternehmensarchitekten und DevOps-Teams auf der ganzen Welt wissen, dass Containerplattformen zu einer Notwendigkeit für dynamische Unternehmen geworden sind, die Portabilität über mehrere Umgebungen hinweg suchen. Wenn Sie noch nicht mit dem Einrichten von Containern begonnen haben, denken Sie auf jeden Fall darüber nach, dies zu tun. Und wenn sie beginnen, wird die Nutzung zunehmen. In einer aktuellen Umfrage unter Unternehmen, die ihre Geschäftstätigkeit eröffnen, planen 67 % der Befragten, im nächsten Jahr verstärkt Container zu nutzen.

Container sind praktische Softwareeinheiten, die Anwendungscode über verschiedene Computerumgebungen transportieren, von der Entwicklung bis zum Produkt; auf nackten Maschinen oder virtuellen Maschinen; On-Premise oder in der Cloud. Container tragen dazu bei, die Anwendungsbereitstellung zu beschleunigen, indem sie die Zusammenarbeit zwischen Entwicklungs- und Betriebsteams erleichtern.

Betreiber können grundlegende Container-Images mit dem richtigen Inhalt und der richtigen Konfiguration (einschließlich Sicherheitseinstellungen) bereitstellen, und Entwickler können sicherstellen, dass ihr sorgfältig entworfener und getesteter Anwendungscode genau dem entspricht, der in der Produktion bereitgestellt wird. Durch die Integration effektiver Tests und Sicherheit in die Container-Pipeline sind Container vertrauenswürdig, skalierbar und zuverlässig.

Aus Sicht der IT-Infrastruktur ist die verbesserte Maschinenauslastung einer der beeindruckendsten Aspekte der Containertechnologie. Wenn eine physische Maschine die Bereitstellung von 10 virtuellen Maschinen (VMs) unterstützen kann, kann eine Container-Workload normalerweise 100 Container auf derselben Plattform unterstützen. Praktisch kann diese Verbesserung des Maschineneinsatzes die Containerisierungsbemühungen eines Unternehmens allein durch Materialeinsparungen finanzieren.

Aufgrund der Beliebtheit von Containern gibt es mehrere Möglichkeiten, Container bereitzustellen und zu verwalten. Anbieter wie Amazon, Google, Azure, Docker und Red Hat bieten Containerplattformen an. Viele dieser Anbieter nutzen Kubernetes-Container-Management-Software, die ursprünglich von Google entwickelt, mit Hilfe von Red Hat und anderen als Open-Source-Software bereitgestellt und der Cloud Native Computing Foundation angeboten wird. .

Nicht jeder nutzt Kubernetes; Beispielsweise haben Docker (Swarm) und Pivotal (Cloud Foundry) ursprünglich ihre eigenen Container-Management-Systeme entwickelt, aber selbst diese Anbieter haben mittlerweile das Kubernetes-Projekt als ihre primäre Plattform übernommen. Containerverwaltung.

Was sollten Sie bei der Entwicklung Ihrer Bewertungskriterien für die richtige Containerplattform für Ihr Unternehmen berücksichtigen, da all diese Anbieter Kubernetes-basierte Containerplattformen anbieten und über unterschiedliche Entwicklungsgrade und Betriebserfahrungen verfügen?

Überprüfen Sie die wesentlichen Funktionen

Containerplattformen können zu erheblichen Störungen im normalen Geschäftsbetrieb von IT-Abteilungen führen. Nicht alle Mitarbeiter in den Bereichen Infrastruktur, Betrieb, Sicherheit oder Entwicklung verfügen über einschlägige Erfahrung in der Containertechnologie, und die Aufgabe, bestehende oder ältere Anwendungen zu migrieren, ist nicht unerheblich. Einige Unternehmen beheben den Mangel an Fähigkeiten ihrer Teams durch den Einsatz von Cloud-verwalteten und verwalteten Containerplattformen. Dies ist eine praktikable Option, aber die Verwendung cloudbasierter Containerplattformen erfordert von Ihren Mitarbeitern dennoch Folgendes:

IT-Manager müssen Unternehmen stets über die Leistung, Stabilität, Sicherheit und Zuverlässigkeit der Anwendungen informieren, auf denen sie ausgeführt werden.

Zunächst ist es wichtig zu verstehen, dass Kubernetes zwar häufig als Herzstück einer Containerplattform verwendet wird, Kubernetes jedoch nicht die einzige Komponente ist, die zum Erstellen neuer Produkte benötigt wird. 39; eine Containerplattform. Jeder Anbieter oder Sie müssen die Komponenten auswählen und Entscheidungen für den Rest der Containerplattform treffen. Die Containerplattform als Ganzes sollte überprüft werden, um eine Abhängigkeit vom Anbieter zu vermeiden. Planen Sie Ihren Abschied vom Anbieter, bevor Sie Ihre Entscheidung treffen.

Angesichts der rasanten Entwicklung der heutigen Technologie müssen Sie auch sicherstellen, dass Ihre Plattform nicht stagniert und zu einer Quelle technischer Schulden wird. Selbst wenn Ihr Entwickler neue Funktionen auf der Containerplattform wünscht, bevorzugen Betriebe die Stabilität und Langlebigkeit der Plattform.

Sie können Entwickler und das Betriebsteam zufrieden stellen, indem Sie eine Containerplattform wählen, die die Möglichkeit bietet, den gesamten Stack automatisch zu aktualisieren: Betriebssystem, Umgebung und mehr. Ausführung von Containern und Containerplattformen. Suchen Sie nach einer Containerplattform, die es Ihnen ermöglicht, in Ihrem eigenen Tempo zu aktualisieren und langfristigen Support zu bieten, wenn Sie länger als erwartet auf einer bestimmten Version bleiben müssen.

Angesichts der vielen Horrorgeschichten in der Presse über schlechte Standardsicherheitseinstellungen sollten Sie nach einer Containerplattform mit standardmäßig angemessenen Sicherheitseinstellungen suchen. Wenn Sie beispielsweise Container als Root auf einer schlecht gesicherten Containerplattform ausführen, erhalten Sie Zugriff auf die zugrunde liegende Infrastruktur und andere auf der Plattform ausgeführte Anwendungen.

Untersuchen Sie, wie die Containerplattform eine rollenbasierte Zugriffskontrolle (RBAC) mit einer geeigneten Auswahl an Optionen bieten kann, die den Benutzern die Freiheit geben, ihre Aufgaben zu erledigen, damit die Plattform nicht überrascht wird. Unterschätzen Sie nicht die Leistungsfähigkeit vorhandener Sicherheitsfunktionen im Betriebssystem und in der Infrastruktur. Stellen Sie sicher, dass die Integration dieser zugrunde liegenden Sicherheitsfunktionen ordnungsgemäß in die Containerplattform integriert ist.

Ausbalancieren von Entwicklungs- und Betriebsanforderungen

Ein Sprichwort besagt, dass ein Unternehmen Ordnung braucht, um zu überleben, und Unordnung, um zu gedeihen, und in der Welt von DevOps kann man das nicht genug betonen.

Geschäftsanwendungen und Abläufe in der Cloud müssen reibungslos, effizient und geordnet ablaufen. Damit die Betriebsfunktionen optimal ausgeführt werden können, muss ein Plattformcontainer eine hohe Sicherheit aufweisen. Damit ein Unternehmen andererseits die Grenzen von Exzellenz und Innovation kontinuierlich erweitern kann, muss die Softwarekonfiguration nicht zu begrenzt oder restriktiv sein, damit Entwickler nicht mit den neuesten Ideen und Integrationen experimentieren können.

Mit diesem Bedürfnis nach Ausgewogenheit im Hinterkopf werden IT-Manager nach Innovationspotenzialen suchen. Obwohl viele gebrauchsfertige Optionen verfügbar sind, versenden einige Anbieter absichtlich keine produktionsbereiten Produkte an Sie und übertragen Ihnen die Verantwortung.

Die Open-Source-Community: Viele Hände arbeiten für Qualität

Eine der wichtigsten Optionen ist die Wahl einer vollständig offenen oder weitgehend geschlossenen Quellcontainerplattform. Selbst wenn ein Anbieter behauptet, die Kubernetes-Komponente im Upstream zu verwenden, ist es schwieriger, Probleme zu validieren und zu lösen, wenn Sie keinen Zugriff auf die Quelle haben. Eine Pseudo-Open-Source-Plattform ist eine der heimtückischsten Formen der Anbieterbindung. Glücklicherweise sind sich IT-Experten heute zunehmend der Open-Source-Revolution und ihrer Vorteile bewusst.

Open-Source-Projekte (von denen Kubernetes ein großes Open-Source-Projekt ist) sind eine Quelle für Innovation, Zuverlässigkeit und Sicherheit. Eine gute Community, die um ein Open-Source-Projekt herum aufgebaut ist, bedeutet, dass das Sicherheitsniveau, das Testniveau, die Verbesserungsrate und die Fehlerbehebungen über die eines Closed-Source-Produkts hinausgehen. Durch die aktive Beteiligung von Benutzern, Endbenutzern, Organisationen und Anbietern wird sichergestellt, dass Probleme schneller gefunden und gelöst werden, sodass Sie eine bessere Anwendung erhalten.

Kubernetes-basierte Containerplattformen profitieren bereits von einigen dieser Open-Source-Vorteile. Schauen Sie sich zunächst den Rest der Plattform an und sehen Sie, wie Open Source sie ist.

Ihr nächster Schritt besteht darin, die Erfahrung des Anbieters zu berücksichtigen. Wenn Ihr Anbieter mit einer breiten Palette von Kunden zusammenarbeitet, von kleinen und mittleren Unternehmen bis hin zu großen Konzernen und Versorgungsunternehmen, und er Erfahrung mit unterschiedlichen regulatorischen Umgebungen oder anderen Einschränkungen hat, ist es viel wahrscheinlicher, dass er Probleme, auf die Sie stoßen, versteht und löst. . Herausforderungen bei der Implementierung einer Container-Plattform. Sie verfügen über die Erfahrung, Ihre Containerplattform entsprechend Ihren Anforderungen zu konfigurieren und bieten Ihnen die notwendige Beratung und Schulung für eine effektive Verwaltung.

Sicherheit und Schutz in Ihrer Batterie.

Es macht keinen Sinn, eine stabile und produktive Plattform für Ihre Container zu haben, wenn Sie nicht sicher sein können, dass alle Funktionen sicher sind. Eine Plattform sollte eine automatisierte Bereitstellung von Container-Images, eine ordnungsgemäße Lebenszyklusverwaltung von Anwendungen, die als Image-Satz ausgeführt werden, und eine sichere Trennung vom Netzwerk ermöglichen.

Dies sind nur einige Beispiele für die Funktionen, die Ihre Containerplattform zum Funktionieren bringen. Neben einer stabilen Plattformbasis ist für effektive Sicherheit jedoch ein vollständiger, sicherer und integrierter Stack erforderlich.

Die Wahl einer sicheren Plattform für Ihren gesamten Stack ist von entscheidender Bedeutung, Sie sollten jedoch einfache Vorsichtsmaßnahmen in Ihrem Unternehmens-Computing-Ökosystem nicht vernachlässigen. Es bedeutet Schichten. Jede Schicht muss sicher sein, angefangen bei der zugrunde liegenden Hardware und dem Betriebssystem.

Betriebssysteme, die für den Betrieb Ihrer Containerplattform optimiert sind, mit unveränderlichen Dateisystemen und minimaler Funktionalität bieten eine viel kleinere Angriffsfläche. Überprüfen Sie zunächst die integrierten Sicherheitsfunktionen des Betriebssystems. Zweitens überprüfen Sie die Betriebssicherheit Ihres Containers. Es ist einfach, sicher, mit Standardeinstellungen und Verhaltensweisen, die mit einem hohen Maß an Sicherheit beginnen, und der Möglichkeit, die Einstellungen anzupassen, wenn Ihre Teams Erfahrung sammeln.

Suchen Sie auf der Ebene der Containerplattform nach Benutzeroberflächen, die den Benutzer auf den richtigen Weg führen und verhindern, dass er eine falsche Entscheidung trifft. Finden Sie vollständige und sichere APIs zur Verbindung mit Ihren bestehenden und zukünftigen Automatisierungstools. Berücksichtigen Sie abschließend die Sicherheit der Container selbst.

Stellen Sie sicher, dass die Plattform verfolgen kann, wann Container-Images über eine sichere Pipeline aktualisiert werden, und dass Aktualisierungen dieser Images automatisch und auf kontrollierte Weise bereitgestellt werden können. Dadurch können Sie sicherstellen, dass die richtigen Versionen der Anwendung kontinuierlich auf Ihrer Containerplattform ausgeführt werden.

IN DEN WARENKORB

Die Wahl einer Containerplattform ist wie die Suche nach Möbeln bei IKEA. Jede der vielen Optionen und Alternativen bietet eine etwas andere Form und Funktion, eine Lösung, die für ein Unternehmen möglicherweise besser geeignet ist als für ein anderes.

Für alle Unternehmen ist es jedoch wichtig, dass eine Plattform integriert, sicher und regelmäßig aktualisiert ist und über einen unternehmensfreundlichen Konfigurationsbereich verfügt, ohne dass die Betriebsfunktionen oder die Sicherheit beeinträchtigt werden. Die Prüfung der unten aufgeführten Funktionen wird Ihnen helfen, die richtige Wahl zu treffen.

Anthony Kesterton ist Senior Solutions Architect bei Red Hat.