昨年11月,テキサス州オースチンで開催されたAPI Strategy and Practice Conferenceの基調講演を終えたDion Hinchcliffe氏に,Web APIの今後について話を聞いた。
氏は10年に及ぶ豊富な経験をもとに,WebサービスにおけるAPIの爆発的な普及に影響を与えたRESTの歴史と,そのシンプルな設計方針について説明してくれた。話の中で氏は,APIがビジネスに広く採用されていった経緯について述べるとともに,今後のAPIやプラットフォーム,ネットワークについてもヒントを示している。
InfoQ: 自己紹介として,バックグラウンドや主な活動について教えてください。
Dion Hinchcliffe: 今は7Summitsの最高戦略責任者として,開発者コミュニティにAPIなどを提供しています。ディジタル関連の調査や分析も多数行なっていて,ZDNetを始めとするオンラインアウトレットに記事を提供している他,自分でも関連した著作をいくつか書いています。
InfoQ: Web APIの調査を10年前に始めたということですが,関心を持つきっかけになったのは何でしょう?
Dion: APIに初めて興味を持ったのは,それまでのヘビーウェイトなWebサービスに代わって,開発者コミュニティの間でRESTが話題になり始めた頃です。
従来よりシンプルでWeb指向のAPIが人気を集め始めていました。使いやすく,開発者のツールやテクノロジ,さらに通常のビジネスアプリケーションとの相性もよいことを示すデータが現れ始めたのです。
当時Amazonが公開したSOAPとRESTの採用数を比較したデータからは,旧態依然としたWebサービスの人気が凋落し,Web上のサービスにエキサイティングな事が起きつつあることが明らかに現れていました。それが現在ではAPIと呼ばれているものです。
InfoQ: Web APIに対する初期のビジョンを改めて見た時,現在の状況との最も大きな違いは何でしょうか?
Dion: ライトウェイトなAPIに関して言えば,現在のAPIマーケットと開発者の進展状況は,当初の期待を非常によく実現していると思います。ですが技術革新については,もっと期待していました。例えば,ライトウェイトなWebサービスを開発する新たな方法としては,JSONなどが現れています。
そういった意味で,当初はそれまでよりも多くのサポートツールが現れることを期待していたのですが,現時点ではスタブの提供などといった重量級のWebサービス用の豊富な機能を備えたEclipseのような,現在ではもはや必要とは言えないプラットフォームが主流となっています。
最も意外だったのは,おそらくはセキュリティの問題でしょう。当初の予測とは違って,初期のシンプルなAPIモデルが極めてレジリエントであって,必要十分なセキュリティを備えていることが実際に証明されたのです。ただしセキュリティ業界においては,これも予想されていたことでした。
InfoQ: 一般的な企業におけるWeb APIの浸透度は,どの程度なのでしょうか?
Dion: テクノロジで興味深いのは,その採用状況がいつも偏ることです。一般的な企業,という呼び方はできないと思います。APIでも同じですが,アーリアダプタは本当に早いのです。
ただし私は,平均的な企業はAPIを完全に意識しており,戦略的ではないにせよ利用している,と言っても間違いではないと思います。API担当課やAPI部門といったものについては,まだ先進的なテクノロジ企業やスタートアップの新機軸というところでしょう。
InfoQ: そのような一般的な企業での,WebAPIの最も有用なユースケースはどのようなものでしょう?
Dion: 最も多いユースケースは,企業アプリケーションの統合,ワークフロー,モバイルアプリケーション,クラウドサービスのサードパーティ統合,非常に近い将来の機能としてはIoT(Internet of Things)などでしょう。
InfoQ: ディジタルへの転換をサポートするオープンAPIの重要性について繰り返し言及されていましたが,モバイルアプリやWebアプリ,その他のUX関連を支援する内部APIは重要ではないのでしょうか?
Dion: どの会社でも,最初のユーザとして自社のAPIを使用するでしょう。つまりほとんどのAPIは,もともと社内用なのです。企業が組織としてAPIに習熟するには,組織内での開発と利用の両方を習得する必要があるのは間違いありません。
ですが,社外から社内へ,社内から社外へといったように,APIに対する何らかのニーズが明らかになり,それが使われるようになることで,社内外のサービスがミックスされて,かつてはまったく違った多くのサービスやAPIから,ディジタルエクスペリエンスが生み出されるのです。
InfoQ: APIをオープンにすることで利用は増えますが,最近ではNetflixやTwitterのようにAPIをシャットダウンする企業も現れ始めています。一方では多数の公開APIプログラムが,開発者のマインドシェアを巡って競い合っています。こうした傾向は強まりつつあるのでしょうか,あるいは大した問題ではないのでしょうか?
Dion: ルールを証明するという意味では,NetflixやTwitterは例外だと言いたいですね。ただし企業にとってAPIは,成長の初期段階では非常に有効であっても業界リーダの位置に達するとデメリットにもなり得る,という考え方は確かに広まっています。
ですが,ExpediaやeBay, Amazonのように,反例もすぐに見つかります。彼らのAPIは彼らのビジネスそのものなのです。ですから,APIが本質的に企業成長の初期段階のものである,という結論がでた訳ではないのは間違いありません。
InfoQ: Amazonの新しい AWS APIゲートウェイに代表されるように,API管理ベンダは主に自分たちを,レガシなIT資産と新しいユーザエクスペリエンスとのゲートウェイとして位置付けています。一方でIFTTTやUber, Twilloなどといったクラウドネイティブな企業は,分散APIネットワークを構築することで,従来型ビジネスを過去のものにしようとしています。従来型の企業はWeb APIに対して,どちらのメタファを思い描けばよいのでしょう?
Dion: どちらも正しいのですが,後者の方がはるかに正確だと思います。ゲートウェイは前提として必要です。それがなくてはエコシステムにアクセスできません。ですから,どちらか一方という訳にはいきませんが,マーケットへのアクセスさえ確保できれば,APIは健全で成長を続けるディジタルエコシステムを発展させ,促進させるように設計するべきですね。つまりその2つは,排他的な関係ではないということです。
InfoQ: Netflixがやっているように,将来的には,ユーザエクスペリエンスやインタラクションチャネル毎にひとつのカスタムAPIが用意されるべきでしょうか,あるいは,フリーサイズのAPIをひとつだけ使用する方がよいのでしょうか?
Dion: 私自身は常々,全サイズ対応という考え方は何においても危険だと思っています。複雑なインタラクションを持つディジタル技術や人的ニーズについては,特にそれが顕著です。ひとつのAPIからスタートする企業が多いのは確かですが,そのプロダクトや外部ユーザが増えてサービスが充実し,単一モデルのアプローチの妥当性に疑問が生じるまでに時間は掛かりません。もう少し凝ったアプローチが必要な場合が多いと思いますね。
InfoQ: Googleが先日発表したgRPCプロジェクトのような新しいタイプのRPCと比較した場合,Web APIの全体的な価値や成功におけるRESTの重要性は,どのようなものでしょう?
Dion: 明確に言えるのは,RESTがWebの動作にネイティブに沿ったものであり,それゆえにオープンAPIの基本モデルの基盤となっていることです。しかしながら,すべてのシナリオに対する答になることはありません。特にビデオやリアルタイム通信など,当初のWeb設計では予想されていなかった現代的なシナリオにおいてはそうです。
中心的な標準に可能な限り近いものの中から,目的に対して最も適したツールを使用するのがよいと思います。
InfoQ: PaaSが最終的にはIaaSを越えて広く利用されるようになるかどうか,議論が続いていますが,これについてはどう思われますか?
Dion: 設計上の制約が多いほど,適用可能なシナリオは少なくなります。この点では,IaaSもPaaSも大きな違いはありません。
IaaSが非常に多くのシナリオ,実質的にはコンピューティングやネットワークに関するすべてのシナリオに適応できるのに対して,PaaSのドメインははるかに限られています。ですからこの議論はフレームワークに関するもの,つまり大規模かつ複雑なフレームワークほど本質的にソリューション空間の制限が大きくなる,いう問題に立ち戻ることになります。
ですからIaaSの適用範囲は,必ずPaaSよりも広くなります。PaaSに大規模なマーケットの存在することは確実です。どちらも成功すると思いますが,どちらかが他方を圧倒する状態はこれからも続くでしょう。
InfoQ: 適切なツールを提供することによって,基本的な開発を行なう能力のあるタイプのビジネスユーザとして,シチズンデベロッパ(citizen developer)について話されていましたが,企業がソフトウェアソリューションを開発する上で,これは現実的な方法なのでしょうか?
Dion: 現時点では,一般的な企業に普及するためのカスプ上にあると思います。APIを実際に持っていた先進的な企業では,かなり前から実践しています。素晴らしいことに,APIが提供されると,このようなツールがすぐに現れるのです。
現在の開発モデルは,単純なイベント駆動アプリケーションのレベルを脱却して,シチズンデベロッパによるユーザアプリケーションと簡単なアプリケーションフローの構築という段階に入っています。企業のIT部門はアプリケーションロジックを充足し,補完することでこれを支援しています。シチズンデベロッパが実際の存在として開花しようとしている,その初期段階に私たちがいると確証するに十分な証拠もあります。この極めてエキサイティングな世界もまた,APIが実現したものなのです。
InfoQ: ビジネスユーザは本当にAPIの提供や利用を望んでいるのでしょうか?もっと技術的ではない,例えばコネクタやスプレッドシートやフォームなどのパラダイムが欲しいのではないですか?
Dion: 技術者ではないユーザコミュニティにAPIが広く理解されたのは,私自身はよいことだと思っています。しかし実情は,APIをうまく表現できるメタファが存在しないということでしょう。
ユーザは,単純な”アプリ”のような概念であれば,機能やデータな単位として理解できると思います。そのために,今日のローコード(low-code)な環境では,Weather.comの提供する気象予報とデータそのものを提供するWeather.com APIのように,データソースとアプリが混同されることも少なくありません。
APIが実際にそうであるように,アプリがデータソースであるという一般的な理解も最近はありますから,問題にはならないと思いますね。
InfoQ: 分散ネットワークとプラットフォームの持つパワーについて多く話されていましたが,この点でAPIはどのように重要なのでしょう?企業にとって戦略的,戦術的,あるいは技術的,いずれの存在なのでしょうか?
Dion: この話題についてはカンファレンスでも,今日の午後,APIの先駆者であるJohn Musser氏と話したのですが,現在私たちが話題にしているような,ディジタルビジネス成功に必要な非集中型システムを構築する上で,APIそれ自体が重要であることは間違いない,という点で意見が一致しました。
しかしAPIレベルより上のメタ概念については,その戦略的な重要性が高まりつつあり,APIそのものと同じように中心的な課題になってきています。
DeloitteのJohn Hagel氏のチームによるエコシステムパターンに関する研究でも,APIアーキテクチャを越える,アーキテクチャレベルの大きなステップの存在が示されています。
私たちがこの3~4年で理解を深め,現在も戦略的な議論が行なわれているのは,まさにこの部分なのです。