OpenStack Cloud: Mythen und Realität

    Das OpenStack-Projekt entstand auf Initiative zweier Hersteller und kombinierte deren Produkte - den Rackspace-Objektspeicher und das NASA-Hypervisor-Management-System. "OpenStack soll Unternehmen dabei helfen, Cloud-Computing-Ressourcen bereitzustellen, die auf Standardhardware ausgeführt werden", sagen Anbieter. In diesem Material werden wir versuchen herauszufinden, ob dies tatsächlich so ist.

    Openstack heute


    Die erste Version von OpenStack wurde im Oktober 2010 veröffentlicht. Damit entwickelte sich Rackspace zu einem der engsten Konkurrenten eines anderen IaaS-Cloud-Anbieters - Amazon Web Services (AWS), der zu diesem Zeitpunkt an Boden verlor. OpenStack ist im Wesentlichen eine Kopie von AWS: Viele Dienste und Prozesse auf diesen Plattformen sind identisch und sogar miteinander kompatibel.

    IaaS: OpenStack vs. Amazon-Webdienste



    OpenStack besteht aus mehreren Modulen, die über einen Servicekatalog miteinander interagieren. Heute umfasst die Plattform:
    • Hypervisor-Management-Tool (Nova)
    • Objektspeicher (Swift)
    • Image-Speicher der virtuellen Maschine (Überblick)
    • Webbasierte Verwaltungsoberfläche (Horizon)
    • Verzeichnis der Benutzer und Dienste (Schlüsselbund)
    • Netzwerkinfrastruktur-Management-Tool (Neutron)
    • Blocklager (Asche)
    • Cloud Application Orchestrator (Wärme)
    • Ressourcen-Messwerkzeug (Ceilometer)
    • ein Mittel zur Bereitstellung einer Datenbank als Service.

    In naher Zukunft ist geplant, Funktionen wie die bedarfsgerechte Bereitstellung physischer Geräte sowie die Bereitstellung von Hadoop-Clustern zu realisieren.

    Über Mythen


    Ist OpenStack die Technologie der Zukunft, Mainstream? Wie man es weiß. Vielleicht ist dies das selbe unbekannte Klondike wie Linux in den frühen 90ern, als nur wenige Leute davon wussten und nur sehr wenige es sahen. OpenStack hat ein großes Potenzial, aber heute ist es schwierig, es als fertiges Produkt zu bezeichnen. Und hier ist warum.

    Die Funktionalität der Lösung wird ständig verändert, ergänzt und die Dokumentation hält diesen Änderungen nicht immer stand. In einer neuen Version gibt es häufig Gelegenheiten, die in den Anweisungen für das Produkt nicht berücksichtigt werden.

    Die Fehlerbehebung ist sehr schwierig, da OpenStack in der Regel als Reaktion auf Fehler einige Kilobyte Stack-Trace erzeugt. Sie müssen viel Zeit und Mühe aufwenden, um nur die Fehlerursache zu ermitteln.

    Die Implementierung von OpenStack erfordert ernsthafte Arbeit von Programmierern. Wenn Sie Cloud-Dienste auf der Basis dieses Produkts verkaufen möchten (auch im Rahmen Ihres eigenen Unternehmens), ist die darin verfügbare Funktionalität eindeutig unzureichend. Beispielsweise können Sie den Netzwerkverkehr einer virtuellen Maschine nicht einschränken, damit er andere nicht beeinträchtigt. Die Grundfunktionen von OpenStack ermöglichen es nicht, die verbrauchten Ressourcen reibungslos anzupassen und die virtuelle Maschine sogar auf einen anderen Host zu migrieren. Es gibt auch keine Überwachungstools für die Barrierefreiheit. Ein gutes Beispiel für die Bereitschaft von OpenStack als Produkt ist das Hinzufügen und Entfernen von Knoten mit Hypervisoren. Sie werden durch eine bestimmte Prozedur hinzugefügt, es gibt jedoch keinen speziellen Befehl zum Löschen eines Rechenknotens. Sie müssen zu einer speziellen MySQL-Tabelle gehen und dies manuell tun:

    mysql> delete from compute_nodes where hypervisor_hostname='nova4’;
    Query OK, 1 row affected (0.00 sec)
    mysql> delete from services where host='nova4’;
    Query OK, 1 row affected (0.00 sec)
    mysql>
    

    Gratis, also umsonst? Sie können OpenStack absolut kostenlos herunterladen. Aufgrund der Nichtverfügbarkeit des Produkts führt sein "freies" jedoch zu ernsthaften Arbeitskosten in Bezug auf die Verfeinerung.

    Entwickelt von einer freien Community? Auf der OpenStack-Website können Sie die Statistiken einsehen: Wer und in welchem ​​Umfang war an der Entwicklung des Lösungscodes beteiligt?

    Überall in OpenStack



    Rackspace war das angesehenste Unternehmen, das mit der Bereitstellung von Infrastruktur als Service Geld verdiente. Als nächstes kommt Red Hat, das OpenStack-Lösungen verkauft, implementiert und unterstützt. dann HP und IBM, die OpenStack-basierte Cloud-Dienste bereitstellen. Wie Sie sehen, ist der Anteil der freien Programmierer (OpenStack Foundation) minimal, und in Bezug auf die Anzahl der Benutzer sind es nur 5-10 Personen für alle 4 Jahre.

    Juno-Veröffentlichung (Oktober 2014)


    Wenn Sie sich das letzte Halbjahr 2014 ansehen, hat sich das Bild ein wenig verändert, aber die Führer sind fast gleich geblieben. Außerdem erschienen neue Spieler - Mirantis, das nur OpenStack (Installationen und Support) verkauft, sowie SUSE. Die Hersteller schließen die Liste, von denen jede ihre eigenen Ziele hat. NEC bietet Support für Geräte, auf denen OpenStack ausgeführt wird. VMware versucht, sein Ökosystem zu schützen, indem es die Implementierung der OpenStack-Kompatibilität mit ESXi "anführt".

    Werde ich mit OpenStack meinen eigenen Amazon haben? Ist diese Technologie ein wesentlicher Erfolgsfaktor für den Cloud-Anbieter? Nein, das ist es nicht. Dies ist im magischen Quadranten von Gartner deutlich zu sehen. Die überwiegende Mehrheit der Unternehmen verwendet VMware, ein etwas weniger beliebtes KVM. Die Xen-Plattform wurde jedoch sowohl von IBM als auch von Fujitsu und GoGrid und dem klaren Marktführer von Amazon bevorzugt. Es ist klar, dass dies überhaupt kein Hypervisor ist.



    Können traditionelle virtuelle Maschinen durch trübe ersetzt werden? Die Merkmale der beiden Virtualisierungsansätze sind in der Vergleichstabelle aufgeführt (danke an Red Hat dafür).

    Herkömmliche VMs (ESXi, RHEV)Cloud-VMs (OpenStack, AWS)
    Große. Daten werden in der VM gespeichertKleine. Daten werden außerhalb der VM gespeichert
    1 Anwendung - 1 VM 1 Anwendung - viel VM
    VM-Lebenszyklus - Jahre VM-Lebenszyklus - von Stunden bis zu Monaten (Anwendungen befinden sich nicht innerhalb der VM, sondern außerhalb)
    Sie können eine bestimmte VM mit der Anwendung nur auf die Größe ihres Hosts erhöhenMit einer Zunahme / Abnahme der Anzahl der Benutzer können Sie VMs dynamisch erstellen / löschen
    Vertikale Skalierung (Steigerung der VM-Leistung) Horizontale Skalierung (Erhöhung der Anzahl der VMs)
    Die Anwendung befindet sich im Inneren und übersteht einen VM-Absturz nicht, d. H. Es ist wichtig, die Fehlertoleranz zu gewährleistenIm Falle eines VM-Ausfalls erstellt die Cloud-Anwendung ihn von Grund auf neu und bleibt dabei betriebsbereit
    SLA erfordert die Verfügbarkeit von Anwendungen über Live Migration, HA und andere ähnliche Funktionen SLA erfordert die Fähigkeit, VM-Instanzen hinzuzufügen / zu entfernen, um die Anwendungsverfügbarkeit aufrechtzuerhalten

    Bedienung. OpenStack verfügt nicht über Hochverfügbarkeitstools oder spezielle Pläne für seine Implementierung. Es gibt auch keine Sicherungssysteme für VMs. Wenn der Virtualisierungsserver ausfällt, haben wir die virtuellen Maschinen verloren - wir müssen neue erstellen (und das ist normal).

    Es wird angekündigt, dass OpenStack in allen Hypervisoren funktioniert, dies ist jedoch nicht der Fall. Das Hauptverwaltungssystem für die Produktentwicklung und -prüfung ist KVM. Der Rest ist entweder nicht vollständig getestet (z. B. Microsoft Hyper-V, VMware-Hypervisoren, Citrix XenServer 6.2) oder wurde überhaupt nicht getestet (Baremetal, Docker, LXC über libvirt, Xen über libvirt), und der Betrieb in OpenStack kann nicht garantiert werden. Im letzteren Fall erhalten Sie beim Start eine Meldung wie: "Der libvirt-Treiber wird vom OpenStack-Projekt nicht auf xen / x86_64 getestet, so dass die Qualität nicht gewährleistet werden kann."

    Gleichzeitig besteht die Möglichkeit einer Live-Migration (Live Migration), d.h. Das Übertragen von VMs von einem physischen Server auf einen anderen ohne Beenden der Dienste ist in OpenStack standardmäßig deaktiviert. Trotz der Tatsache, dass diese Funktionalität vom Haupthypervisor - KVM - unterstützt wird.

    OpenStack-Anwendung


    Trotz der angegebenen Merkmale und Mängel kann die OpenStack-Plattform für verschiedene Aufgaben verwendet werden. Eine der Optionen: Sie haben bereits eine Art Cloud-Umgebung (z. B. Amazon oder Rackspace), möchten aber durch die Bereitstellung von Cloud-Diensten zu Hause umziehen.

    Ein weiteres Szenario: Sie planen, Cloud-Anbieter zu werden, haben ein Startup, genügend Finanzen, Programmierer, den Wunsch zu arbeiten und vor allem etwas Know-how, das Sie in dieser Cloud-Umgebung bereitstellen werden. Das heißt Du wirst kein zweites Google oder Facebook machen, sondern etwas völlig Neues. In diesem Fall ist OpenStack das Produkt, auf dessen Basis Sie sich weiterentwickeln können.

    Wenn regelmäßig Tests erforderlich sind oder wenn Sie eine Cloud-Plattform benötigen, um eine neue Anwendung zu entwickeln, ist es auch sinnvoll, OpenStack zu beachten. Alternativ können Sie nur ein separates OpenStack-Modul verwenden. Verwenden Sie beispielsweise die Arbeit mehrerer Programmierer, um so etwas wie eine auf Swift basierende Unternehmens-Dropbox zu schreiben und zu implementieren.

    Jetzt auch beliebt: