Entdecke Krake

Maximierung der Energieeffizienz von Rechenaufgaben mit Open-Source-Software

Was ist Krake?

Mittels der Orchestrator-Engine Krake können containerisierte Workloads auf verteilten und heterogenen Cloud-Plattformen automatisch verwaltet werden. Entdecke mehr über die Open-Source-Softwarelösung, ihre Features und die Use Cases unten.

Warum Krake?

Herausforderungen

Rechenjobs sind wahre Energiefresser, insbesondere KI-Anwendungen verbrauchen aufgrund ihrer Größe und Komplexität signifikant mehr Rechenleistung und Energie als herkömmliche Computejobs. Der daraus entstehende Konflikt aus ernstzunehmenden CO2-Fußabdrücken und KI-Anwendungen, die durchaus das Potential bergen, unsere ökologischen und ökonomischen Herausforderungen zu bewältigen, darf nicht vernachlässigt werden.

Lösung & Vorteile

Hier kommt Krake ins Spiel. Krake [ˈkʀaːkə] ist eine Orchestrator-Engine für containerisierte und virtualisierte Workloads auf verteilten und heterogenen Cloud-Plattformen.

Mit Krake kann der Cloud-User seine virtuellen Arbeitslasten – neben typischen Metriken, wie u.a. Hardware, Latenzen und Kosten, vor allem anhand Energieeffizienz-bezogener Kriterien verteilen lassen.

Dies geschieht, indem Krake eine dünne Aggregationsschicht über den verschiedenen Plattformen (wie OpenStack oder Kubernetes) schafft und sie dem Cloud-Nutzer über eine einzige Schnittstelle zur Verfügung stellt.

Einsatzbereich

Krake kann für eine Vielzahl von Anwendungsszenarien eingesetzt werden, in denen die Verarbeitung virtueller Rechenjobs oder die Auslastung der digitalen Infrastruktur optimiert werden sollen.

Features

Modularität

Die architekturellen Komponenten von Krake, welche als Mikroservices im Hintergrund agieren, hängen lose zusammen und können unabhängig voneinander gestartet, angepasst oder mit eigenen Entwicklungen  ausgetauscht werden.

Intelligente Arbeitslast-Verteilung

Anhand von individuellen Metriken und Labeln kann Krake automatisiert und intelligent entscheiden, wo eine virtualisierte Arbeitslast ausgeführt werden soll.

Skalierbarkeit

Mithilfe von Krake und Infrastruktur bereitstellender Software (z. B. dem Infrastructure Manager) lassen sich Kubernetes-Cluster ausrollen, anpassen und skalieren. Dies ist sowohl manuell als auch automatisiert möglich.

Open Source

Krake ist vollumfänglich Open-Source und profitiert so von vielen Vorteilen, wie z. B. von einer starken Community, einer hohen  Qualität und Sicherheit durch Peer-Reviews oder die Förderung der Interoperabilität oder langfristige Zugänglichkeit des Codes.

Use Cases

In einer verteilten digitalen Infrastruktur können die virtualisierten Arbeitslasten mithilfe von Krake genau an den Standorten verarbeitet werden, die aus ökologischer, technischer oder wirtschaftlicher Sicht zu jedem Zeitpunkt optimal sind.  Für die Berechnung von optimalen Ausführungsorten können Nutzer die Metriken individuell festlegen. Daraus ergeben sich die folgenden Beispiel-Szenarien:

1. Anforderungsoptimierte Arbeitslast-Verteilung

Der Einsatz von Krake kann sicherstellen, dass eine virtualisierte Arbeitslast immer am optimalen Standort verarbeitet wird. Zuerst selektiert Krake die Standorte die alle Anforderung der Anwendung erfüllen (z.B. technische Restriktionen) vor. Im Anschluss kann Krake darunter den besten Standort für die Verarbeitung de Arbeitslast, beispielsweise aus Energieoptimierungsperspektive, auswählen. 

So könnte ein Compute-Job aufgrund seiner hohen Rechenlast an Standort A dazu beitragen, ein Gebäude zu heizen, während an Standort B Arbeitslasten verarbeitet werden, die ganz speziellen Anforderungen an Datensicherheit gerecht werden sollen. Arbeitslasten, die an Standort C verarbeitet werden, profitierten hingegen am meisten von besonders grüner Energie, sodass der CO2-Fußabdruck der Arbeitslast minimal gehalten wird. Je nachdem, wie Krake die Platzierung der Arbeitslast optimieren soll, gesteuert durch Metriken und Label, wird diese dort platziert, wo die Voraussetzungen für die Verarbeitung des jeweiligen Compute-Jobs am effizientesten sind.

2. Energieoptimierte Platzierung von Arbeitslasten

Wird die verteilte digitale Infrastruktur an ihren Standorten durch verschiedene Energielieferanten, wie zum Beispiel einer Windkraftanlage, einem Wasserkraftwerk oder durch eine Solarfarm, versorgt, könnten die Arbeitslasten mithilfe von Krake genau an dem Standort platziert werden, an welchem die meiste erneuerbare Energie generiert wird. Je nach Wetterlage und aktuellem Energiebedarf des Stromnetzes könnte Krake die Arbeitslasten so verteilen, dass eine möglichst hohe effiziente Ausnutzung erneuerbarer Energien erreicht wird.

3. Platzierung von Arbeitslasten anhand weiterer individueller Metriken

Auch wenn Krake sich vordergründig dazu eignet, Arbeitslasten möglichst nachhaltig zu platzieren, so ist der Kreativität in der Anwendung keine Grenze gesetzt. Denkbar sind Szenarien in denen Krake die Platzierung von Arbeitslasten zeitgesteuert vornimmt oder Arbeitslasten anhand von Service-Parametern (z.B. Netzwerklatenz) verschiebt. So kann Krake beispielsweise Arbeitslasten mit besonders kritischer Zugänglichkeit immer in Rechenzentren platzieren, welche eine hohe Netzwerkstabilität, eine erhöhte Erreichbarkeit und eine niedrige Latenz aufweisen.

Dokumentation & Quellcode

Kooperative Softwaretools

Mit Krake lassen sich Cloud- & Kubernetes-Cluster-Ressourcen ansteuern, um Arbeitslasten auf diesen zu verteilen. Darüber hinaus bietet Krake aber auch die Möglichkeit Kubernetes-Cluster-Ressourcen über weitere Tools erzeugen zu lassen. Aktuell wird diese Funktion in Krake durch den Infrastructure Manager (IM) unterstützt. Für das Erzeugen von Cloud-Ressourcen (OpenStack) ist ein ähnlicher Ansatz mit Yaook geplant und befindet sich gerade in Umsetzung.

Yaook

Yaook - Lifecycle Management Tool für OpenStack

Infrastructure Manager

Videos über Krake

ALASCA Tech-Talk

YouTube

Mit dem Laden des Videos akzeptieren Sie die Datenschutzerklärung von YouTube.
Mehr erfahren

Video laden

Krake wird vorgestellt

AI-Sprint

YouTube

Mit dem Laden des Videos akzeptieren Sie die Datenschutzerklärung von YouTube.
Mehr erfahren

Video laden

Krake im Projekt „AI-Sprint“

Meetings

Meeting-room & date

Krake Weekly:
Jeden Donnerstag, 11 Uhr (Europe/Berlin TZ)

Krake Logo Open Source Cloud Distributed workload management made easy
Ihr wollt Krake aktiv mitgestalten und eure Ideen und Skills in unser Open-Source-Projekt einfließen lassen?

Informiert euch hier, wie ihr Teil der Developer-Community rund um Krake werdet und kommt an Bord:

Ein Projekt von ALASCA

Im November 2023 fand Krake sein neues Zuhause bei ALASCA – einem gemeinnützigen Verein für die (Weiter)entwicklung betriebsfähiger, offener Cloud-Infrastrukturen. Die Mission von ALASCA dreht sich um die Weiterentwicklung und Bereitstellung von Open-Source Tools, die den Aufbau und Betrieb eigener Cloud-Infrastrukturen nicht nur ermöglichen, sondern auch erleichtern.

Neben der praktischen Entwicklungsarbeit an diesen Projekten versteht sich ALASCA auch als Vermittler von Wissen rund um diese Themen – nicht nur innerhalb des Vereins, sondern auch nach außen hin, wie beispielsweise in Form der ALASCA Tech-Talks.

Mit einer starken, motivierten Community und der geballten Kompetenz der Vereinsmitglieder treibt ALASCA die digitale Souveränität in Deutschland und Europa damit nachhaltig voran – auch in Zusammenarbeit mit weiteren Open-Source-Initiativen und -Communities der digitalen Branche.

en_GB