Civo Navigate North America 2024、インフラストラクチャーフロムコードのWingのセッションを紹介

2024年4月24日(水)
松下 康之 - Yasuyuki Matsushita
IaCならぬIfC(インフラストラクチャーフロムコード)を実践するWingの解説セッションを紹介する。

クラウドネイティブなソリューションを提供するCivoが開催したCivo Navigate North America 2024から、インフラストラクチャーを手続き的に記述できるクラウドネイティブなプログラミング言語、Wingのセッションを紹介する。セッションを行ったのはWingの開発元であるWing Cloudのデベロッパー、Chris Rybicki氏だ。

プレゼンテーションを行うRybicki氏

プレゼンテーションを行うRybicki氏

タイトルは「One (Open Source)Language to Rule Them All!」、意味的には「インフラもアプリケーションも同時に制御できるオープンソースのプログラミング言語」の紹介と言ったところだろう。Rybicki氏のセッションは半分がプレゼンテーション、後半はVisual Studio Codeを使ってWingのコードを書きながら、インフラストラクチャーをコードで書くこと、それがシミュレーターの中で即座に実行され生成したオブジェクトや関数などが可視化されることなどを説明した。

コードの変更が即座に反映されることを説明

コードの変更が即座に反映されることを説明

この場合、コードが表現している対象にAWSのS3バケットのようなインフラストラクチャー側の対象物が含まれる点が、Wingが他のプログラミング言語と異なっている最大のポイントだろう。

マンガを使ってコンパイルに時間がかかることをジョークに

マンガを使ってコンパイルに時間がかかることをジョークに

このスライドではプログラマーがコンパイルに時間がかかることをジョークにしているが、Wingはコードの記述に従って即座にシミュレーターによって実行されるため、このような状況は起こらないと説明した。

GUIやコードによるインフラストラクチャー構築を新生代やカンブリア紀などに例えて説明

GUIやコードによるインフラストラクチャー構築を新生代やカンブリア紀などに例えて説明

ここではGUIによる運用をClickOpsと命名して古代の年代である新生代に例え、Infrastructure as Code(IaC)についてはカンブリア紀と同じくらいに古いモノとして解説している。ここではインフラストラクチャーの運用について、GUIやYAMLによる定義だけでは真のインフラストラクチャーのコード化は無理だということを伝えたかったと思われる。

IaCはカンブリア紀のように古い?

IaCはカンブリア紀のように古い?

またWing Cloudの創業者であるElad Ben-Israel氏が、元AWSでCloud Development Kit(CDK)を開発していたプリンシパルエンジニアだったことを意識してか、CDKのコマンドプロンプトを例にしてセキュリティの設定変更についてもエンジニアにとっては理解しづらいものであると説明した。

CDKのプロンプトを例にインフラストラクチャーの設定が理解しづらいことを説明

CDKのプロンプトを例にインフラストラクチャーの設定が理解しづらいことを説明

そして次のスライドではGregor Hohpe氏というAWSのシニアプリンシパルエバンジェリストのブログの記事を引用して解説している。これはこれまでのアプリケーションが大きな塊として表現されていた時代から、クラウド、そしてサーバーレスのように即座に起動され実行が終了すればメモリー空間からいなくなるようなアプリケーションはプロセスやデータの流れを記述する線のようなものであることを説明。この記事の中で最新の考え方ではInfrastructure as Code(IaC)ではなく、Infrastructure from Code(IfC)、つまりコードからインフラストラクチャーが実装されるべきだという考えが表明されている。そしてその代表的な言語としてWingとDarklangが挙げられている。

Gregor Hohpe氏のブログから「インフラストラクチャーフロムコード」を解説

Gregor Hohpe氏のブログから「インフラストラクチャーフロムコード」を解説

●参考:IxC: Infrastructure as Code, from Code, with Code

スライドに引用されているのは上記の記事だが、IfCそのものについては以下の記事が参考になるだろう。ここでHohpe氏がIfCとして引用しているのは、Node.jsのアプリケーションコードをAWSに即座に実装できるサービスのAmptだ。Amptもインフラストラクチャーの実装をコードから行うという部分ではWingやDarklangと共通しているということだろう。

●参考:Application Architecture as Code

