HashiCorpは、コンテナ化および非コンテナ化アプリケーションのデプロイと管理を行うオーケストレーションフレームワークNomadのバージョン1.0 Betaを発表した。
Nomadが公開されたのは2015年だ。前回リリースの0.9では、スケジューリング機能の強化とプラグインアーキテクチャに重点が置かれていた。1.0リリースのおもな機能としては、HashiCorp Configuration Language (HCL) v 2のサポート、Dynamic Application Sizing、OSSバージョンでのネームスペースのサポートなどがある。
Nomadは、さまざまな種類のジョブのために、さまざまなタイプのスケジューラをサポートしている。中でも"特に、クラスタスケジューラに重点を置いている"、とHashiCorpの創業者でCTOのMitchell Hashimoto氏は言う。管理や使用がKubernetesほど複雑ではないというユーザの声があるのは、おそらくこれが理由だろう。オンプレミスKubernetesと比較して、これを事実だと認める企業組織もある。さらにNomadは、Kubernetesとは違い、非コンテナアプリケーションのワークロードもサポートしている。一方でKubernetesには、Nomadよりも大規模なツールのエコシステムがある。NomadはCloudflareやAutodesk、N26、Bowery、Robloxなど多くの企業で、ワークロードのスケジューリングに使用されている。
バージョン1.0のDynamic Application Sizing — エンタープライズNomadの機能 — は、リソース(CPU/RAM)使用量を軽減するために、アプリケーションのリソース要件に関する推奨事項を提供する。そのコンフィギュレーションは、Nomadの自動スケールコンフィギュレーションの一部である。クラスタのオートスケーリングは、Nomadに最近導入された機能のひとつだ。アプリケーションのサイズ変更ポリシではさまざまなストラテジを使ったチューニングが可能で、履歴データ分析に基づいてアプリケーションリソースの"サイズ適正化"を行う。
今回のバージョンには、Terraformなど他のHashiCorpプロダクトで使用されているコンフィギュレーション言語である、HCL2のサポートも含まれている。また、UIでは"トポロジビュー"をサポートし、データセンタやノードのリソース容量や、アプリケーションがそれらに分散する様子を確認できる。さらにネームスペース — マルチテナントを可能にする機能で、これまではエンタープライズバージョンのNomadでのみ使用可能だった — がオープンソースバージョンにも含まれるようになった。
NomadはConsulやVaultといった、HashiCorpの他のプロダクトとの統合性に優れている。Consulをクラスタリングやサービスディスカバリの目的で使用することは可能だが、これらの分散機能で他のHashiCorpツールがサポートされているかどうかは不明である。
1.0 Betaリリースの他の機能としては、コントロールプレーンのイベントをひとつの場所でさまざまなレベルから見ることのできるイベントストリーム、Container Networking Interface(CNI)の改善、Consulネームスペースのサポートなどがある。
Nomadはオープンソースで、ソースコードはGitHubから入手が可能だ。マネージドNomadサービスが、HashiCorpのCloud Platformサービスとして提供されている。