Ku­ber­netes ist der Markt­füh­rer im Bereich ver­teil­ter Cluster-Or­chestra­to­ren. Mitt­ler­wei­le existiert eine Reihe span­nen­der Al­ter­na­ti­ven. Jede hat ihre ganz spe­zi­fi­schen Vor- und Nachteile, sowie un­ter­schied­li­che Ein­satz­mög­lich­kei­ten: vom einfachen lokalen Cluster für die eigene Ent­wick­lungs­um­ge­bung bis zum hoch­ver­füg­ba­ren, ver­teil­ten System mit zehn­tau­sen­den von Nodes. Wir stellen die besten Lösungen vor.

Wodurch zeichnen sich Ku­ber­netes-Al­ter­na­ti­ven aus?

Dem Siegeszug von Docker als Plattform für Container-Vir­tua­li­sie­rung folgend, hat sich Ku­ber­netes als Standard-Tool für die Container-Or­ches­trie­rung etabliert. Jedoch geht der Funk­ti­ons­um­fang von Ku­ber­netes weit über das Verwalten von Container-Gruppen hinaus. Ku­ber­netes au­to­ma­ti­siert De­ploy­ment, Ver­wal­tung und Ska­lie­rung con­tai­ne­ri­sier­ter An­wen­dun­gen. Mit Ku­ber­netes ge­steu­er­te An­wen­dun­gen sind hoch­ver­füg­bar, ska­lier­bar und vor­her­sag­bar. Ferner un­ter­stützt Ku­ber­netes die folgenden Features:

  • au­to­ma­ti­sier­ter Rollout und Rollback von Än­de­run­gen
  • Service-Discovery innerhalb des Netzwerks
  • Mas­sen­spei­cher-Or­ches­trie­rung
  • Ska­lie­rung von An­wen­dun­gen und Diensten
  • Sta­pel­ver­ar­bei­tung von Daten

Nicht alle Ku­ber­netes-Al­ter­na­ti­ven decken das gesamte Spektrum ab; an­de­rer­seits bieten viele der Al­ter­na­ti­ven über Ku­ber­netes hin­aus­ge­hen­de Funk­tio­nen. Beliebt sind vor allem Kom­fort­funk­tio­nen in Bezug auf Nut­zer­ma­nage­ment, Mo­ni­to­ring und Si­cher­heit. Manche der Al­ter­na­ti­ven nutzen Ku­ber­netes unter der Haube, andere lassen sich im Verbund mit Ku­ber­netes nutzen. Ver­schaf­fen wir uns zunächst eine Übersicht der wich­tigs­ten Aspekte von Ku­ber­netes und Al­ter­na­ti­ven.

Einsatz-Parameter von Ku­ber­netes und Al­ter­na­ti­ven

Beim Betreiben von Clustern und Con­tai­nern exis­tie­ren un­ter­schied­li­che Ansätze. Die Einsatz-Parameter be­schrei­ben, wie Res­sour­cen zu­ge­wie­sen und verwaltet werden. Ferner ent­schei­den sie darüber, in welchen Um­ge­bun­gen die Systeme aufgebaut werden können und welche Arten von An­wen­dun­gen sich nutzen lassen:

Einsatz-Parameter Erklärung
De­ploy­ment-Modell Cluster lassen sich in Public-, Private-, und / oder Hybrid-Cloud Um­ge­bun­gen, bzw. über Um­ge­bun­gen hinweg betreiben
Res­sour­cen-Ska­lie­rung Or­ches­trie­ren weiterer Container für ho­ri­zon­ta­le Ska­lie­rung, Al­lo­ka­tio­nen weiterer Rechen-Res­sour­cen (CPU, Speicher) für vertikale Ska­lie­rung
App-Format An­wen­dun­gen können als Docker-Container, in vir­tu­el­len Maschinen, oder als „Stan­da­lo­ne“-Anwendung (Windows, Java, etc.) zum Einsatz kommen
Netzwerk-Ver­wal­tung Software De­fi­nier­te Netzwerke (SDN) für Overlay-Netzwerke, Multicast-Support, Peer-to-Peer-Funk­tio­nen, etc.
Storage-Ver­wal­tung Storage-APIs für ver­schie­de­ne Storage-Backends wie Docker Volume-API, Ceph, S3

Aufgaben von Ku­ber­netes und Al­ter­na­ti­ven

Um ein Cluster von Con­tai­nern zu betreiben, genügt es nicht, diese bloß zu verwalten. Denn ein Cluster ist nur dann voll funk­tio­nal und nützlich, wenn weitere Aufgaben wahr­ge­nom­men werden:

Aufgaben Erklärung
Container- und Cluster Or­ches­trie­rung Container und daraus be­stehen­de Cluster kon­zer­tiert starten und beenden; ihnen Res­sour­cen zuweisen
Service-Discovery Dienste im Netzwerk über spezielle Pro­to­kol­le au­to­ma­ti­siert erkennen
Con­ti­nuous In­te­gra­ti­on/De­ve­lo­p­ment CI- / CD-Pipelines zum kon­ti­nu­ier­li­chen, stabilen Ausrollen von Updates
Mo­ni­to­ring und Logging Container und Cluster über­wa­chen und die dabei an­fal­len­den Daten struk­tu­riert speichern

Aufbau von Ku­ber­netes und Al­ter­na­ti­ven

Bei Ku­ber­netes und den Al­ter­na­ti­ven handelt es sich um Software zur Ver­wal­tung ver­teil­ter Cluster. Es gibt un­ter­schied­li­che Ansätze, ein der­ar­ti­ges System zu struk­tu­rie­ren. Wie zeigen hier die wich­tigs­ten Punkte auf:

Aufbau Erklärung
System-Kom­po­nen­ten Kommt eine einzelne Bi­när­da­tei zum Einsatz, oder ein System in­ter­agie­ren­der Kom­po­nen­ten?
Treiber Welche Treiber für die Anbindung externer Task-Scheduler, Storage-Backends oder phy­si­scher Geräte gibt es?
Schnitt­stel­len und Tools Welche APIs, und Tools für Mo­ni­to­ring, Logging, etc. stehen bereit? Gibt es ein Kom­man­do­zei­len-Interface (CLI) und / oder ein Web-GUI?
IaC-Format bzw. Templates In welcher Sprache werden In­fra­struc­tu­re-as-Code (IaC) An­wei­sun­gen definiert: HCL, YAML, JSON, …?
FOSS vs. Pro-Version Welche Funk­tio­nen stehen in den ver­schie­de­nen Versionen bereit? Gibt es spe­zi­el­len Support, bzw. Service-Level-Agree­ments (SLA)?

Ku­ber­netes und Al­ter­na­ti­ven im Vergleich

Auf dem Markt existiert mitt­ler­wei­le eine Reihe von Systemen, welche mit Ku­ber­netes ver­gleich­ba­re Ka­pa­zi­tä­ten zur Verfügung stellen. Wir un­ter­schei­den drei große Klassen:

Ku­ber­netes-Al­ter­na­ti­ven Be­schrei­bung Beispiele
Container-as-a-Service (CaaS) erlauben das Verwalten großer Mengen von Con­tai­nern, ohne sich um die Or­ches­trie­rung kümmern zu müssen AWS Fargate
Platform-as-a-Service (PaaS) auf Basis von Ku­ber­netes bauen auf Ku­ber­netes auf, bieten jedoch Kom­fort­funk­tio­nen und ein­fa­che­re Nutz­bar­keit OpenShift, Rancher
Leicht­ge­wich­ti­ge Container-Or­chestra­to­ren erlauben das Or­ches­trie­ren von Con­tai­nern, sind jedoch weniger komplex als Ku­ber­netes Docker Swarm, Nomad

Ferner gibt es Ku­ber­netes-Al­ter­na­ti­ven wie Apache Mesos und Azk, welche sich in keine der drei Klassen einordnen lassen. Wir schauen uns die folgenden Systeme im Vergleich mit Ku­ber­netes an:

  • Docker Swarm
  • Apache Mesos
  • AWS Fargate
  • OpenShift
  • Rancher
  • Nomad
  • Azk

Beginnen wir zunächst mit einem kurzen Überblick von Ku­ber­netes.

Ku­ber­netes

Ku­ber­netes er­mög­licht die Aus­füh­rung und Or­ches­trie­rung von Verbünden con­tai­ne­ri­sier­ter An­wen­dun­gen. Zum Funk­ti­ons­um­fang gehören Cluster-Ver­wal­tung, Sche­du­ling, Service Discovery, Mo­ni­to­ring und Geheimnis-Ver­wal­tung. Mit Ku­ber­netes lassen sich Cluster mit bis zu 5.000 Nodes und 300.000 Con­tai­nern rea­li­sie­ren. Ur­sprüng­lich von Google ent­wi­ckelt, steht die Software mitt­ler­wei­le unter Schirm­herr­schaft der „Cloud Native Computing Foun­da­ti­on“ (CNCF). An der laufenden Wei­ter­ent­wick­lung sind neben Google In­dus­trie­grö­ßen wie Red Hat, Docker und IBM beteiligt.

Was sind die Vor- und Nachteile von Ku­ber­netes?

Als In­dus­trie­stan­dard finden sich Ku­ber­netes-Im­ple­men­ta­tio­nen in den Public Cloud In­fra­struk­tu­ren der großen Anbieter. Laufend kommen neue, nützliche Ent­wick­lun­gen und Tools wie „minikube“, „kubeadm“ und „K3s“ dazu. Diese stellen Kom­fort­funk­tio­nen zur Verfügung, ver­ein­fa­chen die In­stal­la­ti­on und Ver­wal­tung von Ku­ber­netes und machen die Software auf schwä­che­rer Hardware lauffähig.

Der größte Nachteil von Ku­ber­netes liegt in der Kom­ple­xi­tät der Software. Eine komplette Ku­ber­netes-In­stal­la­ti­on umfasst ein halbes Dutzend mit­ein­an­der in­ter­agie­ren­der Dienste. Das Setup erfordert einiges an Mühe und die laufende Software ist Res­sour­cen-hungrig.

Für welche Ein­satz­sze­na­ri­en ist Ku­ber­netes besonders geeignet?

Ku­ber­netes kommt für Big-Data- und Machine-Learning-Projekte zum Einsatz, welche das Ku­ber­netes-Ökosystem bzw. Helm-Charts benötigen. Aufgrund der Kom­ple­xi­tät der Software eignet sich Ku­ber­netes am besten für größere Projekte mit mehr­jäh­ri­ger Laufzeit und einem ent­spre­chen­den Budget. Wird eine eigene In­stal­la­ti­on betrieben, sollte ein Vollzeit-Team für die Ad­mi­nis­tra­ti­on vorhanden sein. Al­ter­na­tiv greift man auf Managed-Ku­ber­netes-Angebote in einer Public-Cloud-In­fra­struk­tur zurück.

Tipp

Nutzen Sie unser Ku­ber­netes-Tutorial, um den Cluster-Or­chestra­tor auf Ihrem eigenen Rechner zu in­stal­lie­ren. Bei IONOS können Sie zudem Managed Ku­ber­netes buchen und so die Vorzüge der IONOS Cloud-Umgebung genießen.

Docker Swarm

Bei Docker Swarm handelt es sich um das Docker-eigene Tool für die Or­ches­trie­rung von Clustern, welche aus Docker-Engines bestehen. Ein Swarm-Cluster besteht aus Swarm-Manager-Nodes, welche den Cluster or­ches­trie­ren und verwalten, und Worker-Nodes. Letzteren werden von den Manager-Nodes Aufträge zum Ab­ar­bei­ten über­tra­gen.

Was sind die Vor- und Nachteile von Docker Swarm als Ku­ber­netes-Al­ter­na­ti­ve?

Der größte Vorteil von Docker Swarm liegt in der engen In­te­gra­ti­on der Software in das Docker Ökosystem. Ist die Docker Engine in­stal­liert, kann man direkt mit Docker Swarm loslegen. Zur Steuerung greift man auf das bekannte Docker-Kom­man­do­zei­len-Interface zurück. Docker Swarm in­ter­agiert mit den Funk­tio­na­li­tä­ten von Docker und Docker Compose, wobei eine eigene Swarm API zum Einsatz kommt. Die Software un­ter­stützt Ska­lie­rung, Last­ver­tei­lung, Service Discovery und Multi-Host-Netzwerke.

Im direkten Vergleich mit Kubernets bietet Docker Swarm weniger Mög­lich­kei­ten für An­pas­sun­gen und Er­wei­te­run­gen. Generell fällt der Funk­ti­ons­um­fang kleiner aus.

Für welche Ein­satz­sze­na­ri­en ist Docker Swarm besonders geeignet?

Docker Swarm eignet sich besonders gut, um kleinere Workloads zu ver­ar­bei­ten. Existiert eine be­stehen­de Docker-Umgebung, lässt sich diese mit Docker Swarm leicht nutzen, um Container-Cluster zu or­ches­trie­ren.

Apache Mesos

Das Projekt rund um Apache Mesos beruht auf denselben Prin­zi­pi­en, wie der Linux-Kernel. Jedoch sind diese auf einer anderen Abs­trak­ti­ons­ebe­ne im­ple­men­tiert. Der Mesos-Kernel läuft auf jeder Maschine des Clusters und stellt APIs für An­wen­dun­gen wie Hadoop, Spark, Kafka und Ela­s­tic­se­arch zu Verfügung. Mit Mesos lassen sich Res­sour­cen-Ver­wal­tung und -Sche­du­ling über Re­chen­zen­tren und Cloud-Um­ge­bun­gen verteilt betreiben.

Was sind die Vor- und Nachteile von Apache Mesos als Ku­ber­netes-Al­ter­na­ti­ve?

Mit Apache Mesos werden Rechen-Res­sour­cen wie CPU, Arbeits- und Mas­sen­spei­cher von den ei­gent­li­chen Maschinen weg abs­tra­hiert. So lassen sich Cluster auf zehn­tau­sen­de von Nodes skalieren. Dabei kommen feh­ler­to­le­ran­te, red­un­dan­te Manager- und Agenten-Nodes zum Einsatz, welche bei Bedarf un­ter­bre­chungs­frei mit Updates versorgt werden. Innerhalb eines Clusters lassen sich Cloud-native und Legay-An­wen­dun­gen Seite an Seite betreiben. Die Software läuft auf Linux, macOS und Windows und enthält eine Web-Ober­flä­che zum Verwalten von Clustern und Con­tai­nern.

Mesos ist für Systeme mit vielen Clustern und hoher Ska­lier­bar­keit ausgelegt. Die Software operiert auf einer nied­ri­ge­ren Abs­trak­ti­ons­stu­fe als Ku­ber­netes. So lohnt sich der Einsatz weniger für kleine Cluster mit weniger als einem Dutzend Nodes.

Für welche Ein­satz­sze­na­ri­en ist Apache Mesos besonders geeignet?

Mit Apache Mesos lassen sich feh­ler­to­le­ran­te und elastisch verteilte Systeme bauen. Die Software eignet sich besonders für große Systeme, welche für maximale Redundanz ausgelegt sind.

AWS Fargate

AWS Fargate ist eine „ser­ver­less“ Rechen-Engine für Container und folgt dem Conainer-as-a-Service-Modell. Beim Einsatz von Fargate liegt der Fokus auf der Anwendung, anstelle der In­fra­struk­tur. Man legt für eine con­tai­ne­ri­sier­te Anwendung die An­for­de­run­gen an Netzwerk, Mas­sen­spei­cher, Ska­lier­bar­keit und der­glei­chen fest. Fargate kümmert sich um die Ver­wal­tung der be­nö­tig­ten Res­sour­cen. Dabei greift die Software auf die Schwes­ter­tech­no­lo­gien Amazon Elastic Container Service (ECS) and Amazon Elastic Ku­ber­netes Service (EKS) zurück.

Was sind die Vor- und Nachteile von AWS Fargate als Ku­ber­netes-Al­ter­na­ti­ve?

Der größte Pluspunkt von AWS Fargate ist der starke Fokus auf die An­wen­dungs­ebe­ne. Da man sich nicht um das Pro­vi­sio­nie­ren der In­fra­struk­tur kümmern muss, entfällt der Overhead, welcher mit Ad­mi­nis­tra­ti­on und Ska­lie­rung der Server ein­her­geht. Fargate skaliert die be­nö­tig­ten Res­sour­cen elastisch, so dass keine Über­pro­vi­sio­nie­rung von Servern für Last­spit­zen notwendig ist. Man zahlt also nur für tat­säch­lich in Anspruch genommene Re­chen­ka­pa­zi­tä­ten. Auf der Si­cher­heits­ebe­ne glänzt Fargate durch integrale An­wen­dungs-Iso­lie­rung.

