Beliebte Open Source - Teil zwei: 5 Tools zur Verwaltung der Cloud

    Letztes Mal sprachen wir über die beliebtesten und diskutierten Tools und Services für die Arbeit mit Protokollen und Datenbanken. Das Thema des heutigen Materials ist das Containermanagement und der Lastausgleich in der Cloud .


    / Foto von Nicolas Henderson CC BY


    Apache OpenWhisk



    Apache OpenWhisk ist eine offene Cloud-Plattform für Serverless Computing. Dieses Konzept setzt voraus, dass Cloud-Computing-Ressourcen als Dienste verwendet werden. Entwickler und Administratoren müssen sich daher nicht um die Infrastruktur und die Serverwartung kümmern. Es stellt sich heraus, dass sich OpenWhisk mit Fragen der Skalierbarkeit, Code-Unterstützung und Umweltsicherheit befasst.

    Die Arbeiten an OpenWhisk begannen 2015 von IBM Research-Mitarbeitern. 2016 erschien der Quellcode des Projekts auf GitHub . Die Plattform gewann schnell an Popularität aufgrund des sich aktiv entwickelnden Trends für das Serverless Computing. Märkte & Märkte prognostizieren wird der Wert dieses Marktes bis 2021 7,7 Milliarden Dollar betragen (zu Kosten von 2 Milliarden im Jahr 2016). Heute, zusätzlich zu IBM, in seiner Entscheidungsplattform von Unternehmen wie Adobe und Naver (der beliebtesten Suchmaschine in Südkorea) genutzt.

    Die Vorteile der Plattform wurden auch in Red Hat gewürdigt. Vertreter des Unternehmens sind der Ansicht, dass andere offene Projekte - Fission, Kubeless, IronFunctions - hinsichtlich der Codebasis, der Funktionsqualität und der Anzahl der Mitwirkenden gegenüber OpenWhisk schlechter sind. Daher arbeiten Red Hat selbst mit OpenWhisk und helfen dem Projekt, sich weiterzuentwickeln.

    Es gibt auch Mängel in der Plattform. Benutzer beachten, dass OpenWhisk zu viele Tools enthält. Es beinhaltet: CouchDB, Kafka, Nginx, Redis und Zookeeper. Das Vorhandensein zusätzlicher Funktionen ist an sich nichts Schlechtes, nur in all dieser Vielfalt kann es schwer verständlich sein.

    Darüber hinaus im Jahr 2018 der Ruf OpenWhisk « verdorben " Schwachstelle , die Angreifer unter bestimmten Bedingungen erlauben benutzerdefinierte Funktion zu ändern. Sie wurden schnell geschlossen , aber die Entwickler mussten die Docker- oder Git-Tags auf die neueste Version aktualisieren . Daher ist die genaue Anzahl der Systeme, die anfällig bleiben, unbekannt. Weitere Informationen zum Schutz von OpenWhisk finden Sie im Artikel zu Medium . Wer sich mit der Plattform vertraut machen und sie bei der Arbeit ausprobieren möchte, sollte die Anleitung des Blogs von James Thomas (James Thomas), Entwickler von IBM Cloud , beachten .


    Pulumi



    Dies ist eine neue Cloud - Plattform für die Entwicklung von Programmen in JavaScript, Python, Go und andere . Fertige Anwendungen können in jeder Cloud ausgeführt werden, einschließlich der Verwendung von Kubernetes-Containern. Gleichzeitig basiert Pulumi auf dem Konzept einer programmierbaren Infrastruktur (Infrastruktur-as-Code). Benutzer erhalten die Möglichkeit, mit Eisen als Code zu arbeiten (die Hardwareeinstellungen programmgesteuert verwalten).

    Es ist immer noch schwer einzuschätzen, wie effektiv das Instrument bei realen Projekten ist. Eine Reihe von Hacker-News-Bewohnern in einem thematischen Thread sagte , Pulumi sei nicht geeignet für die Bearbeitung von blankem Metall. Außerdem hat das Tool keine wesentlichen Vorteile gegenüber ähnlichen Tools wie Terraform., die seit vier Jahren auf dem Markt ist und eine Community gewinnen konnte.

    Wenn Sie immer noch daran interessiert sind, die Fähigkeiten von Pulumi zu bewerten, finden Sie eine Kurzanleitung im GitHub-Repository .


    GLB-Direktor



    GLB Director ist ein GitHub-Load-Balancer, zu dem Entwickler Ende letzten Jahres den Zugang geöffnet haben. Wir haben über dieses Ereignis in einem der Materialien unseres Blogs berichtet .

    Das Tool selbst war die Antwort auf das im Unternehmen aufgetretene Problem. Die bisherige Lösung - haproxy - konnte die Lasten von GitHub nicht bewältigen . Bei der Verwendung von haproxy können Dienste nur vertikal skaliert werden - um Prozessor-, Arbeitsspeicher- und Plattenressourcen hinzuzufügen, was keine merkliche Leistungssteigerung ergibt. Daher haben die Entwickler eine eigene Lösung entwickelt, die durch die Belastung des Webservices geschärft wird.

    GLB Director sendet keine Pakete an einen einzelnen Knoten, sondern verteilt sie unter Verwendung eines Rendezvous-Hash- Systems ( HRW ) zwischen primären und sekundären Proxy-Servern . Wenn ein Server ausfällt, werden die Pakete an den zweiten weitergeleitet. Aus diesem Grund unterstützt der Balancer das TCP-Failover.

    Hacker News-Benutzer glauben, dass es sofort schwierig ist zu verstehen, wie man mit einem Balancer arbeitet. Es hat sich jedoch als effektiv für die Lastverteilung in großen Rechenzentren erwiesen. In diesem Fall kann der GLB Director bei der Verteilung der Last zwischen den Back-End-Servern unbequem sein. Für diese Aufgabe ist es sinnvoll, auf eine andere offene Lösung zurückzugreifen - Katran Balancer von Facebook.


    / Foto von Christopher A. Dominic CC BY


    Crossplane



    Crossplane ist eine offene Multi-Cloud-Plattform zum Verwalten von Lasten. Sie können Anwendungen zwischen mehreren Cloud-Umgebungen übertragen und sind nicht von den verwendeten Clustern und Bibliotheken abhängig. Die Plattform hilft dabei, die Verantwortlichkeiten von Entwicklern und Administratoren abzugrenzen und die Stabilität von Services zu überwachen.

    Die Plattformarchitektur basiert auf dem von Kubernetes verwendeten Ressourcenzuteilungsmodell . Im Allgemeinen kann gesagt werden, dass die Crossplane ein Hybrid aus Kubernetes und der zuvor genannten Terraform ist.

    Der Unterschied zu Crossplane besteht darin, dass auf dieser Plattform alle Konfigurationsdateien an einem Ort gesammelt werden. Es wird jedoch angenommen, dass das neue Tool mit Terraform verwendet werden muss und nicht stattdessen.

    Um sich mit der Plattform in der Praxis vertraut zu machen, schlagen die Autoren vor, die Wordpress-Anwendung mithilfe eines Leitfadens im Community-Blog zu starten .


    Titus



    Titus ist eine Container-Management-Plattform von Netflix, die im vergangenen Jahr an Open Source gespendet wurde. Dadurch kann das Unternehmen täglich mit 200.000 Computing-Clustern arbeiten. Die Lösung basiert auf dem Apache Mesos- Managementsystem , das virtuelle Maschinen in einem Cluster integriert. Ein ähnlicher Ansatz wird im Linux-Kernel verwendet, wenn es notwendig ist, Eisenressourcen auf lokale Prozesse aufzuteilen.

    Es gibt eine MeinungDieser Eröffnungscode ist ein Versuch von Netflix, das Projekt am Leben zu erhalten. Die Lösung für die Verwaltung von Containerumgebungen benötigte Netflix, bevor Kubernetes auf den Markt kam. Daher hat ihr System fast keine Vorteile gegenüber dem Google-Tool (nur Unternehmen, die bereits mit Apache Mesos arbeiten, können davon profitieren). Es wurde später entwickelt und mit Blick auf Multi-Cloud-Umgebungen, so dass sich bereits eine große Community gebildet hat.

    In dieser Hinsicht ist es wahrscheinlich, dass die Netflix-Entwickler Titus aufgeben und zu Kubernetes gehen werden.



    Nächstes Mal werden wir weiter über beliebte Open Source-Tools sprechen. Lassen Sie uns über Lösungen sprechen, die die Aufgaben von Softwareentwicklern vereinfachen.



    Materialien aus unserem Unternehmensblog:


    Zusätzliche Lektüre in unserem Telegrammkanal:


    Jetzt auch beliebt: