• 会員限定
  • 2019/06/12 掲載

なぜエッジ環境でWebAssembly? 来日したFastly CTOに直撃

  • icon-mail
  • icon-print
  • icon-hatena
  • icon-line
  • icon-close-snsbtns
会員になると、いいね!でマイページに保存できます。
CDNプロバイダとして知られるFastlyは4月1日、WebAssemblyのコンパイラとランタイムで構成される「Lucet」をオープンソースで公開。同社のエッジコンピューティング環境として開発を進めていることを明らかにしました。

新野淳一(本記事は「Publickey」より転載)

新野淳一(本記事は「Publickey」より転載)

ITジャーナリスト/Publickeyブロガー。大学でUNIXを学び、株式会社アスキーに入社。データベースのテクニカルサポート、月刊アスキーNT編集部 副編集長などを経て1998年退社、フリーランスライターに。2000年、株式会社アットマーク・アイティ設立に参画、オンラインメディア部門の役員として2007年にIPOを実現、2008年に退社。再びフリーランスとして独立し、2009年にブログメディアPublickeyを開始。現在に至る。

 WebAssemblyは、Webブラウザ上でネイティブコードに近い実行速度で高速に実行できるバイナリフォーマットです。

 FastlyはこれをCDNのエッジにあるサーバ上で動作するように移植し、しかも50マイクロ秒(1マイクロ秒は100万分の1秒)以下でWebAssemblyモジュールが起動しメモリオーバーヘッドもわずか数キロバイトという非常に高速で軽量な実行環境とすることで、いわゆるパブリッククラウドのような大規模なコンピューティングリソースを持たないエッジ環境でも大規模に展開できるものとしています。

 なぜ同社はWebAssemblyをエッジコンピューティング環境として選択し、開発を進めているのでしょうか。来日した同社CTOでLucetの開発を担当しているTyler McMullen氏にインタビューを行いました。


特定の言語用プラットフォームにしたくなかったからWebAssemblyを選択

──Lucetとはどういうものなのか、あらためて説明していただけますか?

McMullen氏:Lucetとは、WebAssemblyの事前コンパイラと、それに関連するツール群です。

 Lucetという名前は、バイキングがロープや組ひもなどを作るために使った道具から由来しています。つまりコードを組み合わせて面白いものを作り出すようなもの、ということですね。

 Lucetは非常に大規模な並列性と短い時間で終了するワークロードに特化しています。そのため50マイクロ秒以下で起動し、数千から数万以上同時に実行されることが想定されています。

──Fastlyのエッジコンピューティング環境として、なぜWebAssemblyを選択したのでしょうか?

McMullen氏:プラットフォームを特定の言語のために構築する、ということをしたくなかったためです。よりジェネリックなプラットフォームとしてはJavaVMもありましたが、WebAssemblyのほうがよりジェネリックです。というのも、近い将来にはおそらくさらに多くの低レベルな型付け言語がWebAssemblyへコンパイルできるようになると思われるからです。

 ただ、ガベージコレクション性能や高級言語を実装するのに必要な参照型など、現時点ではWebAssemblyに欠けているものもあります。しかし将来性という点で、業界はこの方向に進んでいると考えています。

 私たちは数年前からこのプロジェクトに取り組んできていて、WebAssemblyのコンパイラや中間表現を用いたうえで、ほとんどオーバーヘッドのない(仮想マシンのような)分離技術を構築することができました。

【次ページ】 実はGoogleの「Native Client」を検討していたが……
関連タグ タグをフォローすると最新情報が表示されます
あなたの投稿

    PR

    PR

    PR

処理に失敗しました

人気のタグ

投稿したコメントを
削除しますか?

あなたの投稿コメント編集

機能制限のお知らせ

現在、コメントの違反報告があったため一部機能が利用できなくなっています。

そのため、この機能はご利用いただけません。
詳しくはこちらにお問い合わせください。

通報

このコメントについて、
問題の詳細をお知らせください。

ビジネス+ITルール違反についてはこちらをご覧ください。

通報

報告が完了しました

コメントを投稿することにより自身の基本情報
本メディアサイトに公開されます

必要な会員情報が不足しています。

必要な会員情報をすべてご登録いただくまでは、以下のサービスがご利用いただけません。

  • 記事閲覧数の制限なし

  • [お気に入り]ボタンでの記事取り置き

  • タグフォロー

  • おすすめコンテンツの表示

詳細情報を入力して
会員限定機能を使いこなしましょう!

詳細はこちら 詳細情報の入力へ進む
報告が完了しました

」さんのブロックを解除しますか?

ブロックを解除するとお互いにフォローすることができるようになります。

ブロック

さんはあなたをフォローしたりあなたのコメントにいいねできなくなります。また、さんからの通知は表示されなくなります。

さんをブロックしますか?

ブロック

ブロックが完了しました

ブロック解除

ブロック解除が完了しました

機能制限のお知らせ

現在、コメントの違反報告があったため一部機能が利用できなくなっています。

そのため、この機能はご利用いただけません。
詳しくはこちらにお問い合わせください。

ユーザーをフォローすることにより自身の基本情報
お相手に公開されます