GitHubにとってAPIとは? GraphQLが提供する価値とは?

GitHub Universe 2017で発表されたGraphQL APIについて、Director of Ecosystem Engineeringに話を訊いてみた。

松下 康之 - Yasuyuki Matsushita

2017年11月9日 6:00

ソースコードリポジトリーサービスGitHubの年次イベント、GitHub Universe 2017において、数多くの新しい技術やサービスが紹介された。今回は、その中からAPIとGraphQLを取り上げ、Director of Ecosystem EngineeringのKyle Daigle氏に話を伺った。

まずKyleさんのGitHubでのキャリアを教えてください。

Daigle:私はGitHubで働き始めて、もう4年半になります。それまでエンジニアとして、インフラストラクチャーや今回発表したGraphQLなどを担当してきました。全てのAPIやマーケットプレイス、それにパートナーのエコシステムに関するエンジニアリングを担当しています。

GitHubのDirector of Ecosystem EngineeringのKyle Daigle氏

GitHubのDirector of Ecosystem EngineeringのKyle Daigle氏

キーノートでGraphQLの発表とAPIの公開が繰り返し語られましたが、特に印象に残ったのが「APIやデータは社内のエンジニアも社外のエンジニアも全く同じものを使う」という部分でした。それについて教えてください。

Daigle:これはGitHubのストラテジーなんですが、社内のアプリケーションエンジニアが使うAPIもシステムインテグレーターが使うAPIも全く同じものにしています。これは、GitHubを使うエンジニアにとって最高のエクスペリエンスを提供するという意味で重要です。つまりGitHubのエンジニアではないという理由で、セカンドクラスのエクスペリエンスを提供してしまえば、究極的に競合力が低下することになると思っているからです。

通常であれば社内向けの隠されたAPIを用意することもあると思いますが、そういうことはしないと。

Daigle:そうです。それはGitHubからのコミュニティに対する重要なコミットメントだと思います。

「Infrastructure as a code」に代表されるように、様々なシステムがコードの形で定義されていますが、GitHubとしてそれらをサポートする予定はありますか?

Daigle:これはすでに我々だけではなくGitHubのユーザーが多く実施していることですので、すでに実現していると考えて良いと思います。GitHub自身も、社内のシステム開発はDockerコンテナとKubernatesによるコンテナ環境に移行していますし、テストもインフラストラクチャーの定義も同じようにGitHubで管理されています。ただ「全てのユーザーがそうなるべき」というつもりはありません。従来型の開発をしている企業もありますし、それを無理やり変えさせる必要もないのです。様々なスタイル、多様性が実現できるというのも、GitHubの良さのひとつだと考えています。

GraphQLについて教えてください。これはAPIを通じてデータにアクセスする際の標準になるということですが。

カンファレンスで発表されたGraphQL API

カンファレンスで発表されたGraphQL API

Daigle:そうです。我々はAPIを通じて様々なソリューションが提供されることを望んでいますが、そのために全く新しい言語や独自のシステムを使うことはしないでおこうと考えていました。Facebookが開発しオープンソースソフトウェアとして公開しているGraphQLは、GitHubが提供するAPIの目的にはピッタリのものでした。GitHubとしてもGraphQLの開発に協力していますし、これによってより開発が効率良く行えるはずです。日本の開発者にもぜひ、GraphQLを使ってGitHubを活用してもらえたらと思っています。

2008年から開発が進められていたという

2008年から開発が進められていたという

松下:GitHubに関する日本語の情報も増えてきていると思いますが、このオープンなAPIを使うためにはGraphQLの技術が必要であると。ただオープンソースソフトウェアであれば、他にも応用ができるということになりますね。

最後にちょっと変わった質問をさせてください。GitHubの普通のエンジニアは普段、どういう生活をしているのですか?

Daigle:私はサンフランシスコではなくコネティカットに住んでいますので、GitHubの仕事は全てリモートで行っています。妻と2人の子供、それにネコがいますので、朝、子供をデイケアに送ってから自宅で仕事をします。その意味ではとても自由な環境ですね。GitHubは様々なスタイルの働き方を許容しているので、世界中にエンジニアがいて非同期に仕事をしている感じです。ただ月曜日はチームのミーティング、水曜日の夕方はJamと称してもっとカジュアルに話をする時間を用意しています。他にもマンスリーで「オープンソースFriday」のような、オープンソースソフトウェアについて情報を交換し合うイベントなども行われています。

全員が顔を合わせる機会がないと、今後6ヶ月に何をするのか? といった長期のことは決められないのでは?

Daigle:そのために各チームではミニサミットと称して、何かのイベントの時に一緒に顔を合わせて話をする機会を作っています。今回のGitHub Universeでも、色々なチームがミニサミットを実施していると思います。そこでちょっと先の計画を立てたりするのです。他にもペアプログラミングをやるなど、どのチームもいろいろと工夫をしています。GitHubのオフィスも拡張して図書館のようなスペースができましたが、だからと言って全員が集まるわけではなく、チームの自主的なやり方に任されています。

GitHubのオフィスはとてもクリエイティブなインテリアで素晴らしく、特に犬にもとても優しいオフィスですが、ネコ好きには不満があるのではないですか?

Daigle:ああ、そうですね(笑)。ネコは歓迎されていないようです(笑)。

APIとマーケットプレイスのエンジニアリングを担当しているというKyle Daigle氏のチームは、これから外部に向けて地味ではあるが大きな貢献をすることになるだろう。特にGraphQLに関しては10月25日、26日の2日間、サンフランシスコにて開かれるGraphQL SummitにGitHubのエンジニアも参加することがすでに発表されている。GitHubとしても、GraphQLの成長を積極的に支援していくという表れだろう。

参考:GRAPHQL SUMMIT SPEAKERS

なおGitHubは、GraphQL Explorerを公開している。ここでGitHubのIDを持っていれば、GitHubからのデータを試すことができる。

GraphQL API Explorer | GitHub Developer Guide

1年後のGitHub Universeで、GitHub社員以外のプログラマーがGraphQLを使ってどんなソリューションを実装しているのか、今から楽しみである。

この記事のキーワード :

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30