Openstack & Kubernetes
OpenStack
OpenStack ist eine Open-Source-Plattform, welche dem Aufbau von Private-Cloud- und Public-Cloud-Lösungen dient. Weltweit sind tausende Unternehmen an dieser Plattform beteiligt. Diese Unternehmen sorgen für eine ständige Weiterentwicklung der Lösung. Für die offene Architektur haben sich bereits eine Vielzahl von Kunden entschieden, welche die Open-Source-Philosophie auch aktiv unterstützen.
Gerne entwerfen wir für Sie eine individuelle OpenStack-Lösung. Dadurch können Sie kurzfristig viele virtuelle Instanzen mit skalierbaren Ressourcen für Ihre Applikation bereitstellen. Sie können schneller auf veränderte Bedingungen reagieren und besitzen eine Cloud-Plattform, die mit Ihren individuellen Herausforderungen ständig mitwächst.
Wir garantieren Ihnen perfekt aufeinander abgestimmte Soft- und Hardware-Komponenten, die reibungslos mit einander interagieren.
Die einzelnen Bestandteile von OpenStack
OpenStack Compute
Dieses Tool dient der Kontrolle und Verwaltung von virtuellen Maschinen. Dieses Tool ist auch unter dem Namen Nova bekannt. Für den Betrieb sind weitere Komponenten wie zum Beispiel eine Datenbank notwendig.
OpenStack Image
Glance (OpenStack Image Service) stellt den Benutzern Images von virtuellen Maschinen zur Verfügung. Durch diese Images kann Glance Instanzen der Maschinen kompilieren. Glance kann sowohl Metadaten, z.B. die Kernelversion, als auch das verwendete Betriebssystem speichern.
OpenStack Object Storage
Durch die Verwendung einer einfachen API können große Datenmengen abgerufen und gespeichert werden. OpenStack Object Storage – auch Swift genannt – überzeugt durch eine hohe Stabilität und Verfügbarkeit eines gesamten Datensatzes und ist auf Skalierbarkeit ausgelegt. Daher ist Swift ideal, um veränderte Daten abzulegen, ohne dass für diese ein Speicherlimit entsteht.
OpenStack Network
Ein weiteres Feature ist Neutron. Dieses stellt die ,,Netzwerkkonnektivität als Dienst‘‘ zwischen Schnittstellen bereit, die von anderen OpenStack-Diensten verwaltet werden.
OpenStack Block Storage
Durch Cinder wird die Verwaltung von Blockspeichergeräten virtualisiert und den Endnutzern eine Self-Service-API zur Verfügung gestellt. Benutzer können darüber Ressourcen abfragen, ohne dass sie wissen müssen, auf welchem Geräte die Daten gespeichert und bereitgestellt sind.
OpenStack Identity
Keystone wird für die High-Level-Autorisierung genutzt. Die Benutzerdienstautorisierung und die Token-basierte Authentifizierung werden hierdurch unterstützt.
OpenStack Dashboard
Durch das Dashboard Horizon wird Ihnen ein webbasiertes User-Interface für OpenStack Services wie Keystone, Swift, Nova, usw. geboten.
Kubernetes
Mit dem Begriff Kubernetes beschreiben wir eine Open-Source-Plattform, die sowohl die Automatisierung, als auch deklarative Konfigurationen erleichtert. Es besteht aus einem schnell wachsenden und offenem Ökosystem. Die Dienstleistungen, der Support und die Tools des Kubernetes sind weitschichtig verbreitet.
2014 wurde Kubernetes als Open-Source-Projekt durch Google zur Verfügung gestellt. Kombiniert mit den besten Ideen und Praktiken der Community und der Ausführung von Produktions-Workloads baut Kubernetes auf 1 ½ Jahrzehnte Erfahrung auf.
Kubernetes hat vielzählige Funktionen. Es kann vielfach genutzt werden zum Beispiel, als eine:
portable Cloud-Plattform
Micro-services-Plattform
Containerplattform
Kubernetes bietet Ihnen eine containerzentrierte Managementumgebung. Im Namen der Benutzer-Workloads koordiniert es die Netzwerk-, Computer- und Speicherinfrastruktur. Damit wird die Einfachheit von „Platform as a Service“ (PaaS) mit der Flexibilität von „Infrastructure as a Service“ (IaaS) geboten und ermöglicht gleichzeitig die Portabilität zwischen Infrastrukturanbietern.
Wie ist Kubernetes eine Plattform?
Kubernetes bietet eine Menge Funktionalität. Trotz dessen gibt es immer wieder neue Szenarien, die von neuen Funktionen profitieren würden. Um die Entwicklungsgeschwindigkeit zu beschleunigen, können Anwendungsspezifische Workflows optimiert werden. Kubernetes wurde auch als Plattform für den Aufbau eines Ökosystems von Tools und Komponenten konzipiert, um die Verwaltung, Skalierung und Bereitstellung der Anwendungen zu erleichtern.
Durch Labels wird den Benutzern ermöglicht, Ihre Ressourcen nach Belieben zu organisieren. Durch Anmerkungen werden Ressourcen mit benutzerdefinierten Informationen versehen, um eine einfache Möglichkeit für Managementtools zu bieten, deren Status von Kontrollpunkten zu ermitteln und Arbeitsabläufe zu vereinfachen.
Die Kubernetes Steuerungsebene basiert auf denselben APIs, die gleichzeitig den Entwicklern und auch Anwendern zur Verfügung stehen. Durch all diese Vorteile wurde ermöglicht, auf Kubernetes aufzubauen.
Was Kubernetes nicht ist
Kubernetes ist kein allumfassendes oder traditionelles Platform as a Service (PaaS) System. Da Kubernetes auf Containerebene aufbaut, bietet es viele allgemein anwendbare Funktionen, die z.B. mit PaaS-Angeboten identisch sind, wie Skalierung, Bereitstellung, Protokollierung, Überwachung und Lastausgleich. Wo es wichtig ist, bewahrt Kubernetes die Wahlmöglichkeiten und Flexibilitäten der Nutzer und liefert Bausteine für den Aufbau der Entwicklerplattformen.
Kubernetes –
bietet KEINE umfassenden Systeme zur Maschinenwartung, -konfiguration, -verwaltung oder –selbstheilung.
bewirkt keine Einschränkungen auf die Art der unterstützten Anwendungen, sondern zielt darauf ab, eine große Vielfalt an Workloads zu unterstützen. Eine Anwendung, die in einem Container ausgeführt werden kann, sollte erfahrungsgemäß auf Kubernetes hervorragend laufen.
ist KEIN Konfigurationssystem bzw. KEINE Konfigurationssprache. Es stellt eine API dar, die von verschieden beliebigen Formen deklarativer Spezifikationen angesprochen werden kann.
hat auf Anwendungsebene keine Dienste wie Caches oder Cluster-Speichersysteme, Middleware oder Datenverarbeitungs-Frameworks. Diese Komponenten können nur auf Kubernetes laufen oder über portable Mechanismen wie den Open Service Broker angesprochen werden.
Vorteile von Containern
Überwachbarkeit
Nicht nur der Zustand einer Anwendung und andere Signale werden angezeigt, sondern auch Informationen und Metriken auf Betriebssystemebene.
Anwendungsorientiertes Management
Unter Verwendung von logischen Ressourcen kann der Abstraktionsgrad vom Ausführen eines Betriebssystems auf virtueller Hardware bis zum Ausführen einer Anwendung auf einem Betriebssystem erhöht werden.
Kontinuierliche Integration, Entwicklung und Bereitstellung
Hiermit erhalten Sie eine zuverlässige Bereitstellung von Container-Images mit einfachen und schnellerem Rollbacks.
Umgebungskontinuität in Produktion, Tests und Entwicklung
Funktioniert auf einem Laptop genauso gut wie in der Cloud.
Dev und Ops Trennung der Bedenken
Entkoppeln Sie bestimmte Anwendungen von der Infrastruktur, indem Sie die Anwendungscontainer-Images nicht zum Deployment-, sondern zum Build-Releasezeitpunkt erstellen.
Agile Anwendungsbereitstellung
Im Vergleich zur Verwendung von Virtual Machine-Images hat Kubernetes eine effizientere Erstellung von Container-Images.
Elastische, gekoppelte und freie micro-services
Durch die Teilung der Anwendungen in kleinere, unabhängige Teile können diese dynamisch bereitgestellt und besser verwaltet werden.
Cloud- und OS-Distribution Portabilität
Kompatibel mit Google Kubernetes Engine, RHEL, CoreOS, Ubuntu, SUSE und vielen weiteren..
Ressourcenisolierung
Vorhersehbare Anwendungsleistungen.
Ressourcennutzung
Hohe Dichte und Effizienz