Hyperledger Cello im Überblick Mit Hyperledger Cello Blockchains und BaaS provisionieren und verwalten

Autor / Redakteur: Thomas Joos / Peter Schmitz

Mit Hyperledger Cello, einem Open Source-Tool aus der Hyperledger-Familie, können Entwickler oder Unternehmen über ein zentrales Dashboard eigene Blockchain-as-a-Service-Infrastrukturen auf Basis von Hyperledger Fabric aufbauen, provisionieren und zentral verwalten.

Entwickler setzen für das Provisioning und die zentrale Verwaltung von mit Hyperledger entwickelten Blockchains oft auf das Open-Source-Tool Cello.
Entwickler setzen für das Provisioning und die zentrale Verwaltung von mit Hyperledger entwickelten Blockchains oft auf das Open-Source-Tool Cello.
(© monsitj - stock.adobe.com)

Hyperledger Cello ist ein Open Source-Tool aus der Hyperledger-Familie. Das Tool hat die Aufgabe Blockchain-Netzwerke zu provisionieren und zentral zu verwalten. Mit Cello erhalten Unternehmen ein zentrales Dashboard, mit dem auch mehrere Blockchain-Netzwerke zentral provisioniert, skaliert und verwaltet werden können. Über Dashboards kann Cello auch den Zustand der Blockchains überwachen und viele weitere Aktionen zur Verwaltung von Blockchains durchführen.

Blockchain-as-a-Service mit Hyperledger Cello

Die Lösung ist auch eine Hilfe dabei mit Blockchain-as-a-Service-Infrastrukturen aufzubauen, also eine Plattform, auf der Abonnenten Blockchain-Lösungen buchen können, oder in der Unternehmen ihren Abteilungen die Möglichkeit zur Verfügung stellen eigene Blockchain-Lösungen aufzubauen. Dabei können die grundlegenden Strukturen vorgegeben werden, mit denen Blockchains im Netzwerk aufgebaut sein sollen.

Mit Cello können Entwickler oder Unternehmen eigene Blockchain-as-a-Service-Infrastrukturen auf Basis von Hyperledger Fabric aufbauen. Es werden auch andere Lösungen grundsätzlich unterstützt, aber im Fokus von Cello steht eindeutig Hyperledger Fabric. Es ist mit Cello möglich hunderte Blockchain-Netzwerke parallel aufzubauen, ohne für die Netzwerke manuelle Aktionen durchführen zu müssen.

Cello kann Blockchain-Netzwerke über ihren ganzen Lebenszyklus hinweg verwaltet und alle Aktionen durchführen, die für den Betrieb einer eigenen Blockchain auf Basis von Hyperledger Fabric notwendig sind. Neben Standardaktionen zur Bereitstellung und Betrieb kann Cello auch Konsensus-Typen der einzelnen Netzwerke steuern und überwachen.

Hyperledger Cello im Überblick

Die Bereitstellung kann auf verschiedenen Wegen erfolgen und mit Cello durchgeführt und verwaltet werden. Die notwendige Infrastruktur für die eigene Blockchain kann entweder auf Bare Metal erfolgen, also auf eigenen Servern, oder natürlich auf VMs. Auch die Virtualisierung mit VMware vSphere wird unterstützt. Zur Automatisierung arbeitet Cello mit Ansible zusammen. Dazu steht ein Agent zur Verfügung, der Ansible Playbooks umfasst, mit denen Umgebungen automatisiert bereitgestellt werden können.

Auch über Cloud-Infrastrukturen und natürlich mit Microservices auf Basis von Containern mit Docker und Kubernetes/Docker Swarm können dApps und andere Bestandteile des eigenen Blockchain-Netzwerkes können mit Cello provisioniert und anschließend auch verwaltet werden. Cello kann die Docker-APIs nutzen, um Cluster zu verwalten, auf denen Blockchain-Anwendungen betrieben werden können. Dadurch können Blockchain-Bereitstellungen auch skaliert werden.

Mit Cello können mehrere Netzwerke parallel verwaltet und zuvor natürlich auch bereitgestellt werden. Die Verwaltung der angebundenen Netzwerke erfolgt in verschiedenen Dashboards. Der Vorteile besteht darin, dass über diesen Weg zentral überwacht werden kann, ob ein Blockchain-Netzwerk skaliert werden muss. Die Skalierung selbst wird mit Hyperledger Cello vorgenommen. Hyperledger Cello arbeitet natürlich mit den anderen Projekten von Hyperledger zusammen, allen voran Hyperledger Fabric.

Über ein Dashboard können alle an Cello angebundenen Blockchain-Netzwerke grundlegend überwacht werden. Der Status der Systeme kann hier genauso angezeigt werden, wie die Ressourcen der Infrastruktur. Dazu stellt Cello Dashboards zur Verfügung, die sich auch an die eigenen Anforderungen anpassen lassen und die einzelnen Blockchains abdecken

Cello mit Ansible und ElasticStack nutzen

Grundsätzlich können mit Cello auch erweiterte Aktionen durchgeführt werden, wie Überwachung, Protokollierung und Analyse der angebundenen Netzwerke. Dazu arbeitet Cello auch mit anderen Produkten zusammen, zum Beispiel ElasticStack (https://www.elastic.co/de/). In den meisten Fällen wird Cello als Container-Umgebung bereitgestellt. Die einzelnen Funktionen sind in Microservices unterteilt.

Fällt ein Dienst aus, funktionieren die anderen Dienste weiter, sodass die Umgebung schon von vorneherein über eine gewisse Ausfallsicherheit verfügt. Die Automatisierung über Ansible erfolgt ebenfalls als Microservice. Der entsprechende Agent kann als Docker-Container recht schnell in Betrieb genommen werden:

docker pull hyperledger/cello-ansible-agent:latestdocker run --rm hyperledger/cello-ansible-agent:latest ansible --version

Cello testen und installieren

Cello selbst kann als Container in Betrieb genommen werden und arbeitet in diesem Zug auch mit Docker und Kubernetes zusammen. Für den Betrieb von Cello wird „make“ genutzt, da alle Skripte zur Einrichtung von Cello Makefiles sind. Der Quellcode von Cello kann auf Github heruntergeladen werden.

Die Weboberfläche nutzt standardmäßig die Ports 8080/8081. Als Standardanmeldenamen wird nach „admin“ und als Kennwort „pass“ genutzt. Beides kann nach der Installation angepasst werden. In der recht übersichtlichen Dokumenation lassen sich weitere Informationen finden, mit denen Cello als Container im Betrieb genommen werden kann.

Fazit

Wer mehrere Blockchains parallel betreibt, oder Blockchain-as-a-Service-Infrastrukturen bereitstellen will und dabei auf Hyperledger Fabric setzt, sollte sich die Möglichkeiten von Hyperledger Cello anschauen. Allerdings muss hier darauf geachtet werden, welche Version von Fabric zum Einsatz kommt. Cello unterstützt nicht die aktuellste Version von Hyperledger Fabric. Vor der Bereitstellung von Blockchains mit Cello sollten die Anforderungen und Versionen überprüft und ausführlich getestet werden. Wer Cello einsetzt und Blockchain-Netzwerke bereitstellen will, sollte sich darüber hinaus mit Docker und Kubernetes auseinandersetzen.

(ID:47121147)

Über den Autor

 Thomas Joos

Thomas Joos

Freiberuflicher Autor und Journalist