Amptについては以下を参照されたい。

●参考:Ampt: From code to fully-managed AWS workloads in seconds

そしてRybicki氏がクラウドネイティブなアプリケーションの例として次のスライドで解説したのは、デベロッパーが書くアプリケーション以外にAPI GatewayやS3バケット、Kubernetesなど多くのインフラストラクチャー側のパーツが必要になるということの再確認と言える。

アプリケーション以外に多くのインフラ側のパーツが必要

アプリケーション以外に多くのインフラ側のパーツが必要

そしてWingはそのアプリケーションとインフラストラクチャーを同時に記述できるプログラミング言語であると解説した。

アプリケーションとインフラを同時に記述できるWing

アプリケーションとインフラを同時に記述できるWing

ここからはVisual Studio Codeを使って具体的にコードを書きながらその特徴を解説するというフェーズに移行したが、現役のデベロッパーらしく口頭の説明よりもキーボードを叩く方が速く、実際の画面の変遷に説明が追いついていないという状態だった。このセッションを聴いていた参加者も十分に理解できていたかどうかという判断は難しいところだろう。

Visual Studio Codeを使ってデモを実施

Visual Studio Codeを使ってデモを実施

実際に会場後方から撮影したセッションの写真では20名程度という参加者だが、熱心に聞き入っていたのは前方に座っていた10名程度ではないだろうか。

会場のようすはこんな感じ。高速なデモに理解が追いつかない人多数

会場のようすはこんな感じ。高速なデモに理解が追いつかない人多数

セッション後にRybicki氏と立ち話をした際に2023年にWingの記事を書いたことを伝えると「その記事のことは知っている。でもどうやってWingのことを知ったの? どうやって見つけたの?」とこちらが質問を受けるはめになった。

セッション後のRybicki氏。会場ではWingのステッカーを配布していた

セッション後のRybicki氏。会場ではWingのステッカーを配布していた

今回の参加者がDevOpsやIaCに詳しい運用サイドのエンジニアであれば、YAMLではなくアプリケーションのコードからインフラストラクチャーを実装できるというのは目新しい内容だったであろうが、残念なことに参加者が少なく主催者であるCivoにもその革新性が届いたかどうかも怪しい状況だったと言える。やはりKubeConのようなオペレーターもデベロッパーも集う、より注目されるイベントで露出する必要があることを感じたセッションとなった。

ちなみに2024年2月に公開されたデモの動画ではPlaygroundというシミュレーターの解説が行われている。コードから即座に実装され、それをAWS、GCP、Azureにそれぞれ展開できるという部分を理解するだけでもインパクトがある動画だ。

●参考:Wing Playground: Simplifying Cloud Development

またWingの解説記事については以下を参照して欲しい。

●参考:インフラとアプリを同時にコーディングできる新言語、Winglangを紹介

Rybicki氏が配布していた説明不足気味のWingのステッカー。せめてURLを入れてほしかった

Rybicki氏が配布していた説明不足気味のWingのステッカー。せめてURLを入れてほしかった

著者
松下 康之 - Yasuyuki Matsushita
フリーランスライター&マーケティングスペシャリスト。DEC、マイクロソフト、アドビ、レノボなどでのマーケティング、ビジネス誌の編集委員などを経てICT関連のトピックを追うライターに。オープンソースとセキュリティが最近の興味の中心。

連載バックナンバー

開発ツールイベント
第4回

Civo Navigate North America 2024、元Dockerで現DaggerのCEO、Solomon Hykesのインタビューを紹介

2024/5/10
Civo NavigateNorth America 2024から、Solomon Hykes氏、Michael Yuan氏、William Morgan氏らのインタビューを紹介する。
システム開発イベント
第3回

Civo Navigate North Amecira 2024、データセンターの廃熱を使う分散HPCのDeep Greenを紹介

2024/5/2
データセンターの廃熱を使って温水プールのコストを削減したDeep Greenを紹介する。
開発言語イベント
第2回

Civo Navigate North America 2024、インフラストラクチャーフロムコードのWingのセッションを紹介

2024/4/24
IaCならぬIfC(インフラストラクチャーフロムコード)を実践するWingの解説セッションを紹介する。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています