イベント

GitHub Universe 2018セッション&展示会レポート、AirbnbやFacebookなどが登壇

 コード共有サイトの米GitHubは、年次イベント「GitHub Universe 2018」を10月16~17日に開催した。

 ブレークアウトセッション(個別セッション)でも、GitHubとの関連性はそれぞれながら、開発やDevOpsなどに関するさまざまなセッションが開かれた。ここでは、筆者が参加したセッションからいくつか紹介する。

 また、当日の展示会場の様子もお届けしよう。

Airbnbのマイクロサービス化への道

 AirbnbのJens Vanderhaeghe氏(Deploy Infra team)は、「From Monorail to Monorepo: Airbnb's journey into microservices」と題し、同社のアプリケーションインフラとアプリケーションのデプロイ、現在進行中のマイクロサービス化について語った。

 Airbnbは最初Ruby on Railsで作られ、その巨大に成長したプラットフォームは「Monorail」と呼ばれているという。Monorailでは社内でプルリクエストを受けてから本番環境にデプロイされるまで、長い工程を通る。

 Deploy Infra teamではそのデプロイ状況を可視化するなど「民主的なデプロイ(democratic deploys)」に取り組んできたが、サービスとコードベースの急速な成長にともない、自動化とマイクロサービス化を進めているという。

 このマイクロサービス群のコードは、フロントエンド(クライアント側およびサーバー側)は「Hyperloop」、Javaベースのバックエンドは「Treehouse」というモノリポ(monorepo、単一のgitリポジトリ)に収められている。

 そのほか、自動化やマイクロサービス化のためのツール整備も進めており、KubernetesやGitHub Enterpriseも活用していると語られた。

AirbnbのJens Vanderhaeghe氏
Monorailをデプロイする様子
フロントエンドのモノリポ「Hyperloop」
バックエンドのモノリポ「Treehouse」

MicrosoftとGitHubがVisual Studio Codeの拡張機能を開発

 GitHubのSarah Guthals氏とMicrosoftのRachel Macfarlane氏は、「Cross-company collaboration: extending GitHub to a new IDE」と題し、ソースコード用エディタ「Visual Studio Code」のGitHub用拡張機能と、それを共同開発した経緯について語った。なおMicrosoftによるGitHub買収について、2人は「それとは関係ない」と言って笑った。

 この拡張機能「GitHub Pull Requests」のデモから説明が始まった。GitHub Pull RequestsはVisual Studio Marketplaceから入手できる。これを入れると、Visual Studio Codeにプルリクエストのペインが現れ、最近のプルリストなど種類ごとにリスト表示される。そこから変更前後のソースコードを並べて表示したり、そこからコメントやレビューをしたりすることが可能だ。

 Visual Studio Code自身も最初の正式版からGitHubで公開され、プルリクエストなども受け付けている。そうした背景と、Visual Studio Codeがオープンソース開発者に広く使われていることから、両社によるコラボレートを決めたという。

 GitHub Pull Requestsを効果的に実装するために、例えば「Reviewed by me」の一覧を取得するAPIをGitHubに追加するようなことも行われた。

 今後としては、「今回の基調講演で発表されたSuggested Changes(変更の提案)などにも対応したい」という。

GitHubのSarah Guthals氏(左)とMicrosoftのRachel Macfarlane氏(右)
Visual Studio Codeで拡張機能「GitHub Pull Requests」を使う

Facebookの実サービスで機械学習モデルをいかに使うか

 FacebookのYangqing Jia氏は、「Building an agile AI research-to-production experience」と題し、同社のプロダクション環境(実サービス)で機械学習のモデルを利用する方法について語った。

 Facebookでは、機械翻訳をはじめ、さまざまなサービスでさまざまな機械学習アルゴリズムを採用している。2018年初頭においては、リサーチにおいて機械学習ライブラリ「PyTorch」で機械学習を実行し、結果をONNX形式のモデルデータにして、そのモデルをプロタクション環境において機械学習ライブラリ「Caffe2」で利用していたという。

 これを現在では、PyTorchに一本化したとJia氏は説明した。そして、PyTorchのEager ModeとScript Modeの比較や、PyTorch JIT、Tesla V100をNVLinkで結んだNVIDIAのDGX-1サーバーでの実行速度などを説明。さらに、GitHub上でわかるPyTorch関連ソフトのエコシステムも紹介した。

FacebookのYangqing Jia氏
Facebookのサービスで使われる各種機械学習アルゴリズム
2018年初頭には、PyTorchで学習したモデルをCaffe2で利用していた。現在はPyTorchに一本化
PyTorchのEager ModeとScript Mode

学園祭のような楽しい感じの展示ブース

 会場には展示などのスペースも設けられ、各社のブースが並んだ。いずれも単にサービスや製品を紹介するだけでなく、ゲームやプレゼントなどの出し物が用意され、学園祭のような楽しい感じを演出していた。

 その中で、日本から1社、siderが出展していた。siderはコードレビュー自動化サービスで、プログラミング言語ごとに静的解析ツールをそろえ、SaaSとして使えるマネージドサービスとして提供している。

日本から出展した、コードレビュー自動化サービスのsiderのブース。おもちゃが並んでいた
siderやNetlifyなどが並んだ区画
GitHubグッズを売るGitHub Shop。Tシャツのほか、Octocatのモナの白いフィギュアを買って自分で色を塗れるコーナーも
パーツを組み合わせてOctocatをドレスアップする「Octocat Generator」
CircleCIのブース
Travis CIのブース
Gitcoinのブース。GitHub上のオープンソースプロジェクトでコントリビューターにブロックチェーンを使って賞金を払うためのプラットフォーム
プロジェクトのカンバン管理サービスWaffle.ioのブース。名前のとおりワッフルを配っていた
Microsoft AzureとIBMのブースが並んでいた