AWS Fargate macht die Nutzung von Kubernets kom­for­ta­bel. Damit ein­her­ge­hend ergeben sich jedoch ggf. auch höhere Kosten. Ferner bewirkt die Ab­schir­mung des Nutzers vor der zu­grun­de­lie­gen­den Tech­no­lo­gie, dass weniger Kontroll- und Ein­fluss­mög­lich­kei­ten bestehen.

Für welche Ein­satz­sze­na­ri­en ist AWS Fargate besonders geeignet?

Mit AWS Fargate lassen sich An­wen­dun­gen, APIs, Mi­cro­ser­vices-Ar­chi­tek­tu­ren und Daten-Sta­pel­ver­ar­bei­tung im­ple­men­tie­ren. Fargate führt con­tai­ne­ri­sier­te An­wen­dun­gen aus und skaliert diese bei Bedarf. Die Software kommt auch für das Training von künst­li­cher In­tel­li­genz (KI) und ma­schi­nel­lem Lernen (ML) zum Einsatz.

OpenShift

Die OpenShift-Plattform des Anbieters Red Hat nutzt Ku­ber­netes unter der Haube. OpenShift erlaubt das Or­ches­trie­ren von Con­tai­nern und Netz­wer­ken und er­mög­licht Sche­du­ling und Ma­nage­ment ver­teil­ter, ska­lier­ba­rer Res­sour­cen. Die Software lässt sich über mehrere Cloud-Um­ge­bun­gen hinweg ausrollen. Dazu gehören private Clouds auf eigener Re­chen­in­fra­struk­tur, sowie die Cloud-In­fra­struk­tu­ren von Amazon AWS und Microsoft Azure.

Von Hause aus hat OpenShift neben den ob­li­ga­to­ri­schen Kom­man­do­zei­len-Tools eine Web-Ober­flä­che zur Steuerung der Funk­tio­na­li­tät an Bord. Dem GitOps-Modell folgend sind Ent­wick­ler an­ge­hal­ten, sämtliche Kon­fi­gu­ra­ti­on als Code vor­zu­hal­ten. Trotz des ähnlichen Namens handelt es sich bei OpenShift nicht um eine mit OpenStack verwandte Tech­no­lo­gie.

Was sind die Vor- und Nachteile von OpenShift als Ku­ber­netes-Al­ter­na­ti­ve?

Der größte Vorteil von OpenShift liegt darin, Ent­wick­lungs-Teams eine kon­sis­ten­te und mächtige Ar­beits­um­ge­bung an die Hand zu geben. Un­ab­hän­gig von der zum Einsatz kommenden Umgebung — Public-, Private-, oder Hybrid-Cloud — stehen Ent­wick­lern dieselben Ansätze zum Bauen, Testen und Betreiben von An­wen­dun­gen zur Verfügung. Dazu gehören ins­be­son­de­re die „OpenShift Pipelines“ eine Lösung für kon­ti­nu­ier­li­che Ent­wick­lung (Con­ti­nuous De­ve­lo­p­ment).

Eine weitere Stärke von OpenShift sind die ein­ge­bau­ten Mo­ni­to­ring- und Logging-Werkzeuge. Dazu gehören Pro­me­theus für die Ver­wal­tung von Mo­ni­to­ring und Be­nach­rich­ti­gun­gen, Jaeger für Trans­ak­ti­ons-Nach­ver­fol­gung, Kali für Ober­flä­chen und Vi­sua­li­sie­rung und Istion zur Im­ple­men­tie­rung ver­teil­ter Mi­cro­ser­vice-Ar­chi­tek­tu­ren. Ferner greift OpenShift auf den „Red Hat Container Catalog“ zu, welcher von Red Hat getestete und zer­ti­fi­zier­te Container-Images enthält.

OpenShift setzt wie viele Produkte aus dem Hause Red Hat auf die kom­mer­zi­el­le Linux-Dis­tri­bu­ti­on „Red Hat En­ter­pri­se Linux“ (RHEL). Aus dieser Ab­hän­gig­keit ergibt sich ein gewisser Vendor Lock-In.

Für welche Ein­satz­sze­na­ri­en ist OpenShift besonders geeignet?

OpenShift ist besonders geeignet, um Hybrid-Cloud Stra­te­gien um­zu­set­zen und die dafür be­nö­tig­ten con­tai­ne­ri­sier­ten An­wen­dun­gen zu bauen und zu skalieren. Or­ga­ni­sa­tio­nen, welche bereits im Red-Hat-Ökosystem be­hei­ma­tet sind, pro­fi­tie­ren besonders vom Einsatz der Software.

Rancher

Mit Rancher steht eine weitere, auf Ku­ber­netes auf­set­zen­de Al­ter­na­ti­ve zur Verfügung. Bei dem Tool handelt es sich um einen komplette Software-Stack für Teams, die auf Container setzen. Dabei adres­siert die Software die ope­ra­ti­ven und si­cher­heits­re­le­van­ten Her­aus­for­de­run­gen, welche sich beim Betrieb mehrerer Ku­ber­netes-Cluster ergeben. Rancher stellt DevOps Teams eine zen­tra­li­sier­te Kontroll-Ober­flä­che zur Verfügung und ver­ein­heit­licht die Ver­wal­tung sämt­li­cher Ku­ber­netes-Cluster einer Or­ga­ni­sa­ti­on. Cluster-Pro­vi­sio­nie­rung, Upgrades, sowie Nutzer- und Policy-Ma­nage­ment sind im Funk­ti­ons­um­fang enthalten.

Was sind die Vor- und Nachteile von Rancher als Ku­ber­netes-Al­ter­na­ti­ve?

Rancher ver­ein­facht das De­ploy­ment von Ku­ber­netes-Clustern auf phy­si­schen Maschinen, sowie in öf­fent­li­chen und privaten Cloud-Um­ge­bun­gen. Die Cluster werden mittels globaler Si­cher­heits-Policies geschützt; es kommen zen­tra­li­sier­te Systeme für Au­then­ti­fi­zie­rung, Zu­griffs­kon­trol­le und Nach­ver­folg­bar­keit zum Einsatz. Die Software beugt Cluster-Fehlern vor und führt bei Bedarf Rettungs- und Wie­der­her­stel­lungs­maß­nah­men durch. Rancher funk­tio­niert mit ver­schie­de­nen Linux- und Ku­ber­netes-Dis­tri­bu­tio­nen und schützt somit vor Vendor Lock-In. An Kom­fort­funk­tio­nen sind Active Directory, LDAP- und SAML-Un­ter­stüt­zung, sowie DNS-Pro­vi­sio­nie­rung enthalten.

Im Gegensatz zu Ku­ber­netes ist die Community rund um Rancher erheblich kleiner. Ferner läuft die Software nur unter Linux.

Für welche Ein­satz­sze­na­ri­en ist Rancher besonders geeignet?

Rancher eignet sich besonders gut dafür, mehrere Ku­ber­netes-Cluster mit einer zen­tra­li­sier­ten Ober­flä­che zu verwalten. Dabei lassen sich Nut­zer­rech­te über mehrere Cluster hinweg vergeben.

Nomad

Mit Nomad steht ein in­ter­es­san­tes Tool für Cluster-Ver­wal­tung und -Sche­du­ling aus dem Hause HashiCorp zur Verfügung. Die Software lässt sich sowohl im Verbund mit Ku­ber­netes als auch als al­lein­stän­di­ge Al­ter­na­ti­ve nutzen. Nomad reiht sich ein in das exis­tie­ren­de Angebot an Cloud- und Pro­vi­sio­nie­rungs-Software der Firma. Der Unix-Phi­lo­so­phy folgend prä­fe­riert HashiCorp einen modularen Ansatz, bei dem jedes Tool einen eng de­fi­nier­ten Auf­ga­ben­be­reich abdeckt. Dazu gehören Terraform für In­fra­struc­tu­re-as-Code (IaC), Consul für Service Discovery, sowie Vault zur Ge­heim­nis­ver­wal­tung.

Was sind die Vor- und Nachteile von Nomad als Ku­ber­netes-Al­ter­na­ti­ve?

Neben den üblichen con­tai­ne­ri­sier­ten An­wen­dun­gen un­ter­stützt Nomad auch vir­tua­li­sier­te sowie tra­di­tio­nel­le „Stan­da­lo­ne“-An­wen­dun­gen. Anders als Ku­ber­netes besteht Nomad nicht aus mehreren, mit­ein­an­der in­ter­agie­ren­den Sys­tem­kom­po­nen­ten. Vielmehr liegt die Software als einzelne, leicht­ge­wich­ti­ge Bi­när­da­tei vor. Diese wird in lokalen Ent­wick­lungs­um­ge­bun­gen, Cloud­um­ge­bun­gen, sowie privaten oder öf­fent­li­chen Re­chen­zen­tren deployt.

Un­ab­hän­gig von der zum Einsatz kommenden Umgebung bietet Nomad denselben ope­ra­ti­ven Komfort. Mit der Software lassen sich Cluster mit zehn­tau­sen­den Nodes über mehrere Ver­füg­bar­keits­zo­nen, Regionen und Re­chen­zen­tren hinweg deployen. Auch Multi-Cluster-De­ploy­ments sind im Funk­ti­ons­um­fang in­be­grif­fen.

Da es sich bei Nomad um eine relativ neue Ent­wick­lung handelt, existiert im Gegensatz zu Ku­ber­netes ein viel schwächer aus­ge­präg­tes Ökosystem. Dadurch bedingt gibt es keine Managed-Nomad-Lösungen der großen Clou­dan­bie­ter.

Für welche Ein­satz­sze­na­ri­en ist Nomad besonders geeignet?

Nomad eignet sich besonders gut für kleine und mit­tel­gro­ße Teams, welchen die Ka­pa­zi­tä­ten fehlen, einen komplexen Or­chestra­tor zu pflegen. Ferner bietet sich der Einsatz von Nomad an, wenn eine Mischung con­tai­ne­ri­sier­ter und nicht-con­tai­ne­ri­sier­ter (Windows, Java) An­wen­dun­gen betrieben werden. Die Ein­fach­heit der Software erlaubt Teams, sich schnell zu bewegen und auf wech­seln­de Business-An­for­de­run­gen zu reagieren.

Azk

Mit Azk steht Ent­wick­lern eine spannende Ku­ber­netes-Al­ter­na­ti­ve zur Verfügung. Das Tool wird lokal in­stal­liert und erlaubt die Or­ches­trie­rung von Ent­wick­lungs­um­ge­bun­gen auf der eigenen Maschine. Azk stellt ein Kom­man­do­zei­len-Interface bereit; für jedes Projekt wird eine (Azkfile.js genannte) Kon­fi­gu­ra­ti­ons­da­tei angelegt, welche die Ent­wick­lungs­um­ge­bung definiert. Dazu gehören zum Einsatz kommende Docker-Container-Images, Netzwerk- und Mas­sen­spei­cher-Ein­stel­lun­gen, sowie Um­ge­bungs­va­ria­blen.

Was sind die Vor- und Nachteile von Azk als Ku­ber­netes-Al­ter­na­ti­ve?

Der größte Vorteil von Azk liegt darin, Ent­wick­lern das Ein­rich­ten lokaler Ent­wick­lungs­um­ge­bun­gen zu er­leich­tern. Neben einem zentralen Re­po­si­to­ry, welches Images der am häu­figs­ten genutzten Systeme enthält, trägt vor allem das Azkfile-Da­tei­for­mat zur guten Nut­zer­er­fah­rung bei. Ein Azkfile ist in einem einfach ver­ständ­li­chen Ja­va­Script-Dialekt verfasst und fungiert als Rezept für eine lokale Ent­wick­lungs­um­ge­bung. Ferner bietet Azk die Mög­lich­keit, ein Azkfile auf Grundlage einiger Angaben au­to­ma­tisch zu ge­ne­rie­ren.

Da sich Azk haupt­säch­lich an pro­fes­sio­nel­le Web-Ent­wick­ler richtet, gibt es bisher keine Un­ter­stüt­zung für Windows.

Für welche Ein­satz­sze­na­ri­en ist Azk besonders geeignet?

Azk eigent sich haupt­säch­lich dafür, die In­stal­la­ti­on und Or­ches­trie­rung von Ent­wick­lungs­um­ge­bun­gen zu au­to­ma­ti­sie­ren. So lassen sich innerhalb eines Teams kon­sis­ten­te Um­ge­bun­gen für ver­schie­de­ne Projekte de­fi­nie­ren.

Zum Hauptmenü