Was ist der Unterschied zwischen Cloud Foundry und OpenWhisk?

8

Ich sehe diese beiden in Bluemix, aber was ist der Unterschied zwischen ihnen?

    
hans 19.06.2016, 20:34
quelle

2 Antworten

13

Cloud Foundry und OpenWhisk sind zwei Bluemix Compute-Modelle, mit denen ein Entwickler die Arbeitslast einer Anwendung steigern kann.

Ich gebe eine sehr high-level Zusammenfassung beider Dienste und wann ich sie verwenden würde ...

Cloud Foundry

  • IBM Bluemix basierte ursprünglich auf der offenen Technologie von Cloud Foundry. Es ist eine Cloud-Computing-Plattform als Service, der den gesamten Lebenszyklus von der anfänglichen Entwicklung über alle Testphasen bis hin zur Bereitstellung unterstützt.
  • Cloud Foundry hat ein CLI-Programm namens cf , das das wichtigste Werkzeug für die Interaktion mit Bluemix ist (oder Bluemix bietet eine Web-GUI für dies).
  • Cloud Foundry führt die Konzepte von Organisationen ein, die Spaces enthalten, die Sie sich als Arbeitsbereiche vorstellen können. Unterschiedliche Leerzeichen entsprechen typischerweise unterschiedlichen Lebenszyklusstadien für eine Anwendung.
  • Cloud Foundry führt die Konzepte Dienste und Anwendungen ein. Ein Cloud Foundry-Dienst führt normalerweise eine bestimmte Funktion aus (z. B. einen Datenbankdienst), und eine Anwendung verfügt normalerweise über Dienste und ihre Schlüssel.

OpenWhisk

  • OpenWhisk ist ein brandneues, von IBM Cloud entwickeltes verteiltes ereignisgesteuertes Rechenmodell.
  • Es verfügt über eine verteilte, automatisch skalierende Serverless-Architektur, die Anwendungslogik für Ereignisse ausführt.
  • OpenWhisk hat auch ein CLI-Programm namens wsk , mit dem Sie Ihr Programm ausführen können Code-Snippets oder Aktionen auf OpenWhisk.
  • OpenWhisk führt die Konzepte Auslöser , Aktionen und Regeln ein.
  • Trigger sind eine Klasse von Ereignissen, die von Ereignisquellen ausgegeben werden.
  • Aktionen kapseln den tatsächlich auszuführenden Code ein, der mehrere Sprachbindungen unterstützt, einschließlich Node.js, Swift und beliebige Binärprogramme, die in Docker Containers gekapselt sind. Aktionen rufen jeden Teil eines offenen Ökosystems auf, einschließlich vorhandener Bluemix-Dienste für Analysen, Daten, kognitive oder andere Dienste Dritter.
  • Regeln sind eine Verknüpfung zwischen einem Auslöser und einer Aktion.

Cloud Foundry und OpenWhisk

Es bleibt also die Frage: Wann sollten Sie Cloud Foundry verwenden oder wann sollten Sie OpenWhisk verwenden?

In meiner begrenzten Erfahrung mit OpenWhisk, hier sind meine Gedanken. Ich denke an OpenWhisk als eine leicht implementierbare, automatisch skalierende Architektur, die Anwendungsentwickler verwenden können, ohne viel Vorwissen in der Backend-Entwicklung zu benötigen. Ich denke an Cloud Foundry als eine niedrigere Ebene im Software-Stack, die Ihnen möglicherweise mehr Anpassungsmöglichkeiten bietet, aber wahrscheinlich mehr Fähigkeiten und Kenntnisse für die Einrichtung erfordert.

Ich würde Cloud Foundry verwenden, wenn ich ...

  • War ein Backend & amp; Anwendungsentwickler.
  • Hatte Erfahrung beim Erstellen und Verbinden von Diensten.
  • Benötigte Funktionalität, die mit OpenWhisk nicht möglich ist.

Ich würde OpenWhisk verwenden, wenn ich ...

  • War ein Anwendungsentwickler.
  • Ich wollte mir keine Sorgen um einen Server machen.
  • Ich wollte nicht verschiedene Programmiersprachen lernen, um herauszufinden, wie ich meinen Server einrichten soll.
  • Ich wollte mich wirklich darauf konzentrieren, meine Anwendung zu entwickeln und das Backend einfach funktionieren zu lassen.

Hoffnung, die geholfen hat.

Bearbeiten:

Hier ist ein cooles Bild, das ich gefunden habe, das veranschaulicht dies:

    
joe 19.06.2016, 20:59
quelle
6

CloudFoundry ist ein PaaS (Platform-as-a-Service) -Plattform, was kurz gesagt bedeutet, dass es die Plattform für Ihre Anwendung bereitstellt. Beispiele für eine Plattform sind node.js oder eine JVM.

OpenWhisk ist eine serverlose Plattform. Der Begriff FaaS (Function-as-a-Service) scheint ebenfalls aufzutauchen. Sie laden Code hoch, der ausgeführt wird, sobald ein Ereignis eintritt. Dieses Ereignis kann von einer einfachen HTTP-Anfrage bis zu einer Änderung in Ihrer Datenbank reichen.

Der grundlegende Unterschied zwischen den beiden ist die Funktionsweise. PaaS bedeutet, dass Sie immer noch einen Serverprozess ausführen. Sie haben einen lange laufenden Prozess, der auf Ereignisse hört und Ihre Logik ausführt, sobald ein Ereignis eintritt. Bei der anderen Zeit ist der Prozess im Leerlauf und erfordert immer noch CPU-Zyklen und Speicher, um auf Ereignisse zu warten.

Im Serverless-Modus übernimmt die Plattform die Last "auf Ereignisse zu warten". Sobald ein Ereignis eintritt, wird Ihr Code instanziiert und ausgeführt. Dieser Code wird anschließend heruntergefahren und benötigt keine Ressourcen mehr. Das erklärt auch, warum OpenWhisk-Aktionen eine Zeitbeschränkung von 5 Minuten haben. Es ist nicht für lange laufende Aktionen gedacht.

Haftungsausschluss: Beide Plattformen unterstützen viel mehr, als ich hier beschrieben habe, ich habe versucht, es auf den wesentlichsten Unterschied zwischen beiden zu beschränken.

    
markusthoemmes 19.06.2016 20:56
quelle