技術ブログ株式会社エーピーコミュニケーションズの技術ブログです。エーピーコミュニケーションズの技術ブログです。>はじめにこんにちは、ACS事業部の吉川です。2022の12日目が空いていたので書きました。qiita.com先日、以下のアップデートが発表されたのをご存知でしょうか。最近社内でもWebAssemblyが話題に挙がることが多いので、これを機に入門してみることにします。Interface)というインターフェースが整備されておりOS上でもWASMが動くようになっているそうです。この仕組みを使ってAKS上でサーバーサイドのアプリケーションとして稼働させるわけですね。Shimsを利用するように変更したようです。learn.microsoft.com昨年の10月に発表された機能ですが、実行環境がガラッと変更になるなどまだまだ安定してなさそうです。この記事は2022年12月21日時点の状態で確認していますが、今後同じ手順では動かない可能性もあるのでご注意ください。SpiderLightningのどちらかのフレームワークを使って作成する必要があります。利用したアプリケーションを例として説明します。Azure上の環境作成チュートリアルとしてAzure上に環境を作成していきます。$AKS_NAME作成したAKSクラスターにWASM用のノードプールを追加します。WasmWasiWASMアプリケーションの作成AKS上で動かすWASMアプリケーションを準備していきます。Spinをインストールします。インストールスクリプトが公開されているのでそれを利用します。/usr/local/bin/spinSpinではアプリケーション作成のためのテンプレートが準備されています。これを利用しましょう。https://github.com/fermyon/spinSpinはイベントドリブンなアプリケーションを作るためのフレームワークです。プログラム言語はRustとGo、イベントトリガーとしてHTTPとRedisに対応しています。今回はGo言語/HTTPトリガーのテンプレートを使用します。hello-worldGoのビルド環境を準備してテンプレートをそのままビルドしてみます。main.goビルドが完了したら以下のコマンドで起動してみましょう。up3000番ポートでListenする形で起動します。いうレスポンスが返ってきます。intactOCIイメージの作成AKS上で起動するためには、WASMをイメージ化する必要があります。.通常のDockerはWASMイメージのビルドには対応していません。いうツールを使用してビルドしました。${ACR_NAME}.azurecr.io/spin-hello-world:0.0.1ビルドしたイメージはwasmファイルとspinの設定を記したtomlファイルしか含んでいないため、わずか100KBちょっとでとっても軽量です。sha256:...AKS上でWASMを起動するビルドしたイメージをAKS上で起動してみましょう。いうCRDの定義が必要です。Spinの場合マニフェストは以下のようになります。runtimeclass.yamlDeployment/Serviceのマニフェストは以下のとおりです。ShimsのSpin部分のソースを見ると80番ポート決め打ちでListenするようです。spin-hello-world.yamlWASM用ノードの上でPodが起動します。2m28sリクエストを投げると、ビルドしたWASMからレスポンスが返ってくることが確認できます。Fermyon!おわりにAKS上でWASMのサンプルアプリケーションを起動させてみました。開発環境のエコシステムを考えると業務アプリケーションがすぐすぐWASMに変わることはないと思いますが、サイドカーのような形でAKS上で従来のコンテナとWASMを一緒に動かすという未来は近いかもしれませんね。私達ACS事業部はAzure・AKSを活用した内製化のご支援をしております。ご相談等ありましたらぜひご連絡ください。www.ap-com.co.jpまた、一緒に働いていただける仲間も募集中です!切磋琢磨しながらスキルを向上できる、エンジニアには良い環境だと思います。ご興味を持っていただけたら嬉しく思います。俊甫AKS/ACAをメインにインフラ系のご支援を担当しています。Engineeringの導入支援、データ&AI基盤に関連するサービスを提供しています。わたしたちは「エンジニアとお客様を笑顔にする」というVisionを掲げ、インフラエンジニアの未来を創るNeoSIerとして工夫と挑戦を行い続けます。Azure【デプロイ編】Prometheus+Thanos+Grafanaでクラウドネイティブな監視を。読者になるこのブログについて引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。