OpenShift - Übersicht
OpenShift ist eine Cloud-Entwicklungsplattform als Service (PaaS), die von Red Hat gehostet wird. Es handelt sich um eine Open Source Cloud-basierte benutzerfreundliche Plattform, mit der Anwendungen erstellt, getestet, ausgeführt und schließlich in der Cloud bereitgestellt werden können.
OpenShift kann Anwendungen verwalten, die in verschiedenen Sprachen geschrieben sind, z. B. Node.js, Ruby, Python, Perl und Java. Eine der Hauptfunktionen von OpenShift ist die Erweiterbarkeit, mit der die Benutzer die in anderen Sprachen geschriebene Anwendung unterstützen können.
OpenShift enthält verschiedene Konzepte der Virtualisierung als Abstraktionsschicht. Das zugrunde liegende Konzept von OpenShift basiert auf Virtualisierung.
Virtualisierung
Im Allgemeinen kann Virtualisierung als die Erstellung eines virtuellen Systems definiert werden und nicht als physische oder tatsächliche Version von irgendetwas, das von einem System, einem Speicher oder einem Betriebssystem ausgeht. Das Hauptziel der Virtualisierung besteht darin, die IT-Infrastruktur skalierbarer und zuverlässiger zu machen. Das Konzept der Virtualisierung besteht seit Jahrzehnten und kann mit der heutigen Entwicklung der IT-Branche auf eine Vielzahl von Ebenen angewendet werden, angefangen von der Systemebene über die Hardwareebene bis hin zur Virtualisierung auf Serverebene.
Wie es funktioniert
Es kann als eine Technologie beschrieben werden, bei der jede Anwendung oder jedes Betriebssystem von ihrer tatsächlichen physischen Schicht abstrahiert wird. Eine wichtige Verwendung der Virtualisierungstechnologie ist die Servervirtualisierung, bei der eine Software namens Hypervisor verwendet wird, um die Schicht von der zugrunde liegenden Hardware zu abstrahieren. Die Leistung eines Betriebssystems, das unter Virtualisierung ausgeführt wird, ist so gut wie auf der physischen Hardware. Das Konzept der Virtualisierung ist jedoch beliebt, da für die meisten ausgeführten Systeme und Anwendungen nicht die zugrunde liegende Hardware verwendet werden muss.
Physische vs virtuelle Architektur
Arten der Virtualisierung
Application Virtualization- Bei dieser Methode wird die Anwendung vom zugrunde liegenden Betriebssystem abstrahiert. Diese Methode ist sehr nützlich, bei der die Anwendung isoliert ausgeführt werden kann, ohne vom darunter liegenden Betriebssystem abhängig zu sein.
Desktop Virtualization- Diese Methode wird verwendet, um die Arbeitsstationslast zu reduzieren, bei der über einen Thin Client am Schreibtisch remote auf den Desktop zugegriffen werden kann. Bei dieser Methode werden die Desktops meist in einem Rechenzentrum ausgeführt. Ein klassisches Beispiel kann ein Virtual Desktop Image (VDI) sein, das in den meisten Organisationen verwendet wird.
Data Virtualization - Es ist eine Methode zur Abstraktion und Abkehr von der traditionellen Methode der Daten- und Datenverwaltung.
Server Virtualization- Bei dieser Methode werden serverbezogene Ressourcen virtualisiert, einschließlich des physischen Servers, des Prozesses und des Betriebssystems. Die Software, die diese Abstraktion ermöglicht, wird häufig als Hypervisor bezeichnet.
Storage Virtualization - Bei diesem Vorgang werden mehrere Speichergeräte zu einem einzigen Speichergerät zusammengefasst, das von einer einzigen zentralen Konsole aus verwaltet wird.
Network Virtualization - Bei dieser Methode werden alle verfügbaren Netzwerkressourcen kombiniert, indem die verfügbare Bandbreite und die verfügbaren Kanäle unabhängig voneinander aufgeteilt werden.
OpenShift
OpenShift ist eine Cloud-fähige Anwendungsplattform als Service (PaaS). Es handelt sich um eine Open Source-Technologie, mit der Unternehmen ihre traditionelle Anwendungsinfrastruktur und -plattform von physischen, virtuellen Medien in die Cloud verlagern können.
OpenShift unterstützt eine Vielzahl von Anwendungen, die einfach auf der OpenShift-Cloud-Plattform entwickelt und bereitgestellt werden können. OpenShift unterstützt grundsätzlich drei Arten von Plattformen für Entwickler und Benutzer.
Infrastruktur als Service (IaaS)
In diesem Format stellt der Dienstanbieter virtuelle Maschinen auf Hardwareebene mit einer vordefinierten Konfiguration der virtuellen Hardware bereit. In diesem Bereich gibt es mehrere Konkurrenten, beginnend mit AWS Google Cloud, Rackspace und vielen mehr.
Der Hauptnachteil von IaaS nach einem langen Einrichtungs- und Investitionsvorgang besteht darin, dass man weiterhin für die Installation und Wartung des Betriebssystems und der Serverpakete, die Verwaltung des Infrastrukturnetzwerks und die grundlegende Systemadministration verantwortlich ist.
Software als Service (SaaS)
Mit SaaS hat man die geringste Sorge um die zugrunde liegende Infrastruktur. Es ist so einfach wie Plug-and-Play, bei dem sich der Benutzer nur für die Dienste anmelden und diese verwenden muss. Der Hauptnachteil dieses Setups besteht darin, dass nur minimale Anpassungen vorgenommen werden können, die vom Dienstanbieter zugelassen werden. Eines der häufigsten Beispiele für SaaS ist Google Mail, bei dem sich der Benutzer nur anmelden und es verwenden muss. Der Benutzer kann auch einige geringfügige Änderungen an seinem Konto vornehmen. Aus Sicht des Entwicklers ist es jedoch nicht sehr nützlich.
Plattform als Service (PaaS)
Es kann als mittlere Schicht zwischen SaaS und IaaS betrachtet werden. Das Hauptziel der PaaS-Evaluierung sind Entwickler, in denen die Entwicklungsumgebung mit wenigen Befehlen hochgefahren werden kann. Diese Umgebungen sind so konzipiert, dass sie alle Entwicklungsanforderungen erfüllen können, unabhängig davon, ob ein Webanwendungsserver mit einer Datenbank vorhanden ist. Dazu benötigen Sie nur einen einzigen Befehl, und der Dienstanbieter erledigt die Aufgaben für Sie.
Warum OpenShift verwenden?
OpenShift bietet eine gemeinsame Plattform für Unternehmenseinheiten, um ihre Anwendungen in der Cloud zu hosten, ohne sich um das zugrunde liegende Betriebssystem sorgen zu müssen. Dies macht es sehr einfach, Anwendungen in der Cloud zu verwenden, zu entwickeln und bereitzustellen. Eines der Hauptmerkmale ist, dass es verwaltete Hardware- und Netzwerkressourcen für alle Arten von Entwicklung und Tests bereitstellt. Mit OpenShift hat der PaaS-Entwickler die Freiheit, die erforderliche Umgebung mit Spezifikationen zu gestalten.
OpenShift bietet verschiedene Arten von Service Level Agreements, wenn es um Servicepläne geht.
Free - Dieser Plan ist auf drei Jahre mit jeweils 1 GB Speicherplatz begrenzt.
Bronze - Dieser Plan umfasst 3 Jahre und wird auf 1 Jahr mit 1 GB Speicherplatz pro Jahr erweitert.
Sliver - Dies ist ein 16-Jahres-Plan aus Bronze, hat jedoch eine Speicherkapazität von 6 GB ohne zusätzliche Kosten.
Neben den oben genannten Funktionen bietet OpenShift auch eine lokale Version an, die als OpenShift Enterprise bezeichnet wird. In OpenShift können Entwickler skalierbare und nicht skalierbare Anwendungen entwerfen. Diese Entwürfe werden mithilfe von HAproxy-Servern implementiert.
Eigenschaften
OpenShift unterstützt mehrere Funktionen. Nur wenige von ihnen sind -
- Unterstützung für mehrere Sprachen
- Unterstützung für mehrere Datenbanken
- Erweiterbares Kartuschensystem
- Quellcode-Versionsverwaltung
- One-Click-Bereitstellung
- Unterstützung für mehrere Umgebungen
- Standardisierter Entwickler-Workflow
- Abhängigkeits- und Build-Management
- Automatische Anwendungsskalierung
- Responsive Web Console
- Reichhaltiges Befehlszeilen-Toolset
- Remote-SSH-Anmeldung bei Anwendungen
- Rest API-Unterstützung
- Self-Service-On-Demand-Anwendungsstapel
- Integrierte Datenbankdienste
- Kontinuierliche Integration und Release Management
- IDE-Integration
- Remote-Debugging von Anwendungen