イベント
GitHub Universe 2018セッション&展示会レポート、AirbnbやFacebookなどが登壇
2018年10月24日 06:00
コード共有サイトの米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も活用していると語られた。
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(変更の提案)などにも対応したい」という。
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関連ソフトのエコシステムも紹介した。