2016-06-19 32 views

Antwort

13

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

Ich gebe einem sehr hohes Niveau Zusammenfassung beiden Dienste und als ich sie ...

Cloud Foundry

  • IBM Bluemix ursprünglich offene Technologie Cloud-Foundry verwenden würde basiert weg . 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 verfügt über ein CLI-Programm mit der Bezeichnung cf, das das wichtigste Werkzeug für die Interaktion mit Bluemix ist (oder Bluemix bietet hierfür eine Web-GUI).
  • Cloud Foundry stellt die Konzepte von Organisationen vor, die Räume 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 Services 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 IBM Cloud ereignisgesteuerte Rechenmodell verteilt entwickelt.
  • 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 Ihre Code-Snippets oder Aktionen auf OpenWhisk ausführen können.
  • OpenWhisk stellt die Konzepte von Trigger, Aktionen und Regeln.
  • Auslöser sind eine Ereignisklasse, die von Ereignisquellen ausgegeben wird.
  • 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 einen beliebigen Teil eines offenen Ökosystems auf, einschließlich vorhandener Bluemix-Dienste für Analysen, Daten, kognitive oder andere Dienste Dritter.
  • Regeln sind eine Verbindung zwischen einem Auslöser und einer Aktion.

Cloud Foundry vs. OpenWhisk

So bleibt die Frage: wann sollten Sie verwenden Cloud Foundry, 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 Stufe im Software-Stack, die Ihnen möglicherweise mehr Anpassungsmöglichkeiten bietet, aber wahrscheinlich mehr Fähigkeiten und Kenntnisse für die Einrichtung erfordert.

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

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

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

  • ein Anwendungsentwickler ist.
  • Ich wollte mich nicht um einen Server kümmern.
  • Ich wollte nicht verschiedene Programmiersprachen usw. lernen, um herauszufinden, wie man meinen Server einrichtet.
  • Ich wollte mich wirklich auf die Entwicklung meiner Anwendung konzentrieren und das Backend einfach funktionieren lassen.

Hoffnung, die geholfen hat.

Edit:

Hier ist ein cooles Bild, das ich gefunden verdeutlicht dies:

comparison

+0

Wow danke! Das half, die Dinge aufzuklären. – hans

+1

Etwas, das vielleicht nützlich sein könnte: openwhisk ist nicht nur automatisch skalierbar, sondern kümmert sich auch um den Lastenausgleich. – Sebas

6

CloudFoundry ist eine PaaS (Platform-as-a-Service)-Plattform, die auf den Punkt gebracht bedeutet dies, dass sie die Plattform für Ihre Anwendung findet auf laufen. Beispiele für eine Plattform sind node.js oder eine JVM.

OpenWhisk ist eine serverless 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, wobei immer noch CPU-Zyklen und Speicher benötigt werden, um tatsächlich auf Ereignisse zu warten.

In Serverless übernimmt die Plattform die Last "auf Ereignisse zu hören". 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, ich habe versucht, es auf den größten Unterschied zwischen den beiden zu halten.

+0

serverless eine falsche Bezeichnung ist. Sie können nicht sagen, dass der Unterschied darin besteht, dass Sie mit PaaS Ihren eigenen Server hosten. Nicht der Fall. Die Unterscheidung ist das operative Modell darin, dass die Funktion bei FaaS nur dann ausgeführt wird, wenn sie benötigt wird, während bei PaaS normalerweise mehrere Instanzen immer darauf warten, dass etwas zu tun ist. – christo4ferris

+0

@ christo4ferris Ist das nicht genau das, was ich in Absatz 3 und 4 gesagt habe? In PaaS betreiben Sie Ihren eigenen Server (softwaremäßig, nicht hardwaretechnisch). – markusthoemmes

+0

Die Unterscheidung ist nur das Betriebsmodell. Ja, ein PaaS packt Dinge und erstellt einen "Server", aber Sie "hosten" es wirklich nicht, die Plattform tut es. In FaaS passiert das Gleiche. Die Funktion muss in einer Laufzeitumgebung usw. vorhanden sein, Sie können einfach nicht darauf zugreifen. – christo4ferris