Post on 21-Jan-2018
2017年 4月 26日IBM クラウド事業本部
コンサルティング・アーキテクト 平山 毅
Bluemix API Connect によるAPIエコノミーの実現
自己紹介 名前︓平⼭ 毅(ひらやま つよし)2016年2月 IBM入社クラウド事業本部コンサルティングアーキテクト
前職︓Amazon Web ServicesTokyo Stock ExchangeNomura Research Institute
東京理科⼤学卒で計算機科学、電⼦商取引の研究早稲⽥⼤学⼤学院で⾦融⼯学、ブロックチェーンの研究
Twitter : t3hirayamaFacebook : tsuyoshi.hirayama【直近記事】WIRED︓Innovation InsightsZDnet : Bluemixの歩き方
【執筆著書】
© 2017 IBM Corporation
クラウド = API
API
サーバ追加ディスク追加ルータ追加
仮想化
Cloud Service
仮想サーバ
仮想ディスク
物理サーバ物理ディスク
物理ネットワーク
物理サーバ
物理ディスク
物理ルータ
仮想ルータ
物理リソースに余りがあれば瞬時に調達可能
一般的なクラウドサービス
IBM Cloudは物理もAPI制御可能︕
↓細かくはコチラ
© 2017 IBM Corporation
Amazon は内部プロセスもAPIAmazonは一つのことだけに携わる小さなチームの集まりで出来ており、そのために急速なイノベーションが可能になっている」とベゾス氏は述べている。これらのチームは、以下にある「公開されたAPI」に(強制的に)沿って互いにコミュニケーションを取っている。全てのチームはサービスインターフェイスを通じてその機能やデータを公開しなければならない。-チームのコミュニケーションはインターフェイスを通じて⾏われる。-インターフェイスを通じたもの以外のあらゆるプロセス間通信は許可されない。
直接的にリンクすること、他のチームのデータを直接⾒ること、共有メモリモデルによるコミュニケーション、バックドアやその他の手段すべてに対してこれは適用される。唯一許可されるコミュニケーションは、ネットワーク越しにインターフェイスを叩くことのみである。
-どのようなテクノロジーを使っていたとしてもこのルールは変わらない。-どのようなサービスインターフェイスも例外なく公開されることを前提に、
根底からデザインされなければならない。つまり、チームはインターフェイスを開発者に公開できるようにプラン設計を⾏わなければならない。例外は認められない。
そして、これらを選択肢の1つだと考えているAmazonの従業員たちに対し、ベゾス氏はこう締めくくっている。「これを守れない社員はクビにする。では、今日もいい日を」http://readwrite.jp/startup/29950/ から引用
© 2017 IBM Corporation
クラウドネイティブ = マイクロサービス = API
IBM Developer worksマイクロサービスの実際: 第 2 回 コンテナーとマイクロサービス ― 理想的なペア より抜粋https://www.ibm.com/developerworks/jp/cloud/library/cl-bluemix-microservices-in-action-part-2-trs/index.html
Bluemix への統合PaaS
IaaS
Private
Cloud
Swift
S3
Cloud Platform
File Data Store
Bluemix の ラインナップとバリュー
インフラストラクチャー
デベロッパーツール
コンテナー Cloud Foundry サーバーレス ランタイム
セキ
ュリ
ティ
& コ
ンプ
ライ
アン
ス
メッセージング ロードバランサー
アプリケーション・セキュリティ
API &インテグレーション DevOps
データベース データ データマネジメント
アナリティクス ビジュアリゼーション
Discovery Conver-sation
NaturalLanguage
Speech &Vision
Retrieve &Rank
Tradeoff Analytics
コンピューティング ストレージ ネットワーク
Public Dedicatedマルチテナント シングルテナント
Local
IBM Cloudシングルテナント
お客様環境
VMwareバーチャルサーバー
ベアメタル
ファイルブロック オブジェクト VPNパブリック
プライベート CDN
コグニティブ
データ&アナリティクス
インダストリー IoT ブロックチェーン ヘルス フィナンシャル
サービス メディアWeather ビデオ
Cost & Speed
Innovation
2Speed IT と PaaSの関係性安定した
エンタープライズIT安定した
エンタープライズIT変化の激しいデジタルIT
変化の激しいデジタルIT 常に最高のUXが
欲しいユーザー︕
モノリシックなアプリケーション
マイクロサービスな疎結合なクラウドネイティブアプリケーション
オンプレミス IaaS PaaS
Hybrid Cloud
© 2017 IBM Corporation
Bluemixのカテゴリー
Bluemix のコンセプト”コンポーザブル”
パートナー
お客様のアイデアを、即、製品化するために、サービス、インフラ基盤、データをトータルに提供でき、“コンポーザブル(組み合わせ)”に最も先進のクラウド・プラットフォーム
IBM
お客様所有オープンソース
Internet of Things
モバイル
アプリ実⾏環境
コグニティブコンピューティング
アナリティクス
セキュリティー
データベース
コンポーザブル
ランタイムとサービスをマッピングする“バインド”
ランタイムコンテナ環境 イベント実⾏環境コンテナ
インテグレーション(API)
IoT
データベースアナリティクス
Watson
DevOps
モバイルクラウドネイティブアプリケーション
REST
REST
REST
REST
DB
Conn
ection
Deployment
Pipeline
ランタイム サービス
バインド
クラウドネイティブ時代のアーキテクチャー
IBM DCオンプレミス
API
CloudFoundry (Open Source PaaS)
OpenStack (Open Source IaaS)
IoT Cognitive
DevOps
Analytics(Spark)
➀オープンテクノロジー
②ハイブリッドクラウド
③デジタルテクノロジー
SoEインターフェース SoIアナリティクス
VMware SDDC
OpenWhisk(Open Source EventDriven)
出⼒ 入⼒
SoRアーキテクチャー
API公開数の推移
2000 2002 2003
API公開数 105
2005 2006
352
2007
601
2008
1,116
2009
1,628
2010
2,647
2011
4,678
2013年︓10,000超2016年︓30,000超の⾒込み
OpenAPI Initiative
【目的】人間とコンピュータの双方が、ソースコード、ドキュメント、ネットワークトラフィックインスペクションにアクセスすることなく、サービスの機能を検出して理解できるように、REST APIに対する標準、言語に依存しないインターフェイスを定義します。OpenAPIを使って適切に定義することで、API利用者は最小限の実装ロジックで、リモートサービスを理解してやりとりすることができます。
2015年11月、REST APIの標準化を定めるため、IBM、Microsoft、Googleを中心に発足
© 2017 IBM Corporation
OpenAPI Initiative 会員
OpenAPI 3.0
(個人的な意⾒)OpenAPI 3.0 on HTTP/2OpenAPI 2.0 on HTTP/1.1が良い︖
© 2017 IBM Corporation
APIはかつてのホームページのようになるホームページ
スマートアプライアンス
パートナー ホームページ
ネット連動テレビ
スマホ
タブレット
ゲーム機
⾞
1993 – 2000(数百万単位)
2013+
億単位
APIs
クラウドも全てAPIで動いている。
© 2017 IBM Corporation
銀⾏で例えるAPIエコノミー– APIで銀⾏の機能(サービス)やデータを提供することに
より、新しいビジネスを生み出すのがAPIエコノミー
APIエコノミー
決済残高照会
為替レート参照
振込
銀⾏
B2Bパートナー
ウェブサイト
スマートフォン
タブレット
スマートテレビ
ゲーム機
スマートカー
コネクテッド家電
などなど・・
¥
サービスやデータ
例︓通販サイトに決済機能をAPIで提供し、決済ごとに手数料をいただく
例︓残高データを家計簿アプリに提供し、利便性やUXを向上
例︓経費管理アプリに為替レートをAPIで提供し、月料⾦をいただく
例︓⾞が最寄りATMにガイドができるようにATM位置情報をAPIで提供
今起きているAPIエコノミーの特徴今起きているAPIエコノミーの特徴
アプリ開発者コミュニティアプリユーザー
モバイルアプリも自前で開発
API公開
独自プロトコルパートナー間で取り決め
オープンなプロトコルモバイルからアクセスし易い︕
デジタル・ビジネスではない伝統的な企業
企業データの管理強化
モバイル・アプリからのアクセスを
コントロール
企業ブランドイメージの向上
革新的なパートナーとの連係
新たなビジネスの実現
データやアルゴリズムを収益化
アプリ開発スピードの向上
APIの利⽤でコードを減らす
APIを公開する、APIを利用する価値APIを公開する、APIを利用する価値
IBM API ConnectであらゆるAPIを統合
IBM Integration Bus
IBM WebSphere Connect
IBM DB2 Connect
IBM DataWorks
IBM z/OS Connect
外部アプリ
Developer
IBM クラウド
お客様データ
API
API API
API
IBM API ConnectでAPIライフサイクル(作成 ・公開・管理・保護)を統合して管理する。
楽な開発
� 既存のデータストアやサービスから容易にAPI開発を⾏えるツール
� ビルド、テスト、デプロイ� APIの実⾏環境の管理� 監視、スケーリング
� 公開APIの容易なポリシー定義� 利⽤状況の分析、課⾦� 開発者ポータルへの自動連携
�堅牢なゲートウエイでの保護�API利⽤者の認証とアクセス制御�アクセス数のレート制限
API公開に必要な支援を備えたIBM API ConnectAPI公開に必要な支援を備えたIBM API Connect高性能の実行環境
セキュリティ 利用管理
作成実行
管理保護
23Page© 2016 IBM Corporation
3. API Connectご採用のメリット2.Open API Initiative他 API 領域におけるIBMの取り組み例
The OAI is focused oncreating, evolving andpromoting a vendorneutral API DescriptionFormat based on theSwagger Specification.
BriefingAPIとAPI
Economyへの理解を深める
Workshop ビジネスとITの両面からAPIの進め方を
検討
DeliveryサービスをAPI化し、クイックスタートす
る
API クイックスタートプログラム
⾦融機関向けIBM
FinTech Program
enable open innovate launch accelerate
• IBM BluemixやIBM developerWorksを中心とした巨⼤な開発コミュニティーによるバックアップ• Open API Initiativeを始め、API標準への積極的な関与
IBMのAPIへのアプローチIBMのAPIへのアプローチ
© 2017 IBM Corporation
https://www.ibm.com/blogs/systems/ibm-named-a-leader-in-gartner-magic-quadrant-for-full-life-cycle-api-management-solutions/ より抜粋
リーダーの地位でソフトウェアでもBluemixでも提供
25Page© 2016 IBM Corporation
開発環境
SaaS(Bluemix)環境
パブリック・クラウド環境(IaaS)
オンプレミス環境
API開発者 - LoopBack- マイクロGateway- CLI
DeveloperToolkit
APIデザイナー- APIの設計
- 開発・テスト- ビルド・デプロイ
稼働環境公開(デプロイ)
�API Connectは、オンプレミス、SaaS、パブリッククラウド(IaaS)の複数の提供形態から選択、併⽤可能
�開発ツールは、すべての環境で共⽤でき、公開先を変更可能(開発ツールへの課⾦はなし)
�複数の稼動環境を利⽤して、使い分け可能(ハッカソン⽤、テスト⽤、本番⽤など)
�すべての環境でAPIコール数に応じた月額ベースのサブスクリプション・ライセンスを利⽤可能
ハイブリッドに提供可能なIBM API Connectハイブリッドに提供可能なIBM API Connect
APIの組み合わせで素早く機能強化既存のIT資産もAPI化でさらに価値が高まる
エンタープライズのIT資産
基幹システム上のデータアプリケーションビジネス・ロジック
ロジック
データアプリケーション
API
API
API
API
API
API
API
API
API
モバイル通知
Sendmail⼀⻫配信
Twitterデータ
電話︓Twilio
ビデオ配信
健康データ
電子マネー決済
販売・注文
気象データ
IBM WebSphereConnect
WebSphereアプリケーションとデータ
IBM z/OSConnect
IBM z Systems上のアプリケーションやデータ
IBM DB2Connect
IBM DB2 メインフレームとIBM System i
APIエコノミーの事例︓デジタルポスト様
28Page© 2016 IBM Corporation
3PI Connectご採用のメリット3.API Connect活用事例2016年3月25日発表
� 残⾼照会、⼊出⾦明細照会、⼝座情報照会などの銀⾏機能を提供するサービスを開始
ニュースリリース : リンク(http://www-03.ibm.com/press/jp/ja/pressrelease/49405.wss )
� API開放におけるセキュリティの確保� 提携先企業にログインID・パスワードを
預ける必要がない� 認証基盤(Oauth2.0準拠)による認証
API Connectを活⽤し、セキュアかつ容易にAPIを作成、公開、運⽤、分析するとともに、開放したAPIの適切な管理を実現
Fintech事例︓住信SBIネット銀⾏様
© 2017 IBM Corporation
IBM が提供する Fintech 共通APIIBM の Global Business Services が業界ナレッジを蓄積した「Fintech共通API」を提供。また、解放したAPI利用者を増やすため、スタートアップ向け支援も活動。
© 2017 IBM Corporation
Fintech&OpenAPIの事例︓しんきん情報システム様
http://itpro.nikkeibp.co.jp/atcl/news/17/041001085/ より抜粋
3つのアクターに対して重圧な画面/機能
API開発者
API管理者
アプリ開発者(外部 取引先 社内)
API提供側
API利⽤側
API開発
API仕様ポリシー
定義
APIの製品化と公開
APIキー発⾏と
利⽤登録
API利⽤分析
1 2
3
4
0
API利⽤
APIデザイナー
APIマネージャー
開発者ポータル
API ConnectによるAPI公開に向けたステップと価値API ConnectによるAPI公開に向けたステップと価値
APIを⾒つける︕
API開発者ポータル
32Page© 2016 IBM Corporation
AP
I G
ate
wa
yAPIAPI
APIAPI
REST/JSON
ESB
API 開発者ポータル
APIAPI
外部
アプリ開発者
クライアント・アプリ
社内取引先
IoT
モバイル
Web
WebService IBM z
APIサービス
B2B
SaaS
Re
ve
rse
Pro
xy
/WA
F
APIマネージャー
WebSphere Liberty
仮想アプライアンス
仮想アプライアンス
ソフトウェア仮想アプライアンス
(物理アプライアンス)
ソフトウェア
API公開に必要な支援を備えたAPI ConnectAPI公開に必要な支援を備えたAPI Connect
© 2017 IBM Corporation
IBMは3つのOSS言語のAPI対応に多く貢献
IBM API Connect の機能コンポーネント
外部
アプリ開発者
クライアントアプリ
ESB
WebService
IBM z
社内
取引先
IoT
モバイル
Web
DataPower Gateway
• API ポリシーの執⾏• ⾼度な認証・暗号処理• ⾼性能・ハイセキュリティー
Micro Gateway
• APIの設計・開発・テスト• APIのデータ・ソース接続• ビルド・デプロイ
Developer Toolkit
Micro App Compute
• API ポリシーの執⾏• 基本的な認証・暗号処理• Node.jsのゲートウェイ
• Node.js/Java ランタイム• クラスター構成• データ・ソース・コネクター
データソースを効率的にAPI化する開発環境
ポリシーに基づきAPIを高度に保護・制御する
開発者ポータル
APIマネージャー
• API定義のインポート• API ポリシー管理• ライフサイクル管理
• API 一覧/詳細 ページ• コード・サンプル• クライアントID管理
APIのポリシーを管理するAPIオーナー⽤UI
APIを利⽤するための情報が集約された開発者⽤ポータル
ポリシーに基づきAPIをシンプルに保護・制御する
デジタルITをサポートする軽量・高信頼APIランタイム
IBM API Connect の強みIBM API Connect の強み
ハイブリッドに提供
(基本)REST, MySQL, PostgreSQL, MongoDB, Redis, Couchbase, Cloudant, Neo4j, Kafka, Memory, Mail、等
(拡張)SOAP, DB2, Oracle, MS SQL, SAP HANA 、等
コネクターの種類
IBMだからできるハイブリッドエンタープライズアプリケーション
API Connect
データベースの公開
ロジック部品の公開
IaaS
PaaS
Cloud Enableアプリケーション
今までのアプリケーションMonolithic app
Firewall
REST
SaaS連携“Cloud First”
外部APIの活用“API Economy”
開発者がセルフ・サービスで利⽤
APIとして公開
革新的なアイデアをアプリ化
新たなサービス、より良いサービス
を生み出す
Software-as-a-
Service
オンプレミス
セキュリティゲートウエイ
IBM開発、提供公開API(150種以上)
クラウド
コグニティブ連携
APIとして公開
36Page© 2016 IBM Corporation
API Connect Docker サポートAPI Connect Docker サポート
https://hub.docker.com/r/ibmcom/apiconnect/
DockerサポートによりIBM Container サービスで稼働させることも可能に︕
© 2017 IBM Corporation
Bluemix APIリファレンス もAPI Connect ベース
Bluemix サービスのAPIリファレンス↓(要チェック)
https://console.ng.bluemix.net/apidocs/
38Page© 2016 IBM Corporation
https://loopback.io/doc/en/lb2/LoopBack-core-concepts.html
Loopback Framework ModelLoopback Framework Model
LoopBack Frameworkとは、バックエンドのデータソースをREST API化するフレームワーク。
コネクタも用意され、プロトコル変換が可能。
API Connect を使うとバックエンドを
REST API + LoopBack Framework
で指定可能。
© 2017 IBM Corporation
API Connect を使うとエレガントになる︖
LoopBack Framework
(DB参照)を使ったAPI定義例(MySQLの例) API Connectの開発者ポータル機能で自動生成されるAPI Reference例
OpenAPI Swagger
取り込みによるAPI定義例
OpenAPI SwaggerによるAPI Reference 例
API Connectを使うと・・
© 2017 IBM Corporation
Loopback Framework の変換
https://loopback.io/doc/en/lb2/LoopBack-core-concepts.html
CRUDHTTP method NodeAPI
© 2017 IBM Corporation
Blue-Greenなステージング
API の開発 • Swaggerのインターフェース定義からAPIを開発したり、モデルをスクラッチから組み上げることも可能
APIの作成
開発したAPI の確認、テスト
APIのテスト
44Page© 2016 IBM Corporation
– APIデザイナーまたはAPIマネージャーからGUIでスクラッチから定義
– Swagger 2.0仕様に準拠したAPI記述を自動生成
– インポートによる定義– 外部で作成したSwagger 2.0準拠のAPI記述をイ
ンポートすることも可能– WSDLのインポートや
サービス・レジストリーからディスカバリー可能
– セキュリティー設定が可能– 基本認証(認証URL、LDAP)– Oauth– APIキー
自動生成
Swagger2.0記述
WSDL
import
import
サービス・レジストリー
discovery
設計
ソース(YAML)
APIの仕様定義
45Page© 2016 IBM Corporation
アセンブル– Gatewayで実施する処理をビルトイン・ポリシーを使ってアセンブリー・フローに定義– Micro GatewayとDataPower Gatewayで利用できるビルトイン・ポリシーが異なる
– 独自の処理をユーザー定義ポリシーとして作成・利用することも可能– サンプルのユーザー定義ポリシーはGitHubからダウンロードして再利⽤可能
パレット(ビルトイン・ポリシー) キャンバス
アセンブリー・フロープロパティー・シート
ドラッグ&ドロップで配置
アセンブル
各ポリシーをクリックして詳細を指定
アセンブリ
© 2017 IBM Corporation
IBM API Connect 入門ご紹介https://www.ibm.com/support/knowledgecenter/ja/SSFS6T/mapfiles/getting_started_bluemix.html
API Connect の Loopback の流れAPI Connect の Loopback の流れ
https://www.ibm.com/support/knowledgecenter/ja/SSFS6T/mapfiles/getting_started_bluemix.htmlより引用
© 2017 IBM Corporation
API Connectによるテスト例
© 2017 IBM Corporation
REST APIの作成例
項目定義
企業がAPI公開
公開API発⾒
新アプリ開発
アプリ人気Up
ユーザー送客
新たなビジネス
IBM API ConnectでAPIエコシステムを︕IBM API ConnectでAPIエコシステムを︕
開発者
© 2017 IBM Corporation
Watson Summit 2017いよいよ開催が明日です︕
© 2017 IBM Corporation
Thank youご清聴ありがとうございました。
この資料に含まれる情報は可能な限り正確を期しておりますが、日本アイ・ビー・エム株式会社の正式なレビューを受けておらず、当資料に記載された内容に関して日本アイ・ビー・エムは何ら保証するものではありません。ワー クショップ、セッション、および資料は、IBMまたはセッション発表者によって準備され、それぞれ独自の見解を反映したものです。それらは情報提供の目的 のみで提供されており、いかなる参加者に対しても法律的またはその他の指導や助言を意図したものではなく、またそのような結果を生むものでもありません。 本講演資料に含まれている情報については、完全性と正確性を期するよう努力しましたが、「現状のまま」提供され、明示または暗示にかかわらずいかなる保証 も伴わないものとします。本講演資料またはその他の資料の使用によって、あるいはその他の関連によって、いかなる損害が生じた場合も、IBMは責任を負わ ないものとします。 本講演資料に含まれている内容は、IBMまたはそのサプライヤーやライセンス交付者からいかなる保証または表明を引きだすことを意図したものでも、IBM ソフトウェアの使用を規定する適用ライセンス契約の条項を変更することを意図したものでもなく、またそのような結果を生むものでもありません。本 講演資料でIBM製品、プログラム、またはサービスに言及していても、IBMが営業活動を行っているすべての国でそれらが使用可能であることを暗示するも のではありません。本講演資料で言及している製品リリース日付や製品機能は、市場機会またはその他の要因に基づいてIBM独自の決定権をもっていつでも変 更できるものとし、いかなる方法においても将来の製品または機能が使用可能になると確約することを意図したものではありません。本講演資料に含まれている 内容は、参加者が開始する活動によって特定の販売、売上高の向上、またはその他の結果が生じると述べる、または暗示することを意図したものでも、またその ような結果を生むものでもありません。 パフォーマンスは、管理された環境において標準的なIBMベンチマークを使用した測定と予測に基づいています。ユーザーが経験する実際のスループットやパ フォーマンスは、ユーザーのジョブ・ストリームにおけるマルチプログラミングの量、入出力構成、ストレージ構成、および処理されるワークロードなどの考慮 事項を含む、
数多くの要因に応じて変化します。したがって、個々のユーザーがここで述べられているものと同様の結果を得られると確約するものではありませ ん。記述されているすべてのお客様事例は、それらのお客様がどのようにIBM製品を使用したか、またそれらのお客様が達成した結果の実例として示されたものです。実際の環境コストおよびパフォーマンス特性は、お客様ごとに異なる場合があります。IBM, IBM ロゴ、ibm.com, は、世界の多くの国で登録されたInternational Business Machines Corporationの商標です。他の製品名およびサービス名等は、それぞれIBMまたは各社の商標である場合があります。現時点での IBM の商標リストについては、www.ibm.com/legal/copytrade.shtmlをご覧ください。