Civo Navigate North America 2024、インフラストラクチャーフロムコードのWingのセッションを紹介
クラウドネイティブなソリューションを提供するCivoが開催したCivo Navigate North America 2024から、インフラストラクチャーを手続き的に記述できるクラウドネイティブなプログラミング言語、Wingのセッションを紹介する。セッションを行ったのはWingの開発元であるWing Cloudのデベロッパー、Chris Rybicki氏だ。
タイトルは「One (Open Source)Language to Rule Them All!」、意味的には「インフラもアプリケーションも同時に制御できるオープンソースのプログラミング言語」の紹介と言ったところだろう。Rybicki氏のセッションは半分がプレゼンテーション、後半はVisual Studio Codeを使ってWingのコードを書きながら、インフラストラクチャーをコードで書くこと、それがシミュレーターの中で即座に実行され生成したオブジェクトや関数などが可視化されることなどを説明した。
この場合、コードが表現している対象にAWSのS3バケットのようなインフラストラクチャー側の対象物が含まれる点が、Wingが他のプログラミング言語と異なっている最大のポイントだろう。
このスライドではプログラマーがコンパイルに時間がかかることをジョークにしているが、Wingはコードの記述に従って即座にシミュレーターによって実行されるため、このような状況は起こらないと説明した。
ここではGUIによる運用をClickOpsと命名して古代の年代である新生代に例え、Infrastructure as Code(IaC)についてはカンブリア紀と同じくらいに古いモノとして解説している。ここではインフラストラクチャーの運用について、GUIやYAMLによる定義だけでは真のインフラストラクチャーのコード化は無理だということを伝えたかったと思われる。
またWing Cloudの創業者であるElad Ben-Israel氏が、元AWSでCloud Development Kit(CDK)を開発していたプリンシパルエンジニアだったことを意識してか、CDKのコマンドプロンプトを例にしてセキュリティの設定変更についてもエンジニアにとっては理解しづらいものであると説明した。
そして次のスライドではGregor Hohpe氏というAWSのシニアプリンシパルエバンジェリストのブログの記事を引用して解説している。これはこれまでのアプリケーションが大きな塊として表現されていた時代から、クラウド、そしてサーバーレスのように即座に起動され実行が終了すればメモリー空間からいなくなるようなアプリケーションはプロセスやデータの流れを記述する線のようなものであることを説明。この記事の中で最新の考え方ではInfrastructure as Code(IaC)ではなく、Infrastructure from Code(IfC)、つまりコードからインフラストラクチャーが実装されるべきだという考えが表明されている。そしてその代表的な言語としてWingとDarklangが挙げられている。
●参考: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はそのアプリケーションとインフラストラクチャーを同時に記述できるプログラミング言語であると解説した。
ここからはVisual Studio Codeを使って具体的にコードを書きながらその特徴を解説するというフェーズに移行したが、現役のデベロッパーらしく口頭の説明よりもキーボードを叩く方が速く、実際の画面の変遷に説明が追いついていないという状態だった。このセッションを聴いていた参加者も十分に理解できていたかどうかという判断は難しいところだろう。
実際に会場後方から撮影したセッションの写真では20名程度という参加者だが、熱心に聞き入っていたのは前方に座っていた10名程度ではないだろうか。
セッション後にRybicki氏と立ち話をした際に2023年にWingの記事を書いたことを伝えると「その記事のことは知っている。でもどうやってWingのことを知ったの? どうやって見つけたの?」とこちらが質問を受けるはめになった。
今回の参加者がDevOpsやIaCに詳しい運用サイドのエンジニアであれば、YAMLではなくアプリケーションのコードからインフラストラクチャーを実装できるというのは目新しい内容だったであろうが、残念なことに参加者が少なく主催者であるCivoにもその革新性が届いたかどうかも怪しい状況だったと言える。やはりKubeConのようなオペレーターもデベロッパーも集う、より注目されるイベントで露出する必要があることを感じたセッションとなった。
ちなみに2024年2月に公開されたデモの動画ではPlaygroundというシミュレーターの解説が行われている。コードから即座に実装され、それをAWS、GCP、Azureにそれぞれ展開できるという部分を理解するだけでもインパクトがある動画だ。
●参考:Wing Playground: Simplifying Cloud Development
またWingの解説記事については以下を参照して欲しい。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- Civo Navigate North America 2024、元Dockerで現DaggerのCEO、Solomon Hykesのインタビューを紹介
- インフラとアプリを同時にコーディングできる新言語、Winglangを紹介
- CNDT2021、NTTComのアーキテクトがDevOpsに繋がるフィードバックループを解説
- CI/CD Conference 2023から、アルファドライブ/ニューズピックスのSREがAWS CDKを活用したCI/CD改善を解説
- CNDO 2021、Open Policy Agentを使ったポリシーアズコードの紹介
- CNSC 2022からTerraformによるクレデンシャル管理の現実的な解の解説
- Civo Navigate North America 2024を紹介。低価格でベンダーロックインしないクラウドベンダーのCivoとは?
- Infrastructure-as-Codeアプローチと「Pulumi」の概要
- マルチクラウドを制御するユニバーサルなコントロールプレーンCrossplane
- CNDT 2022、DMMのアーキテクトが解説するSREと開発の責任境界とリソース管理の実際