Sägetstrasse 18, 3123 Belp, Switzerland +41 79 173 36 84 info@ict.technology

      Nomad: Moderne und schlanke Workload-Orchestrierung für Unternehmen

      Target, einer der größten Einzelhändler der USA mit über 1.800 Filialen, stand vor einer komplexen Herausforderung: die Orchestrierung von Workloads über mehrere Umgebungen hinweg - von der Public Cloud über eigene Rechenzentren bis zu Edge-Lokationen in den Filialen. Kubernetes war bereits punktuell im Einsatz, aber zu komplex und bei den Gesamtkosten im Betrieb zu teuer. Die Entscheidung fiel schließlich auf HashiCorp Nomad, was zu einer deutlichen Beschleunigung der Entwicklungszyklen und einer Vereinfachung der Infrastruktur führte. Dieser Erfolgsfall zeigt ein wiederkehrendes Muster in der Branche: Unternehmen erkennen zunehmend den Wert von schlanken, effizienten Orchestrierungslösungen, die sich auf das Wesentliche konzentrieren.

       

      Die Container-Orchestrierung entwickelt sich zu einem kritischen Bestandteil moderner IT-Infrastrukturen. Während immer mehr Unternehmen ihre Anwendungslandschaften modernisieren und auf Cloud-native Architekturen umsteigen, stehen sie vor der Herausforderung, eine immer größere Anzahl von Arbeitsabläufen effizient zu verwalten. Viele Organisationen haben jedoch festgestellt, dass die gängigen Orchestrierungslösungen mit ihrer Komplexität, ihrem hohen Ressourcenbedarf und den steilen Lernkurven die operative Effizienz eher behindern als fördern. Die logische Folge sind höhere Betriebskosten, längere Entwicklungszyklen und eine übermäßigen Belastung der IT-Teams.

      Auch reicht es oft nicht, nur Container orchestrieren. Für Workloads auf Servern (virtuell oder Bare Metal), Applikationen in Form von Executables, Batrch Jobs oder gar Java-Services würden noch zusätzliche Orchestrierungslösungen notwendig. Die Komplexität der Infrastruktur steigt dadurch noch zusätzlich. Viele Unternehmen suchen deshalb nach schlankeren, effizienteren Alternativen für ihre Workload-Orchestrierung.  

      Vorhang auf für HashiCorp Nomad.

      Nomad hat sich als elegante und leistungsfähige Alternative für die Workload-Orchestrierung etabliert. Anders als Kubernetes folgt Nomad einem pragmatischen Ansatz: Ein einzelnes Binary, einfache APIs und eine intuitive Architektur ermöglichen es Teams, sich auf ihre eigentlichen Aufgaben zu konzentrieren, anstatt sich in der Verwaltung der Orchestrierungsplattform selbst zu verlieren. Und es ist bei Nomad auch egal, ob die Workloads containerisiert wurden oder nicht.

       

      Warum einfacher auch besser sein kann: der Nomad-Ansatz

      Nomad VerticalLogo ColorWhite RGBDie Orchestrierung von Workloads in modernen Unternehmensumgebungen erfordert einen ausgewogenen Ansatz zwischen Funktionalität und Komplexität. Targets Erfahrung zeigt dies deutlich: Das Unternehmen musste Anwendungen in der Google Cloud, in eigenen Rechenzentren und in über 1.800 Filialen betreiben. Die Herausforderung bestand darin, diese verschiedenen Umgebungen effizient und znetral zu orchestrieren, ohne dabei die Komplexität unnötig zu erhöhen.

      Die Entscheidung für Nomad basierte auf mehreren Schlüsselfaktoren, die sich in der Praxis als entscheidend erwiesen.

      1. Ein zentraler Aspekt war die Konsistenz: Da Target bereits Docker-Container mit Kubernetes in den Filialen nutzte, war die Möglichkeit, diese gleichen Container auch in anderen Umgebungen wiederzuverwenden, von großem Wert. Dies vermied die Notwendigkeit, separate RPM-Pakete oder andere Deployment-Formate zu erstellen.

      2. Die Geschwindigkeit der Deployments spielte ebenfalls eine wichtige Rolle. Targets Entwicklungsteams benötigten die Fähigkeit, schnell neue Versionen auszurollen und zu testen, besonders im Hinblick auf die intensive Phase zwischen dem Beginn der Black Friday-Saison bis zu Weihnachten. Mit Nomad konnten sie Änderungen innerhalb von Minuten deployen, im Gegensatz zu den 30-minütigen oder längeren Deployment-Zyklen ihrer bisherigen RPM- und dockerbasierten Prozesse.

      3. Die native Integration mit dem bestehenden HashiCorp-Stack erwies sich als weiterer entscheidender Vorteil. Target hatte bereits eine funktionierende Infrastruktur mit Consul für Service-Discovery und DNS sowie Vault für Secrets Management. Nomads nahtlose Integration in dieses Ökosystem ermöglichte es dem Team, diese bewährten Komponenten weiterhin zu nutzen.

      4. Der Multi-Region Support war für Targets verteilte Infrastruktur unerlässlich. Mit On-premise Rechenzentren in Minnesota und Cloud-Präsenz in den Regionen US-Central und US-East benötigte das Team die Fähigkeit, Workloads unabhängig vom Standort konzernweit und pro Region zu deployen, während gleichzeitig eine föderierte Konfiguration und Überwachung möglich blieb.

      5. Schließlich war die Integration mit Terraform ein wichtiger Faktor. Targets Teams nutzten bereits etablierte Deployment-Pipelines basierend auf Terraform, und die Möglichkeit, diese beizubehalten und für Nomad-Deployments weiterzuverwenden, vereinfachte die Adoption erheblich.

      Ressourcenoptimierung und gemischte Workloads

      Effiziente Ressourcennutzung ist entscheidend für Unternehmen, die mit unterschiedlichsten Workloads arbeiten. Nomad bietet eine leistungsstarke Orchestrierungslösung, die eine optimierte Ressourcenauslastung und eine flexible Handhabung gemischter Workloads ermöglicht.

      Optimale Nutzung von Ressourcen

      Nomad setzt auf einen effizienten Bin-Packing-Algorithmus, der Serverressourcen optimal verteilt, indem er kleinere Tasks intelligent in vorhandene freie Kapazitäten einfügt. Dies reduziert ungenutzte Ressourcen und maximiert die Effizienz des Clusters. In High-Performance-Computing-Umgebungen oder bei Unternehmen mit stark variierenden Workloads kann Nomad sicherstellen, dass teure Hardware optimal ausgelastet wird.

      • Dynamische Ressourcenzuteilung: Workloads werden basierend auf Echtzeit-Anforderungen platziert, um Leerlaufzeiten zu vermeiden.
      • Effizienzsteigerung: Durch intelligente Platzierung von Jobs wird der Hardwarebedarf reduziert, was Betriebskosten senkt.
      • Lastverteilung: Workloads können automatisch auf weniger ausgelastete Nodes verschoben werden, um eine gleichmäßige Systemauslastung sicherzustellen.

      Unterstützung gemischter Workloads

      Eine der Stärken von Nomad ist die Fähigkeit, verschiedenste Arten von Workloads parallel zu orchestrieren. Während Kubernetes primär für containerisierte Anwendungen ausgelegt ist, kann Nomad zusätzlich Standalone-Applikationen, Batch-Jobs, Microservices (Container) und systemkritische Prozesse verwalten.

      • Batch-Verarbeitung & HPC-Workloads: Ideal für Forschungsinstitute oder Unternehmen mit datenintensiven Berechnungen, bei denen kurzfristig hohe Rechenleistung benötigt wird.
      • Microservices & Cloud-native Anwendungen: Moderne, verteilte Architekturen profitieren von Nomads einfacher API und deklarativer Konfiguration.
      • Legacy-Anwendungen & Systemprozesse: Im Gegensatz zu Kubernetes können auch nicht-containerisierte Workloads effizient orchestriert werden.

      Vereinfachung der Betriebsabläufe

      Nomad vereinfacht den Betrieb durch eine minimalistische Architektur mit einem einzigen Binary und keinen externen Abhängigkeiten. Dies reduziert den Verwaltungsaufwand und macht es insbesondere für kleinere IT-Teams einfacher, eine leistungsstarke Orchestrierungslösung zu betreiben.

      Mit dieser Kombination aus hoher Ressourceneffizienz und flexibler Workload-Unterstützung stellt Nomad eine vielseitige Plattform dar, die sich sowohl für dynamische, moderne Cloud-Umgebungen als auch für traditionelle IT-Infrastrukturen eignet.


      Enterprise-Scale Scheduling und Bin Packing

      Nomads Scheduling-Engine unterscheidet sich fundamental von anderen Orchestrierungslösungen durch ihren pragmatischen und effizienten Ansatz. Im Kern verwendet Nomad einen verteilten Scheduler, der auf dem Raft-Consensus-Protokoll basiert. Dies ermöglicht es, Scheduling-Entscheidungen schnell und zuverlässig über ein Cluster hinweg zu koordinieren. Target implementierte diese Architektur mit drei-Node-Clustern pro Region, wobei ein Server als Leader fungiert und die anderen beiden als Follower dienen, die im Falle eines Ausfalls sofort übernehmen können. Fünf-Node-Cluster sind noch idealer für Szenarien, welche eine maximale Hochverfügbarkeit: Diese fünf Nodes können über verschiedene Fault Domains oder Rechenzentren verteilt werden und bleiben auch noch dann uneingeschränkt funktionsfähig, falls der aktuelle Cluster Leader selbst unerwartet ausfällt und die verbleibenden Follower einen neuen Leader bestimmen müssen - was bei einem drei-Node-Cluster mangels Quorum aber nicht mehr möglich wäre. 

      Was Nomads Scheduler besonders macht, ist sein fortschrittlicher Bin-Packing-Algorithmus, den wir im letzten Textabschnitt bereits erwähnt haben. Während viele Orchestrierungslösungen einfache Placement-Strategien verwenden, die oft zu einer ineffizienten Ressourcenverteilung führen, nutzt Nomad einen mehrdimensionalen Ansatz. Dieser berücksichtigt gleichzeitig CPU, Arbeitsspeicher, Netzwerk-Ports und auch benutzerdefinierte Ressourcen. Bei Target führte dies zu einer deutlich höheren Ressourceneffizienz: Mit nur acht Nodes pro Cluster konnte das Unternehmen eine Vielzahl von Workloads effizient betreiben, ohne die bei  anderen Plattformen wie VMware oder Kubernetes oft anzutreffende Überdimensionierung der darunterliegenden Hardware und Netzwerkinfrastruktur zu provozieren.

      Die Scheduling-Entscheidungen basieren auf einem ausgeklügelten System von Constraints und Affinitäten. Entwickler können präzise Anforderungen für ihre Workloads definieren, etwa Hardware-Anforderungen, Netzwerk-Topologie oder Geolokation. Der Scheduler berücksichtigt diese Constraints zusammen mit dem aktuellen Zustand des Clusters, um optimale Placement-Entscheidungen zu treffen. Bei Target war dies besonders wichtig für die Verwaltung von Multi-Region-Deployments zwischen ihren Rechenzentren in Minnesota und den Google-Cloud-Regionen.

      Ein konkretes Beispiel aus der Target-Implementation demonstriert die Leistungsfähigkeit des Schedulers: Das Unternehmen betreibt einen kompletten ELK-Stack (Elasticsearch, Logstash, Kibana) auf Nomad, der täglich etwa 300GB an Logs verarbeitet. Hier zeigt sich die Flexibilität des Schedulers im Umgang mit verschiedenen Workload-Typen - von zustandslosen Anwendungen bis hin zu komplexen, zustandsbehafteten Systemen wie Elasticsearch. Der Scheduler erkennt automatisch die spezifischen Anforderungen dieser unterschiedlichen Workloads und platziert sie entsprechend optimal auf der verfügbaren Infrastruktur.

      Besonders hervorzuheben ist auch die Fähigkeit des Schedulers, mit preemptiblen Instanzen umzugehen. Target experimentiert in ihrer Staging-Umgebung mit dieser Funktion, die es ermöglicht, kosteneffiziente, unterbrechbare Cloud-Instanzen zu nutzen, während der Scheduler automatisch für die Aufrechterhaltung des Dienstbetriebs sorgt. Dies zeigt, wie Nomads Scheduling-Engine nicht nur technische Effizienz, sondern auch direkte Kosteneinsparungen ermöglicht.

       

      Enterprise-Grade Features

      Nomad Enterprise erweitert die Open-Source-Version von Nomad um zusätzliche Funktionen, die speziell auf die Anforderungen großer Unternehmen zugeschnitten sind. Besonders in komplexen und verteilten Umgebungen spielt Nomad Enterprise seine Stärken aus und ermöglicht Unternehmen eine noch höhere Skalierbarkeit, Sicherheit und Governance.

      Governance und Multi-Cloud Management

      Eine der größten Herausforderungen für Unternehmen mit global verteilten Infrastrukturen ist das effiziente Management von Clustern über mehrere Regionen und Cloud-Anbieter hinweg. Nomad Enterprise bietet hierfür eine leistungsfähige föderierte Cluster-Architektur:

      Nomad Multi Region

      • Föderierte Cluster über mehrere Regionen und Cloud-Anbieter: Unternehmen können mehrere Nomad-Cluster in verschiedenen Regionen oder Cloud-Umgebungen betreiben und zentral steuern. Das heißt zum Beispiel: Ein Cluster läuft On-premise, einer bei Oracle Cloud Infrastructure (OCI) in Frankfurt über drei Rechenzentren verteilt, und ein weiterer Cluster bei Amazon Web Services (AWS). Zusammen bilden Sie dann einen Pool für Applikationen. Dies ermöglicht eine flexible Verteilung von Workloads je nach geografischer Nähe, den auf die jeweilige Applikation passenden Ressourcen und Latenzanforderungen, Lizenzbediungen von Software oder übergeordneten Compliance-Vorgaben.
      • Unabhängige Deployment-Kontrolle pro Region: Jede Region kann unabhängig operieren und verwaltet werden, wodurch sichergestellt wird, dass ein Ausfall oder ein Fehler in einer Region keine Auswirkungen auf andere Cluster hat. Gleichzeitig können globale Richtlinien zentral verwaltet werden. Das bedeutet, dass unser On-premise laufender Nomad-Cluster auch Workloads bei OCI oder AWS deployen und steuern kann. Die jeweiligen Daten werden zwischen dem lokalen Rechenzentrum und den Cloud-Umgebungen repliziert - mit Ausnahmen von den Tokens, regionalen ACL-Policies, und den die Geschäftsrichtlinien umsetzenden Sentinel-Policies (zu diesen kommen wir noch in einem folgenden Kapitel).
      • Automatisierte Validierung und Deployment-Prozesse: Nomad Enterprise ermöglicht es, Deployments automatisiert zu validieren und in produktiven Umgebungen auszurollen. Dies reduziert manuelle Fehlerquellen und erhöht die Zuverlässigkeit von Releases.

      Hochverfügbarkeit und Skalierung

      Für geschäftskritische Anwendungen ist eine hohe Verfügbarkeit essenziell. Nomad Enterprise stellt hierfür zusätzliche Funktionen bereit, die die Ausfallsicherheit und Skalierbarkeit von Nomad-Clustern verbessern:

      Nomad 3 Node Cluster

      • Drei-Node-Cluster oder Fünf-Node-Cluster pro Region für Ausfallsicherheit: Um eine hohe Verfügbarkeit zu gewährleisten, werden Nomad-Server in Clustern mit mindestens drei Nodes pro Region betrieben. Dies stellt sicher, dass auch bei Ausfall eines oder mehrerer Server die verbleibenden Nodes den Betrieb nahtlos fortführen können.
      • Automatische Konsens-Findung für Scheduling-Entscheidungen: Nomad nutzt das Raft-Vonsensus-Protokoll, um Scheduling-Entscheidungen zuverlässig und performant über ein Cluster hinweg zu treffen. Bei einem Leader-Failover wird automatisch ein neuer Leader bestimmt, um eine kontinuierliche Verfügbarkeit zu gewährleisten.
      • Flexible Skalierung der Client-Nodes: Nomad kann Client-Nodes je nach Workload-Anforderung dynamisch skalieren, wodurch Unternehmen ihre Ressourcen effizienter nutzen und Betriebskosten senken können.

      Umsetzung von Richtlinien und regulatorischen Vorschriften

      In regulierten Branchen wie dem Finanzwesen, dem Gesundheitssektor oder der öffentlichen Verwaltung sind strenge Richtlinien zur Einhaltung von Sicherheits- und Compliance-Vorgaben essenziell. Nomad Enterprise bietet mit der Integration von HashiCorp Sentinel eine leistungsstarke Lösung zur Durchsetzung von Richtlinien („Policy Enforcement“), indem es die Definition und Automatisierung von Regeln direkt in den Orchestrierungsprozess integriert. Regulatorische Anforderungen und interne Sicherheitsrichtlinien kann man damit effizient durchzusetzen. Unternehmen profitieren insgesamt von einer automatisierten, skalierbaren Lösung zur Policy-Validierung, die sich nahtlos in bestehende Workflows und Compliance-Strategien einfügt. Sentinel ist neben Nomad auch ebenso in Terraform, Vault und Consul integriert, womit sich die Implementation von Policy-as-Code auf alle Schichten der Infrastruktur ausdehnen kann.

      Sentinel: Policy Enforcement für Nomad Enterprise

      Sentinels and ContainersSentinel ist ein richtlinienbasiertes Framework, das es Administratoren ermöglicht, feingranulare Policies als Code zu definieren und diese automatisch durch Nomad durchsetzen zu lassen. Dabei bauen Sentinel-Policies auf dem bestehenden Access Control List (ACL)-System von Nomad auf und ermöglichen eine präzise Steuerung über die Einreichung und Ausführung von Jobs.

      Zentrale Funktionen von Sentinel in Nomad Enterprise:

      • Feingranulare Richtlinienkontrolle: Sentinel-Policies können festlegen, welche Jobs wann ausgeführt werden dürfen, sicherstellen, dass nur bestimmte Container-Images genutzt werden, oder andere Compliance-Anforderungen durchsetzen.
      • Deklarative Policy-Struktur: Policies werden in der Sentinel-Sprache definiert, die für eine hohe Lesbarkeit und schnelle Auswertung optimiert ist. Die Komplexität der Richtlinien kann frei gewählt werden, sollte jedoch so gestaltet sein, dass sie keine negativen Auswirkungen auf die Performance hat.
      • Detaillierte Objektnutzung: Sentinel-Policies können auf verschiedene Objekte im Nomad-Ökosystem zugreifen, darunter Job-Definitionen, bestehende Jobs, ACL-Tokens und Namespaces. Dadurch lassen sich differenzierte Prüfungen und Durchsetzungsmechanismen realisieren.

      Verwaltung und Durchsetzung von Sentinel-Policies

      Die Verwaltung von Sentinel-Richtlinien erfolgt über das Nomad CLI, wobei verschiedene Durchsetzungslevel („Enforcement Levels“) zur Verfügung stehen:

      • Advisory Policies: Diese geben lediglich Warnungen aus, wenn ein Job gegen eine Richtlinie verstößt, blockieren jedoch nicht dessen Ausführung.
      • Soft-Mandatory Policies: Jobs, die gegen eine Richtlinie verstoßen, können zwar ausgeführt werden, aber nur mit expliziter Genehmigung.
      • Hard-Mandatory Policies: Hier werden Jobs, die nicht den definierten Richtlinien entsprechen, strikt blockiert und können nicht ausgeführt werden.

      Beispielsweise kann eine Policy wie folgt angewendet werden:


      nomad sentinel apply -level=soft-mandatory compliance-policy policy.sentinel

      Praxisbeispiel: Einschränkung von Job-Executions

      Ein häufiges Szenario ist die Sicherstellung, dass nur bestimmte Job-Treiber genutzt werden dürfen, um Sicherheitsrisiken zu minimieren. Eine Sentinel-Policy könnte etwa vorschreiben, dass nur der „exec“-Treiber (dient der Orchestrierung von Executables) erlaubt ist und keine Jobs mit unerlaubten Treibern wie „docker“ oder „raw_exec“ gestartet werden können:


      main = rule { all_drivers_exec }
      
      all_drivers_exec = rule {
        all job.task_groups as tg {
          all tg.tasks as task {
            task.driver is "exec"
          }
        }
      }

       

      Terraform-Integration für Sentinel-Policies

      Zur Automatisierung der Policy-Verwaltung kann Terraform eingesetzt werden. Mit dem Resource-Typ nomad_sentinel_policy können Sentinel-Policies direkt in Infrastructure-as-Code-Prozesse integriert werden.

      resource "nomad_sentinel_policy" "enforce_exec_driver" {
        name  = "restrict-to-exec"
        policy = file("restrict-to-exec.sentinel")
        enforcement_level = "hard-mandatory"
      }

      Dadurch wird sichergestellt, dass die gewünschte Policy unternehmensweit konsistent angewendet wird.

       

      Gegenüberstellung von Nomad und Kubernetes

      Nomad überzeugt insbesondere durch seine Einfachheit, Flexibilität und Effizienz, während Kubernetes vor allem durch seine erweiterten Netzwerk-, Storage- und Monitoring-Funktionen punktet. Unternehmen sollten je nach Anwendungsfall abwägen, welche Lösung besser zu ihrer Infrastruktur und Use Cases passt. Während Kubernetes weithin als Standard für Container-Orchestrierung gilt, setzen immer mehr Unternehmen auf HashiCorp Nomad als schlankere Alternative, die weniger komplex ist und über eine breitere Unterstützung für unterschiedliche Workload-Typen verfügt.

      Features und Vorteile von Nomad

      Nomad bietet eine Reihe von Vorteilen, die es insbesondere für Unternehmen interessant machen, die eine einfache, flexible und ressourcenschonende Orchestrierungslösung suchen:

      • Einfachheit der Einrichtung: Nomad ist schneller und einfacher aufzusetzen als Kubernetes, da es nur ein einziges Binary für Clients und Server benötigt und eine geringere Komplexität in der Konfiguration aufweist.
      • Flexibilität bei Workloads: Während Kubernetes sich primär auf containerisierte Anwendungen konzentriert, kann Nomad, wie weiter oben im Text bereits beschrieben, auch nicht-containerisierte Workloads sowie Legacy-Systeme effizient verwalten.
      • Betriebliche Einfachheit: Nomads Architektur ist schlanker und erfordert weniger Verwaltungsaufwand. Teams können sich stärker auf die Anwendungsentwicklung konzentrieren, anstatt sich mit der Plattformverwaltung zu beschäftigen.
      • Geringere organisatorische Ressourcen: Aus dem vereinfachten Betrieb folgt nahezu zwangsläufig auch der Schluss, dass weniger personelle Ressourcen benötigt werden. Kubernetes ist eine Know-How- und personalhungrige Plattform, deren Aufbau und Einsatz sich in der Regel nur dann lohnt, wenn man es in entsprechend großem Umfang einsetzt. Viele Kunden benötigen zusätzliches Personal, nur um die Kubernetes-Cluster am Laufen zu halten und Incidents zu analysieren. Die organisatorischen Herausforderungen an ein Unternehmen sind bei Nomad viel geringer.
      • Geringer Ressourcenverbrauch: Nomad benötigt weniger Systemressourcen als Kubernetes, was es zu einer idealen Lösung für Edge-Computing, IoT-Umgebungen und ressourcenbeschränkte Systeme macht. Zusammen mit dem geringeren Personalbedarf sind damit auch die Infrastrukturkosten spürbar niedriger, mit entsprechendem Effekt auf die Gesamtkosten (TCO) und Rentabilität (ROI). 
      • Nahtlose Integration mit dem HashiCorp-Ökosystem: Durch die enge Verzahnung mit HashiCorp Consul für Service-Discovery und Vault für Secrets-Management können Unternehmen bestehende HashiCorp-Stacks optimal nutzen.
      • Multi-Region-Support von Haus aus: Nomad unterstützt Multi-Region- und Multi-Cloud-Deployments nativ, während Kubernetes hierfür zusätzliche komplexe Konfiguration und Management-Ebenen benötigt.

      Herausforderungen

      Trotz der vielen Vorteile gibt es auch Herausforderungen bei der Nutzung von Nomad, insbesondere im Vergleich zu Kubernetes:

      • Load Balancing: Kubernetes bringt von Haus aus ein integriertes Load Balancing mit kube-proxy und Ingress mit. Nomad hingegen benötigt externe Lösungen für diese Funktionalität. Eine beliebte Lösung ist hier Traefik, der sich direkt mit Nomad integrieren lässt. Und wer den Support aus einer Hand haben möchte, setzt auf HashiCorp Consul. Nomad 3 Node Cluster
      • Netzwerk- und Policy-Management: Kubernetes bietet leistungsstarke Netzwerkfunktionen wie Network Policies für Traffic Control. Nomad benötigt hier Integrationen mit HashiCorp Consul, Drittanbieter-Tools oder HashiCorps Sentinel, wobei Sentinel nur in der Enterprise-Version verfügbar ist.
      • Service Mesh-Unterstützung: Kubernetes lässt sich mit Service Meshes wie Istio oder Linkerd erweitern, während Nomad zwar mit Consul arbeitet, aber selbst nicht unmittelbar den vollen Funktionsumfang eines Kubernetes-basierten Service Meshes bietet.
      • Monitoring und Logging: Kubernetes bringt integrierte Lösungen für Monitoring und Logging mit. Nomad hingegen setzt primär auf externe Tools zur Überwachung und Protokollierung.
      • Konfigurationsansatz: Kubernetes nutzt ein deklaratives Konfigurationsmodell, das für größere Umgebungen einfacher zu verwalten ist. Nomad setzt hingegen auf einen prozeduralen Ansatz, der eine detailliertere Steuerung ermöglicht, aber bei zunehmender Komplexität herausfordernd werden kann.
      • Persistente Speicherlösungen: Kubernetes bietet eine breite Auswahl an Lösungen für persistente Speicherung, darunter lokale, Cloud- und Netzwerkspeicheroptionen. Nomads Speicherverwaltung ist hingegen begrenzter, es delegiert diesen Punkt an das Betriebssystem bzw. die jeweilige Containerplattform wie Docker, was in komplexeren und gemischten Umgebungen zu zusätzlichem Aufwand führen kann.

      Diese Gegenüberstellung zeigt, dass Nomad insbesondere durch seine Schlankheit, Einfachheit, Flexibilität und Effizienz überzeugt, während Kubernetes vor allem durch seine erweiterten und direkt integrierten Netzwerk-, Storage- und Monitoring-Funktionen punktet. 


      Praktische Vorteile für Entwicklungsteams

      Die Erfahrungen von Target und anderen Kunden HashiCorps zeigen, dass Nomad nicht nur die Infrastrukturverwaltung vereinfacht, sondern auch signifikante Vorteile für Entwicklungsteams bringt. Die folgenden Verbesserungen haben sich im täglichen Betrieb als besonders wertvoll erwiesen:

      1. Beschleunigte Entwicklungszyklen: Man kann mit Nomad neue Services deutlich schneller von der Proof-of-Concept-Phase (PoC) in die Produktion überführen. Die Möglichkeit, Workloads unkompliziert zu deployen und zu testen, führte zu einer drastischen Verkürzung der Time-to-Market für neue Features und Anwendungen.
      2. Vereinfachte Deployments: Durch den Einsatz von Nomad reduziert sich die übliche Zeit für Deployments von Stunden auf Minuten. Besonders in Zeiten hoher Last, wie vor der Black Friday-Saison im Einzelhandel, können Kunden dadurch Änderungen in Echtzeit ausrollen, ohne den laufenden Betrieb zu beeinträchtigen oder in Ressourcenengpässe zu laufen.
      3. Verbesserte Ressourcennutzung: Dank des effizienten Bin-Packing-Algorithmus von Nomad können Sie die Auslastung Ihrer Server optimieren, verschiedene Architekturen und Server-Shapes mischen, und die benötigte Hardware insgesamt signifikant reduzieren. Dies führt zu erheblichen, messbaren Einsparungen bei den Infrastrukturkosten.
      4. Flexible Workload-Unterstützung: Während Kubernetes primär für containerisierte Anwendungen optimiert ist, erlaubt Nomad die Orchestrierung von unterschiedlichsten Workload-Typen – von traditionellen Java-Anwendungen bis hin zu modernen Microservices. Target konnte somit eine einheitliche Plattform für alle Workloads schaffen, ohne auf zusätzliche Orchestrierungslösungen zurückgreifen zu müssen.
      5. Blue-Green Deployments: Um Ausfallzeiten bei Updates zu minimieren, nutzt Target Blue-Green-Deployments auf Datacenter-Ebene. Neue Versionen werden parallel zur bestehenden Version ausgerollt und erst nach erfolgreichen Tests produktiv geschaltet. Falls Probleme auftreten, kann das System sofort auf die vorherige Version zurückgesetzt werden.

      Diese Features und Verbesserungen zeigen, dass Nomad Enterprise eine leistungsfähige und zugleich unkomplizierte Lösung für Unternehmen ist, die eine moderne, hochverfügbare und kosteneffiziente Orchestrierungsplattform suchen.

      Integration mit dem HashiCorp-Stack

      Eine der Stärken von Nomad ist die nahtlose Integration mit anderen HashiCorp-Tools. Target und andere Kunden mit kritischen Infrastrukturen nutzen diese Synergien intensiv:

      • Consul für Service-Discovery und dynamische Konfiguration
      • Vault für Secrets Management und dynamische Credentials
      • Terraform für Infrastructure as Code und automatisierte Deployments

      Diese Integration ermöglicht eine vollständig automatisierte Pipeline, bei der Entwickler Änderungen über Git einreichen können, die dann automatisch durch CI/CD-Prozesse validiert und deployed werden.

      Beispiel: Automatisierte Deployment-Pipeline

      Entwickler arbeiten in einer Git-basierten Umgebung, in der alle Änderungen an Anwendungen und Infrastruktur-Code versioniert sind. Der typische Workflow sieht wie folgt aus:

      1. Code-Änderung & Commit: Ein Entwickler pusht eine neue Version einer Anwendung in ein Git-Repository. Dies kann eine einfache Aktualisierung einer Microservice-API oder eine Konfigurationsanpassung sein.
      2. Automatisierte CI/CD-Pipeline startet: Ein Build-System wie GitHub Actions oder Jenkins erkennt die Änderung und startet eine Pipeline, die verschiedene Schritte durchläuft:
        • Build & Test: Die Anwendung wird mit den neuesten Änderungen kompiliert und in einem Container-Image oder als Binary bereitgestellt.
        • Security-Scan & Secrets-Fetching: Vault wird verwendet, um dynamische Secrets bereitzustellen, sodass keine festen Credentials im Code oder in den Pipelines gespeichert werden müssen.
        • Validierung der Infrastruktur: Terraform wird ausgeführt, um sicherzustellen, dass alle benötigten Infrastrukturkomponenten korrekt provisioniert sind.
      3. Deployment mit Nomad:
        • Sobald der Build erfolgreich ist, wird ein neues Nomad Job-File generiert oder aktualisiert.
        • Das Nomad CLI oder eine Terraform-Nomad-Kombination wird verwendet, um den neuen Job zu registrieren und auszurollen.
        • Consul übernimmt automatisch die Service-Discovery, sodass neue Instanzen sofort von anderen Diensten erkannt werden.
      4. Blue-Green-Deployment & Traffic-Switching:
        • Durch den Einsatz von Nomad’s Rolling Deployment-Strategie startet die neue Version parallel zur bestehenden.
        • Wenn alle Health Checks erfolgreich sind, wird der Traffic mithilfe von Consul Load Balancing oder Traefik auf die neue Version umgeleitet.
        • Falls ein Problem erkannt wird, kann der Rollback automatisch erfolgen.
      5. Monitoring & Optimierung:
        • Prometheus oder andere Observability-Tools sammeln Metriken über das Deployment. Diese können von Nomad über die integrierte REST API ausgelesen werden.
        • Falls nötig, können Ressourcen dynamisch über Terraform und Nomads Auto-Scaling angepasst werden.

      Vorteile dieser Pipeline

      • Vollständige Automatisierung: Keine manuellen Deployments, was Fehlerquellen minimiert und den Prozess beschleunigt.
      • Hohe Sicherheit: Vault stellt sicher, dass Credentials niemals in der Codebasis oder in der CI/CD-Pipeline gespeichert werden.
      • Schnelle Rollbacks & geringes Risiko: Dank Blue-Green-Deployments und Consul-basierter Service-Discovery können fehlerhafte Versionen ohne Downtime zurückgesetzt werden.
      • Effiziente Ressourcennutzung: Terraform optimiert Infrastruktur-Provisionierung, und Nomad sorgt mit Bin Packing für eine optimale Auslastung der Server.

      Dieser Workflow ermöglicht es, innerhalb weniger Minuten neue Versionen auszurollen und ihre Infrastruktur dynamisch an sich ändernde Anforderungen anzupassen – ein entscheidender Vorteil insbesondere in hochdynamischen Umgebungen.

      Ausblick: Die Zukunft der Workload-Orchestrierung

      New Horizon 5Die Zukunft der IT-Infrastruktur wird zunehmend durch Edge-Computing, Multi-Cloud-Strategien und hybride Workloads geprägt sein. Hashicorps Roadmap für Nomad zeigt einige interessante Entwicklungsrichtungen:

      •  NVIDIA multi-instance GPU support, Golden Job-Versionierung, NUMA, Quotas für Devices (bereits eingeführt mit Nomad 1.9)
      •  Infrastructure Lifecycle Management (ILM) zur Vereinfachung des Infrastruktur-Managements Mit Terraform, Packer und Waypoint
      • Dynamische Node-Metadaten zur Steigerung der Flexibilität beim Management von Nomad-Umgebungen
      •  Identitäten von Workloads zur Verbesserung der Sicherheit durch Erweiterung des Identity Managements und Integration in Vault und Consul

      Nomad bietet eine leistungsfähige und dennoch pragmatische Lösung für moderne Workload-Orchestrierung. Unternehmen, die heute in effiziente, skalierbare Orchestrierungslösungen investieren, werden von reduzierten Betriebskosten, schnelleren Entwicklungszyklen und einer höheren Team-Produktivität profitieren.

      Kontaktieren Sie uns für weitere Informationen! Gerne analysieren wir Ihren exakten Anwendungs- und Bedarfsfall, erstellen einen Use Case und beraten Sie bei der Wahl der für Sie optimalen Plattform.