|
Heighlinerは、アプリケーションスタックをコードとして提供する最新の開発ツールです。低レベルの詳細情報を人間が読める構成ファイルにエンコードし、バージョン管理、再利用、共有が可能です。既存のスタックをインポートして、より高レベルのスタックを構築することも可能です。 Heighlinerは公式スタックを提供・保守しており、一般的なユースケースですぐに使えるエクスペリエンスを提供します。開発環境はワンクリックで起動でき、最先端のクラウドネイティブスタックを使用してアプリケーションを簡単かつ迅速に構築できます。 導入開発者の時間は非常に貴重です。開発者がソフトウェアそのものに全力を注ぐことができず、インフラツールの調整に時間を費やしてしまうと、最終的には開発者と企業の両方にとって莫大なリソースの無駄遣いになってしまいます。 本日、私たちはHeighlinerという開発ツールを開発しました。これは、アプリケーションスタック全体をコード化(Stack as Code)できるツールです。Heighlinerを通して、開発者の皆様に「クラウドネイティブ技術スタックをコードのように管理できます。より優れたユーザーエクスペリエンスをご提供します」と伝えたいと考えています。その理由は以下の通りです。
上記の対策を講じることで、開発者はクラウドネイティブ開発における様々なトレンドの恩恵を継続的に享受できます。これらのトレンドは、開発者にとって最も馴染みのある方法、つまりコードリポジトリの形で更新されるため、開発者はアプリケーションアーキテクチャ全体を継続的に進化させることができます。 建築Heighlinerを使用する前に、その全体的なアーキテクチャを理解する必要があります。Heighlinerは、大まかに言うと、以下のコンポーネントで構成されています。 コマンドラインHeighliner CLIコマンドラインツールは、Heighliner Stacksを使用するための最適なネイティブエクスペリエンスを提供し、Heighliner Stacksを使用したアプリケーション環境の設定プロセスをユーザーガイドとして提供します。また、スタックの検索とダウンロード、環境の管理、スタック入力に基づくユーザーインタラクションの提供にも使用できます。 Heighliner CLI を使用すると、IaC スタイルの GitOps ワークフローを実行することもできます。 スタックハブStackHubはHeighliner Stackを保存し、アプリケーションに最適なStackを見つけるための検索可能なインターフェースを提供します。StackHubはStackのダウンロードとインストール、そして検索に使用できます。StackHubの基盤には、オブジェクトストレージやOCI互換リポジトリ(Harborなど)といったストレージバックエンドが利用されていると考えられます。Heighlinerプラットフォームはデータを識別・インデックス化し、ユーザーに検索結果を提供します。 Heighliner はクラウドでホストされるデフォルトの StackHub を提供し、CLI/UI を使用するときに使用されるデフォルトのスタックを保存します。 サービス公式のHeighlinerサービスは、開発ワークフローの効率化を支援するために構築され、クライアント側では利用できない重要なサービスを提供しています。例えば、アプリケーションにサブドメインを割り当てる必要がある場合、HTTP APIまたはCUEライブラリを介してHeighlinerサービスを使用できます。 短剣Daggerは、インフラストラクチャツールとサービスのオーケストレーションに使用するポータブルなCI/CD開発キットです。Heighliner Stacksの実行エンジンです。HeighlinerはDaggerのアップストリームにいくつかのライブラリを提供するだけでなく、独自のCUEモジュールを追加してDaggerを拡張し、クラウドネイティブなツールとインフラストラクチャを構築しています。 KubernetesKubernetesは、コンテナ化されたアプリケーションを自動的にデプロイ、スケーリング、管理するために使用されるオープンソースのコンテナオーケストレーションエンジンです。Kubernetesは、サービスのデプロイと他のクラウドサービスとの統合のためのプラットフォーム基盤となるサービスデプロイのオーケストレーションに使用されます。 テラフォームTerraformは、クラウドおよびオンプレミスのリソースを定義できるInfrastructure as Codeツールです。私たちは、Terraformをインフラストラクチャリソースの設定と管理に使用しています。私たちのユースケースでは、TerraformはDaggerの1つ下のレイヤーにあります。Terraformがリソースを提供した後、DaggerはCUEモジュールを実行して、サービスのデプロイや構成の設定など、リソースとやり取りします。 インストールまず、Heighlinerコマンドラインツールをインストールする必要があります。私はMacシステムを使用しているので、brewコマンドを使ってワンクリックで直接インストールできます。 brew install h8r -dev / tap / highliner 他のシステムでは、次のコマンドを使用してインストールできます。 curl -L https://dl.h8r.io/hln/install.sh | sh あるいは、次の場所から公式リリースバイナリパッケージを直接ダウンロードしてインストールすることもできます: https://github.com/h8r-dev/heighliner/releases 次に、ローカルでアクセス可能なKubernetesクラスターが必要です。まだお持ちでない場合は、Kindを使ってローカルインストールすることをお勧めします。推奨されるDockerリソースは、4コアと8GBのメモリです。Kubernetesクラスターを作成するには、以下の設定ファイル(kind.yaml)を作成してください。 種類: クラスター 次に、次のコマンドを実行して、Kubernetes クラスターと Ingress コントローラーを作成します。 kind クラスターを作成-- image = kindest / node : v1 .23 .5 -- config = kind .yaml クラスターの準備ができたら、次のコマンドを実行して Heighliner の依存関係をインストールします。 hln 初期化 次に、repo、workflow、write:packages、delete:packages、admin:org、user、delete_repo の権限を持つ GitHub トークンを作成します。 作成したトークンを環境変数として設定します。 export GITHUB_TOKEN = <フレッシュトークン> 例次に、Gin + Vue アプリケーションを例にして、Heighliner の使用方法を説明します。 開始する前に、次の環境変数を設定することをお勧めします。 export NETWORK_TYPE = china_network # 意味は分かるでしょう `hln up gin-hello-world -s gin-vue -i` コマンドを使用して、Gin+Vue アプリケーションを作成できます。 アプリケーションのステータスを取得するには、コマンド `hln status gin-hello-world` を使用できます。 🎉 Heighliner アプリケーションgin - hello - worldが準備完了です。 アクセスURL : http://gin-hello-world.h8r.site 次に、ドメイン名を設定する必要があります。h8s.site を使用している場合は、この手順をスキップできます。カスタム名を使用する場合は、/etc/hosts に以下の設定を追加する必要があります。 127.0 .0 .1 gin - hello - world . < あなたのドメイン> 次に、gin-hello-world.h8r.site を通じて作成した Vue アプリケーションにアクセスできます。 GitHub には次のリポジトリがあります。 削除するには、次のコマンドを実行するだけです。 hln ダウンジン- こんにちは- 世界 さらに、Heighliner は、GitHub リポジトリ、Helm Charts、CI/CD パイプライン、ドメイン ルート、監視ログ ダッシュボード、アラート ルールの生成にも役立ちます。 |