HashiCorpはWaypointを発表した。これは、Kubernetes, AWS ECS、Nomad、Google Cloud Run、Docker、Buildpacks、Azure Container Instancesなどのさまざまなプラットフォーム間で一貫したビルドとデプロイのワークフローを提供することを目的としたオープンソースプロジェクトである。.
Waypointが表明した目的は、開発者が同じコマンドを使用して異なるクラウドプラットフォームにデプロイできるようにするツールセットになることである。発表の投稿によると、Waypointは2つの主要な課題を解決したいと考えている。1つは、利用可能なさまざまなオプションから生じるデプロイの複雑さである。オプションとはつまり、「コンテナ、スケジューラ、YAMLファイル、サーバーレス」である。もう一つは、およびアプリがデプロイされているターゲットに応じたさまざまなツールによるものである。具体的には「Kubernetes向けのDockerとkubectl、VM向けのHashiCorp PackerとTerraform、各サーバーレスプラットフォームに対するカスタムCLI」である。
Waypointはプラットフォーム上で抽象化を提供することを目的としているが、ユーザがベースのプラットフォームを理解していることを期待している。「Terraformを使用するには、AWSなどをよく知っている必要があります」とHashiCorpの創設者兼CTOであるMitchell Hashimoto氏は述べている。AWSはここでのほんの一例である。これは、Waypointの長期的な目標が何であるかという問題を提起している。ロードマップには、さまざまな側面を網羅する目標が含まれている。そして、Terraformと統合する計画のようなものがある。Hashimoto氏は、ロードマップの実際のタイムラインは「コミュニティからのフィードバックの量によって異なります。機能Aを計画しているのに、突然多くの人が機能Bを必要とする場合は、タイムラインの優先順位を変更して、タイムラインを変更します」と述べている。
HashiCorpには、Ottoというアプリケーション配信ツールがあった。その後放棄された。Hashimoto氏は、OttoとWaypointの違いの1つは、「Waypointはインフラストラクチャを所有/管理していないため、Ottoはインフラストラクチャを管理しようとしていました。Waypointでは、これを自分で持参する必要があります」と述べている。また、Waypointはツールをプラグイン可能であるが、Ottoは主にHashiCorp独自のツールに重点を置いていた。
Waypointは、HashiCorp構成言語(HCL)を使用してアプリ構成を宣言する。HCLは、Terraformなどの他のHashiCorpツールでも使用される。Waypointのアプリケーションのライフサイクルステージは、ビルド、デプロイ、リリースである。最後のステージでは、「以前にステージング環境へのデプロイをアクティブ化し、一般的なトラフィックに公開します」。TLS証明書を使用してURLを公開するためのサポートが組み込まれている。これはHashiCorpが提供するサービスで実行される。このサービスは、開発向けのみを想定しており、オフにすることもできるが、セルフホストすることもできる。基本コマンド「waypoint up」で3つのステージすべてが実行されるが、個別に実行することもできる。ログの表示とリモートコマンドの実行は可能であるが、これらは開発者のデバッグを目的としており、ログアグリゲーターなどの本格的なツールに代わるものではない。
Waypointには、外部ツールと通信するためのプラグインアーキテクチャがある。現在のプラグインリストには、いくつかのクラウドプロバイダーとvanilla Kubernetesが含まれている。また、既存のCI/CDシステムと統合することもできる。これは非開発環境にデプロイするときに使用できる。デプロイするバージョンを選択し、ビルドアーティファクトをステージングから本番環境にプロモートすることはまだ利用できませんが、ロードマップの一部である。
WaypointのソースコードはGitHubで入手できる。
コミュニティコメント