IBM Bluemix www.bluemix.net IBM Bluemix テクニカル・セミナー API Connect / API Management 2016年07月26日 日本アイ・ビー・エム 株式会社 クラウド・ソフトウェア事業部 Bluemix & XaaS テクニカル・セールス 伊藤 拓也 IBM Bluemix www.bluemix.net Disclaimer ワークショップ、セッション、および資料は、IBMまたはセッション発表者によって準備され、それぞれ独自の見解を反映したものです。それらは情報提供の 目的のみで提供されており、いかなる参加者に対しても法律的またはその他の指導や助言を意図したものではなく、またそのような結果を生むものでもあ りません。本講演資料に含まれている情報については、完全性と正確性を期するよう努力しましたが、「現状のまま」提供され、明示または暗示にかかわら ずいかなる保証も伴わないものとします。本講演資料またはその他の資料の使用によって、あるいはその他の関連によって、いかなる損害が生じた場合も、 IBMは責任を負わないものとします。 本講演資料に含まれている内容は、IBMまたはそのサプライヤーやライセンス交付者からいかなる保証または表明 を引きだすことを意図したものでも、IBMソフトウェアの使用を規定する適用ライセンス契約の条項を変更することを意図したものでもなく、またそのような 結果を生むものでもありません。 本講演資料でIBM製品、プログラム、またはサービスに言及していても、IBMが営業活動を行っているすべての国でそれらが使用可能であることを暗示す るものではありません。本講演資料で言及している製品リリース日付や製品機能は、市場機会またはその他の要因に基づいてIBM独自の決定権をもって いつでも変更できるものとし、いかなる方法においても将来の製品または機能が使用可能になると確約することを意図したものではありません。本講演資 料に含まれている内容は、参加者が開始する活動によって特定の販売、売上高の向上、またはその他の結果が生じると述べる、または暗示することを意 図したものでも、またそのような結果を生むものでもありません。 パフォーマンスは、管理された環境において標準的なIBMベンチマークを使用した測定と 予測に基づいています。ユーザーが経験する実際のスループットやパフォーマンスは、ユーザーのジョブ・ストリームにおけるマルチプログラミングの量、入 出力構成、ストレージ構成、および処理されるワークロードなどの考慮事項を含む、数多くの要因に応じて変化します。したがって、個々のユーザーがここ で述べられているものと同様の結果を得られると確約するものではありません。 記述されているすべてのお客様事例は、それらのお客様がどのようにIBM製品を使用したか、またそれらのお客様が達成した結果の実例として示されたも のです。実際の環境コストおよびパフォーマンス特性は、お客様ごとに異なる場合があります。 IBM、IBM ロゴ、ibm.com、Bluemix、IBM MobileFirst は、世界の多くの国で登録されたInternational Business Machines Corporationの商標です。 他の製品名およびサービス名等は、それぞれIBMまたは各社の商標である場合があります。 現時点での IBM の商標リストについては、www.ibm.com/legal/copytrade.shtmlをご覧ください。 Windowsは Microsoft Corporationの米国およびその他の国における商標です。 JavaおよびすべてのJava関連の商標は Oracleやその関連会社の米国およびその他の国における商標または登録商標です。 2 © 2016 IBM Corporation IBM Bluemix www.bluemix.net アジェンダ API とは? API による新しいエコシステム Bluemix と API API Connectとは 料金プラン 導入体系と機能の違い API Connectが管理するAPIのライフサイクル (デモ)API Connect で API を作る 事例 サンプル構成 資料 3 © 2016 IBM Corporation IBM Bluemix www.bluemix.net API とは? Application Programming Interface プログラマが何らかの機能を実行できるように公開された関数 何かをインプットして、処理して、目的のアウトプットが得られる データをインプットして、保存して、保存結果を得る 音声をインプットして、テキストに変換して、変換結果を得る : 上記の処理の中身の部分は公開する必要がない 機密保持 バージョン管理/メンテナンス性 API 最近の主流は REST API HTTP ベース 言語非依存 API を「第三者に使ってもらう」という考え方 自分が持っているデータやシステムを、API として第三者に公開する 使ってもらうことで利用料金を得る 今までゼロから作る必要があったものが簡単に使えるようになる 新しいアイデアの想起、開発部門のアウトソーシング、・・・ 4 © 2016 IBM Corporation IBM Bluemix www.bluemix.net CRUD 例えば「商品(item)」をデータベース化する場合 列名 目的 属性 ID ユニークID 数字/一意 NAME 名前 文字列 CATEGORY_ID カテゴリID 数字 CODE バーコード文字列 文字列 PRICE 価格 数字 URL 画像URL 文字列 削除 新規作成 読み込み Create Read 更新 Update Delete 一連の処理をまとめて “CRUD” と呼ぶ 5 © 2016 IBM Corporation IBM Bluemix www.bluemix.net CRUD をルール化 CRUD 処理と HTTP リクエストを対応させてルール化 CRUD 目的 HTTP リクエスト Create 新規作成 POST /item Read 一覧取得 GET /item(s) 1データ取得 GET /item/{id} Update データ更新 PUT /item/{id} Delete 削除 DELETE /item/{id} 削除 新規作成 読み込み Create Read 更新 Update Delete REST(Representational State Transfer) API 特徴:言語に依存しない 6 © 2016 IBM Corporation IBM Bluemix www.bluemix.net データ API によるエコシステム 他サイトで商品を紹介 商品 データ 比較サイト 社内業務アプリで利用 商品データの参照機能だけ API にして公開 呼び出し回数に制限をかけて提供 7 © 2016 IBM Corporation IBM Bluemix www.bluemix.net 銀行で例える API エコノミー API で銀行の機能(サービス)やデータを提供することで 新しいビジネスを生み出すのが APIエコノミー B2B パートナー ¥ 銀行 決 済 残 高 照 会 8 例: ウェブサイト 経費管理 アプリに 為替レート をAPIで提供 し、月料金 をいただく 為替 レート 参照 振 込 などなど・・ API エコノミー 例: 車が最寄り ATMにガイ ドができる ようにATM 位置情報を APIで提供 スマートカー サービスやデータ コネクテッド家電 例: 通販サイト に決済機能 をAPIで提 供し、決済 ごとに手数 料をいただ く ゲーム機 例: 残高データ タブレット を家計簿 スマートフォン アプリに提 供し、利便 性やUXを向 スマート 上 テレビ © 2016 IBM Corporation IBM Bluemix www.bluemix.net API Connectとは API ConnectはAPIの作成・実行・管理・保護を圧倒的な スピードで実現する包括的なAPI基盤ソリューション APIプロバイダー APIコンシューマー API基盤ソリューション アプリ開発者 外部 取引先 バックエンド システム 社内 クライアント アプリケーション IoT B2B 作成 Web Service API公開 保護 モバイル 実行 IBM z 管理 ESB Web SaaS 9 © 2016 IBM Corporation IBM Bluemix www.bluemix.net 作成 迅速なモデル駆動型APIの作成 データソースからのAPIマッピングの自動化 Swagger 2.0 API仕様のGUIツールによる定義 ローカルでのAPI作成とテスト API、プラン、製品のステージング 10 © 2016 IBM Corporation IBM Bluemix www.bluemix.net API Connect で API を作成する API 自動生成 item 列名 目的 属性 ID ユニークID 数字/一意 NAME 名前 文字列 CATEGORY_ID カテゴリID 数字 CODE バーコード文字列 文字列 PRICE 価格 数字 URL 画像URL 文字列 11 データソースを与えるだけで、テーブル構造から 一連の REST API をリバース生成して公開する OpenAPI(Swagger) と呼ばれる標準形式で、 ドキュメント化されて公開される つまり(既存の)データベースを簡単に REST API 化して、便利な形で公開することができる © 2016 IBM Corporation IBM Bluemix www.bluemix.net 実行 作成したAPIと管理ポータルの実行環境を提供 エンタープライズHA とオートスケーリング マイクロサービス・アプリケーションのステージング 12 © 2016 IBM Corporation IBM Bluemix www.bluemix.net Bluemix で API を使うメリット Auto-Scaling サービスによる API サーバーの負荷対策 ランタイム(アプリケーションサーバー)のインスタンス数をランタイムの負荷に 応じて、自動で調整するビルトイン機能。サービスそのものは無料。 アクセス頻度が高くなった時だけサーバーをスケールアウトすることで、 トータスコストを抑えたパフォーマンスの確保が可能。 13 © 2016 IBM Corporation IBM Bluemix www.bluemix.net 管理 公開するAPI、プラン、製品の定義 クライアントIDの発行と管理 利用者の制限/利用者ごとの利用量制限 利用状態の把握/分析 14 © 2016 IBM Corporation IBM Bluemix www.bluemix.net APIを管理する アプリケーションの登録や サブスクリプションの認証 製品やアプリケーション、プランなど 15 様々な切り口での分析が可能 © 2016 IBM Corporation IBM Bluemix www.bluemix.net 保護 APIのサーバーのホスト名や IP アドレスの隠蔽 レート制限 利用回数や頻度の制限 16 © 2016 IBM Corporation IBM Bluemix www.bluemix.net デモ(既存DBからAPI を作成し、Bluemixに公開する) 1. 既存DBからモデルとAPIを作成し、Bluemixに公開する 2. アカウントを発行し、サブスクリプションを認証する id category_id name price 3. 発行されたアカウントを利用してAPIからデータを取得する 2 2 Apple 140 12 2 Pear 160 22 2 Watermelon 1800 Bluemix API Connect Application Developer 17 API Manager StrongLoop API Developer clearDB © 2016 IBM Corporation IBM Bluemix www.bluemix.net 料金プラン プラン フィーチャー(1ヶ月あたり) 料金(APIの呼び出し回数) Essentials 5 万回の API 呼び出し 無料 Professional 10 万回の API 呼び出し毎 ¥8,400/10 万回 Enterprise 10 万回の API 呼び出し毎 ¥10,500/10 万回 Professional 5M 500 万回の API 呼び出し以降は 10 万回の API 呼び出し毎 ¥262,600/最初の 500 万回 ¥8,400/その後の 10 万回 Enterprise 25M 2500 万回の API 呼び出し以降は 10 万回の API 呼び出し毎 ¥1,051,000/最初の 2500 万回 ¥10,500/その後の 10 万回 18 © 2016 IBM Corporation IBM Bluemix www.bluemix.net 導入形態と機能の違い 多様な導入形態 オンプレミス 19 パブリック・ クラウド(IaaS) SaaS IBM Bluemix APIマネージャー 開発者ポータル 仮想アプライアンス 仮想アプライアンス APIゲートウェイ ソフトウェア ソフトウェア Micro App Compute ソフトウェア ソフトウェア IBM Bluemix 物理/仮想アプライアンス 仮想アプライアンス IBM Bluemix API運用管理 お客様 お客様 お客様 ランタイム運用管理 お客様 お客様 IBM ハードウェア運用管理 お客様 IaaSベンダー IBM © 2016 IBM Corporation IBM Bluemix www.bluemix.net 事例、ユースケース http://event.samurai-incubate.asia/yomiuri-hack/ ジャイアンツハッカソン 20 ハッカソン参加者に提供する API を作成し、 参照機能だけを認証付きで提供 © 2016 IBM Corporation IBM Bluemix www.bluemix.net ハッカソン参加チーム (2) API manager ここだけ公開 検索 作成 更新 API Connect 削除 存在 確認 (0) 各種データ (このままの公開は不 可) : 各種APIを自動生成 DB CSV XLS → IBM Cloud 21 © 2016 IBM Corporation IBM Bluemix www.bluemix.net サンプル構成と価格(円/月額) Node.js で API を実行 最大3インスタンスまでスケールアウト 全文検索機能(オプション) API の利用状況を管理/監視 ¥74,376 (20GB) 38,745 (Free) ¥0 (260K MPV) ¥25,200 (1,440GBH) ¥5,181 22 (20GB) ¥5,250© 2016 IBM Corporation IBM Bluemix www.bluemix.net まとめ Bluemix は3つの視点で API と親和性が高い 作る 使う 管理する Strongloop LoopBack によって、データベースのモデル情報 から REST API を自動作成することが可能になる Auto Scaling サービスによって、API サーバーの負荷に応じ たサーバーリソース最適化運用が可能になる API Management / API Connect によって、公開 API の非 機能要件対応が可能になり、本格的な API ビジネスが可能に なる 23 © 2016 IBM Corporation IBM Bluemix www.bluemix.net 参考資料 CentOS に StrongLoop をインストールする http://dotnsf.blog.jp/archives/1044734593.html StrongLoop アプリで MySQL を使う http://dotnsf.blog.jp/archives/1047831609.html LoopBack で生成した API でクエリーパラメータを指定する http://dotnsf.blog.jp/archives/1051526511.html Bluemix のオートスケール機能を使う http://dotnsf.blog.jp/archives/1022754046.html IBM Bluemix の API Management サービス http://dotnsf.blog.jp/archives/1039539746.html API Management でパラメータ/パスをラッピングする方法 http://dotnsf.blog.jp/archives/1051578630.html Cloudant 内のデータをインデックスして検索する 24 http://dotnsf.blog.jp/archives/1051853296.html © 2016 IBM Corporation IBM Bluemix www.bluemix.net 25 © 2016 IBM Corporation
© Copyright 2024 ExpyDoc