Upgrade to Pro — share decks privately, control downloads, hide ads and more …

IBM Developer Advocateが語るオープンソースメガ盛りのIBMCloud...

IBM Developer Advocateが語るオープンソースメガ盛りのIBMCloudの魅力!

2017年8月19日開催のOpen Developers Conferenceでの登壇資料です。この資料はIBM森住・萩野の共同登壇資料になります。

Taiji HAGINO

August 19, 2017
Tweet

More Decks by Taiji HAGINO

Other Decks in Technology

Transcript

  1. © 2014 IBM Corporation © 2017 IBM Corporation IBM Digital

    Business Group BlueHub IBM Developer Advocateが語る オープンソースメガ盛りのIBM Cloudの魅⼒! IBM Developer Advocate Taiji HAGINO / Yusuke MORIZUMI August 19, 2017
  2. 2 © 2017 IBM Corporation IBM Digital Business Group BlueHub

    2 ワークショップ、セッション、および資料は、IBMまたはセッション発表者によって準備され、それぞれ独⾃の⾒解を反映したもの です。それらは 情報提供の⽬的のみで提供されており、いかなる参加者に対しても法律的またはその他の指導や助⾔を意図したもの ではなく、またそのような結果 を⽣むものでもありません。本講演資料に含まれている情報については、完全性と正確性を期するよ う努⼒しましたが、「現状のまま」提供され、 明⽰または暗⽰にかかわらずいかなる保証も伴わないものとします。本講演資料また はその他の資料の使⽤によって、あるいはその他の関連によっ て、いかなる損害が⽣じた場合も、IBMは責任を負わないものとします。本講演資料に含まれている内容は、IBMまたはそのサプライヤーやライセ ンス交付者からいかなる保証または表明を引きだすこ とを意図したものでも、IBMソフトウェアの使⽤を規定する適⽤ライセンス契約の条項を変更 することを意図したものでもなく、ま たそのような結果を⽣むものでもありません。 本講演資料でIBM製品、プログラム、またはサービスに⾔及していても、IBMが営業活動を⾏っているすべての国でそれらが使⽤可能であることを 暗⽰するものではありません。本講演資料で⾔及している製品リリース⽇付や製品機能は、市場機会またはその他の 要因に基づいてIBM独⾃の決定 権をもっていつでも変更できるものとし、いかなる⽅法においても将来の製品または機能が使⽤可能 になると確約することを意図したものではあり ません。本講演資料に含まれている内容は、参加者が開始する活動によって特定の販 売、売上⾼の向上、またはその他の結果が⽣じると述べる、ま たは暗⽰することを意図したものでも、またそのような結果を⽣むも のでもありません。パフォーマンスは、管理された環境において標準的なIBM ベンチマークを使⽤した測定と予測に基づいています。 ユーザーが経験する実際のスループットやパフォーマンスは、ユーザーのジョブ・ストリー ムにおけるマルチプログラミングの量、 ⼊出⼒構成、ストレージ構成、および処理されるワークロードなどの考慮事項を含む、数多くの要因に応じ て変化します。したがっ て、個々のユーザーがここで述べられているものと同様の結果を得られると確約するものではありません。 記述されているすべてのお客様事例は、それらのお客様がどのようにIBM製品を使⽤したか、またそれらのお客様が達成した結果の 実例として⽰さ れたものです。実際の環境コストおよびパフォーマンス特性は、お客様ごとに異なる場合があります。 IBM、IBM ロゴ、ibm.com、CICS、Tivoli、 WebSphere、Zseriesは、世界の多くの国で登録されたInternational Business Machines Corporationの商標です。 他の製品名およびサービス名 等は、それぞれIBMまたは各社の商標である場合があります。 現時点での IBM の商標リストについては、www.ibm.com/legal/copytrade.shtml をご覧ください。 Linuxは、Linus Torvaldsの⽶国およびその他の国における登録商標です。 Microsoft, Windows, Windows NT および Windowsロゴは Microsoft Corporationの⽶国およびその他の国における商標です。 UNIXはThe Open Groupの⽶国およびその他の国における登録商標です。 Javaおよびす べてのJava関連の商標およびロゴは Oracleやその関連会社の⽶国およびその他の国における商標または登録商標です。
  3. Taiji HAGINO Developer Advocate IBM Japan BlueHub IBM BlueHub Digital

    Business Group taiponrock Yusuke MORIZUMI Developer Advocate IBM Japan BlueHub ymorizumi
  4. Help me be productive and I will HEARTyou デベロッパーのつながりを築き継続させます! こんな⾵に活動します!

    デベロッパーの技術⼒向上を⽀援するために、都市、技術、慣⾏のコミュニティ(会議、 会議、ACM SIGなど)を確⽴します(Developer Advocacy) 必要な技術を実現するために、コード資産を提供し、デベロッパーがIBMテクノロジー (Developer Journey)を活⽤して達成できる価値を⾼めます。⼤切なのは、IBM 社内も社外も全く同じことを促し、権限を与え、育成することです。 オープンコミュニティにおけるIBMのリーダーシップを広げます。IBMはオープンソース (IBMの内部オープンソースプロセス)をリードし、コードコミッターの主張を 戦略的コミュニティに組み込み、それらのコミュニティ内でIBMテクノロジーの オンランプを作成する権限を与えます。 IBMの開発ランク全体にわたり、Developer Advocacyおよび製品標準(開発者向けの標 準)に対する⼀貫した測定可能で反復可能なアプローチ(デザイン思考アプロー チ)を確⽴し、教育し、促進します。
  5. Our Amazing Team! Tokyoチームの精鋭!Worldwideでも連携します! City Leader Kenji Ohyama Coming soon!

    Simon Sasaki Yusuke Morizumi Taiji Hagino Coming soon! Coming soon! Coming soon! Coming soon!
  6. © 2014 IBM Corporation © 2017 IBM Corporation IBM Digital

    Business Group BlueHub 10 10 IBMがCloud・・・・??
  7. 11 © 2017 IBM Corporation IBM Digital Business Group BlueHub

    IBM は コグニティブ・ソリューションと クラウド・プラットフォーム の会社です。 IBM is now emerging as a solutions and company. IBM Corporation, Chairman, President and CEO Ginni Rometty
  8. 12 © 2017 IBM Corporation IBM Digital Business Group BlueHub

    クラウド&AI他社動向 IBM is now emerging as a solutions and company. (IBMはコグニティブ・ソ リューションとクラウド・ プラットフォーム の会社 です。) We will move from mobile first to an . (私たちはモバイルファー ストからAIファーストの世 界へ移るつもりです。) for every person and organization. (マイクロソフトは、AIを あらゆる⼈々と組織に対し て⺠主化します。) We in Our company. We have thousands of people dedicated to AI in our business. (Amazonが何年もかけて 開発した強⼒な⼈⼯知能を すべての開発者に。) Ginni Rometty Sundar Pichai Satya Nadella Andy Jassy
  9. 13 © 2017 IBM Corporation IBM Digital Business Group BlueHub

    IBMクラウドの5つのアプリケーション実⾏環境 OpenWhisk コンテナー バーチャルサーバー or VMware 開発スピード ポータビリティ パフォーマンス & コントロール ベアメタル Cloud Foundry Ø パフォーマンスの最 ⼤化とコントロール ⾃由度の保持 Ø 既存の資産やツール の活⽤ Ø Dockerベースのコンテ ナーを提供 Ø コンポーザブルなサー ビス構築 Ø Kubernetesのサポート を開始 Ø オープン・テクノロジ ーを活⽤したPaaS 基盤 Ø オープンソースでのサ ーバーレス環境
  10. 14 © 2017 IBM Corporation IBM Digital Business Group BlueHub

    IBM Cloudの特徴 特徴1: AIの活⽤に 最適化されたCloud 特徴2: Open Standard Technology 特徴3: ハイブリッド・ クラウドを実現 IBM Cloudは様々な領域に おけるAIやコグニティブサービス最適な活 ⽤を実現するように設計されています。 • 30を超えるAI・コグニティブ 機能をAPIの形ですぐに活⽤。 • 動画や⾳声を含む様々なデータに対するアナリ ティクスサービスを提供。 • IoTや機械学習、Block Chainといった最先端 の技術もすぐに利⽤が可能。 IBM CloudはOpen Standard Technology により、 ベンダーロックインを⼼配することなく利 ⽤できます • IBM CloudのIaaS・PaaSであるBluemixは Cloud Foundryベースで構築。 • DockerやOpenStackといった技術も利⽤可能 。 • 最新のサーバーレステクノロジーである OpenWhiskもオープンソースで提供。 IBM Cloudは企業がクラウド化を進める際 に必要不可⽋なHybrid cloudを実現する ためのクラウドです。 • ベアメタルやAPIを活⽤することで、既存IT資 産を活⽤したクラウド化を。 • 3つの提供形態を持つBluemixの活⽤によりオ ンプレとクラウドを⾃在に組み合わせることが 可能。 • クラウドの利⽤だけでなく、グローバルネット ワークも同時に無償で利⽤が可能に。
  11. 15 © 2017 IBM Corporation IBM Digital Business Group BlueHub

    Open Sourceの貢献とIBM Cloudへの取り組み エコシステム パートナー デベロッパー • 3,600名以上で 250万⾏分の コードに貢献 • 過去4リリースで トップ3の貢献 • IBM から 450名以上 の 開発者と20名の コア・ レビュアー • 2,200名以上で 320万⾏のコードに 貢献 • IBM⾃⾝が世界最⼤級 のCloud Foundry の デプロイメント • IBM から12名の専任 コントリビューター • IBM SystemML プラット フォームを公開 • 3,500 名の開発者と研究 者をSparkプロジェクトに 割り当てる • 100万⼈以上のデータ サイエンティストや エンジニアにSparkの 教育機会を提供 Linux Foundation の下で Open Container Initiative (OCI) project をリード • 1ヶ⽉で16億 ダウンロード相当 • IBM は新たな組織 の設⽴メンバーと なる • x86、Power、 Mainframeの システム向け 開発版をリード • 2016年では Commit で2位
  12. 17 © 2017 IBM Corporation IBM Digital Business Group BlueHub

    Bluemix最新情報 Bluemix SoftLayer IaaS PaaS ~ SaaS Storages (Object, CDN, etc..) Bare Metal Virtual Network (LB, VPN, Firewall, etc…) 2016年10⽉下旬より、BluemixはSoftLayerとサービスを融合 Bluemix InfrastructureとしてSoftLayerの各サービスが利⽤可能
  13. 18 © 2017 IBM Corporation IBM Digital Business Group BlueHub

    Bluemix(Cloud Foundry)のキホン:⽤語説明 コンテナー アプリ ランタイム Java, Node.js, Ruby, PHP, Python, Go等 アプリの開発⾔語に合わせた実⾏環境 「コンテナー」単位で環境を提供 アプリケーション 開発者が実際に開発し、 アップロードするコード サービス アプリケーションが必要とする機能を提供する いつでも好きなタイミングで作成・削除可能 ランタイムとの組み合わせ可否に要注意 バインド バインド ランタイムからサービスに接続すること ランタイム上の環境変数(VCAP_SERVICES) に接続情報が提供されるようになる プッシュ サービス作成 プッシュ 作成したアプリケーションのランタイムを要求・⽣成する操作 アプリ開発者
  14. 19 © 2017 IBM Corporation IBM Digital Business Group BlueHub

    アプリが動く場所: ランタイム ビルドパックという仕組みで、必要とする⾔語の実⾏環境を速やかに提供 アプリ実行のみを目的とし、ログインを許容しないセキュアなコンテナー環境を提供する点がポイント アプリへはパブリック・ネットワークからアクセス可能な経路を通して実施 WLP .war ランタイム sshログイン Java アプリ ユーザー .war http(s)://xxx.mybluemix.net/~ オペレーター アプリ開発者 アプリのプッシュ 悪意のある 外部ユーザー 経路からhttp(s)通信 様々な⾔語環境を提供
  15. 20 © 2017 IBM Corporation IBM Digital Business Group BlueHub

    ランタイムの裏側: ビルドパック 様々な⾔語の実⾏環境を準備するための仕組み アプリのファイルの拡張子やディレクトリー構造で、必要としている言語環境を特定し、構成できる点がポイント GitHub上に公開されているビルドパックを用いることで、選択肢にない言語もBluemixで利用可能 Bluemixで選択可能なビルドパック (*1) https://github.com/cloudfoundry-community/cf-docs-contrib/wiki/Buildpacks GitHubで公開されているコミュニティー版 のビルドパック(*1)も利用可能 WLP .war ランタイム .war アプリのPush ファイル名/ディレクトリ構造から 適切なビルドパックを呼び出す Java アプリ bin/detect,compile,release の3つの主スクリプトで構成 アプリ開発者
  16. 21 © 2017 IBM Corporation IBM Digital Business Group BlueHub

    アプリに機能を追加:サービス アプリが必要とする機能(*1)を提供し、実⾏環境を容易かつ迅速に拡張 3rd Partyが提供する、個別に管理コンソールを持つ、サービス単独で利用できるなど、提供形態は多様 ランタイムと異なり、「プラン」の概念があり、提供する機能のグレードを指定できるサービスも存在 A. 「リソース固定で提供」型タイプ ü 決められたリソースのインスタンスを月額固定費で課金 B. 「従量課金」タイプ ü サービスの利用状況に応じて課金 ü 計測指標はサービスにより異なる点に注意 APIコール数 : REST APIの呼び出し回数 イベント数 : 機械学習のトレーニング数など データ容量 : 利用したストレージ(GB) C. 「無課金」タイプ ü 無償で使える or ベータ版なので費用が今は発生しない サービスの提供タイプ (*1) RDB, ⾃然⾔語処理, etc... 例) dashDBサービスのプラン(抜粋)
  17. 22 © 2017 IBM Corporation IBM Digital Business Group BlueHub

    ランタイムからのサービスの利⽤: バインド ランタイムの環境変数(VCAP_SERVICES)に接続情報が伝搬される 環境変数から必要な情報を取得するようにコーディングを⾏うのがお作法 ランタイム バインドしたいサービス WLP .war { : "cloudantNoSQLDB": [ { "name": "Cloudant NoSQL DB-IBM", "label": "cloudantNoSQLDB”, "plan": "Shared”, "credentials": { "username": "XXXX", "password": "XXXXYYYY", "host": "XXXX-bluemix.cloudant.com”, "port": 443, "url": "https://〜” } } ] : } VCAP_SERVICES New バインド 環境変数を 意識して開発 (*) サービスのバインド操作後、ランタイムの再ステージが必要 コンソール等で バインド操作や 環境変数の確認が可能
  18. 23 © 2017 IBM Corporation IBM Digital Business Group BlueHub

    実行環境のテンプレート: ボイラープレート よく使うランタイムとサービスを組み合わせたテンプレートの環境を提供 ランタイム サービス ボイラー プレート 各種設定 サンプル・アプリ等 ランタイム, サービスと同様にカタログ画面から選択 代表的なボイラープレート Node-RED Starter BluemixにNode-RED環境を提供 MobileFirst Services Starter Push通知など, モバイル・アプリ開発 のための機能を有した環境を提供
  19. 24 © 2017 IBM Corporation IBM Digital Business Group BlueHub

    cf (CloudFoundry)コマンドライン Cloud Foundryで利用する標準的なコマンドライン・インターフェース Bluemixをはじめ、Cloud Foundryベースのクラウド環境であれば共通して使⽤できる コミュニティーで公開されている追加のプラグインを導⼊することで、操作を拡張することも可能 https://github.com/cloudfoundry/cli#downloads からダウンロードして導⼊ アプリ開発者 > cf ccc xxx × (1) ランタイムに対する操作 • ランタイムの生成, 削除 • メモリー, インスタンス数の変更 • DNS経路の追加, 変更, 削除 • ログの出力 など (2) サービスに対する操作 • サービスの生成, 削除 • ランタイムに対するバインド, アンバインド など Bluemix cfコマンドラインで実施可能な主な操作
  20. 28 © 2017 IBM Corporation IBM Digital Business Group BlueHub

    FaaS(Serverless Architecture) Function Function Function Function
  21. 29 © 2017 IBM Corporation IBM Digital Business Group BlueHub

    OpenWhiskとは? $0.000017 per second of execution, per GB of memory allocated
  22. 30 © 2017 IBM Corporation IBM Digital Business Group BlueHub

    Mobileアプリを作ってみよう!
  23. 35 © 2017 IBM Corporation IBM Digital Business Group BlueHub

    Node-REDでかんたんにサーバーサイドアプリを作る
  24. 36 © 2017 IBM Corporation IBM Digital Business Group BlueHub

    Mobileアプリを作ってみよう!
  25. 39 © 2017 IBM Corporation IBM Digital Business Group BlueHub

    ブロックチェーンの基礎 • 文字通り、各ブロックを鎖のようにつないだもの • 各ブロックに、トランザクションが記録 • ブロックチェーンには、過去のトランザクション「ハッシュ値(ダイジェスト)」が記録 されており、過去の情報を改竄できないようになっている 3 Genesis block (block0) block 1 block 2 block 3 block n トランザクション トランザクション トランザクション ハッシュ値 ハッシュ値 ハッシュ値
  26. 40 © 2017 IBM Corporation IBM Digital Business Group BlueHub

    Hyperledger Fabricのブロックチェーン • 各ブロックが含む主要要素 – 前ブロックのハッシュ値 – 単⼀、もしくは設定による⼀定数のトランザクション情報/トランザクション結果 – トランザクション実⾏後のワールドステート(後述)のハッシュ値 4 トランザクション情報 前ブロックのハッシュ (ハッシュ計算対象外) ワールドステートのハッシュ バージョン番号 タイムスタンプ トランザクション群のハッシュ トランザクション結果 トランザクションの UUID、実⾏結果、 エラーコード、エラ ー内容 トランザクション情報 前ブロックのハッシュ ワールドステートのハッシュ バージョン番号 タイムスタンプ トランザクション群のハッシュ 実⾏関数、引数
  27. 41 © 2017 IBM Corporation IBM Digital Business Group BlueHub

    V1.0 コンセンサスの流れ 4 application SDK membership Endorser Chaincode Committer State Consensus Blocks Validation Ledger Orderers 3 Relay Submit TX 4 Deliver batch 1-1. Query state DB 5. Validation 証明書
  28. 42 © 2017 IBM Corporation IBM Digital Business Group BlueHub

    ブロックチェーン適用のユースケース 保険 保険加入者は、仲介者を 介さずにダイレクトに契約を結 ぶことができ、保険市場の透明 性および正確性が向上する可 能性がある。例えば、 ロンドン保険市場をブロックチェ ーンによって改革しようとしてい る企業もある。 貿易⾦融 貿易金融には平均12社が関与 し、27の文書がやりとりされる 複雑なプロセス。 スマートコントラクトによる自動 化により、効率性、 スピード、正確さが向上し、リス クを低下させる可能性がある。 証券取引 多くの証券取引所で、ブロック チェーンによるポスト・ トレーディング処理の効率化な ど、証券市場の改革が検討さ れている。 IBMはJPXと共同に低トランザ クション市場を想定したブロック チェーン技術の実証実験を行っ た。 仮想通貨 「ビットコインの国内取引高は 2016年1-6月期に4300億円 、7月は単月で2000億円を突 破」した(2016/8/16 日本経 済新聞 電子版)。日本国内で は、改正資金決済法も整備さ れ、仮想通貨の両替所市場は 今後も規模の拡大が予想され る。 本⼈確認 個人認証の重要性が高まって いるが、いまだ運転免許証のコ ピーを利用するといった方法が 行われている。ブロックチェーン を使えば、低コストで安全に本 人確認情報を共同所有するしく みが構築できると期待されてい る。 ⾃⽴分散型組織 ブロックチェーンは、社会貢 献を⽬的としたソーシャルビ ジネスのための持続可能なプ ラットフォームとして利⽤で きる。これにより、全ての⼈ への公平なサービスの提供が 期待される。 IoT IBMが提唱する「デバイス・デ モクラシー」では、「ブ ロックチ ェーンは IoTの世界において 相互に連携する デ バ イス間のトランザ クショ ンを管理・調整する枠組みと して⾮常に有⽤で ある。」と謳 っている。 スマートグリッド 中央集権型のシステム構成で は、柔軟な分散エネルギー市 場の構築は難しい。 ⼩売・送電網⾃由化のもとで は、ブロックチェーン技術を 使った分散エネルギーの市場 の構築が期待される。 資産管理 不動産登記簿など、ブロックチ ェーンを資産台帳として 使用することで、資産に関する すべてのステークホルダーが、 直接その資産の情報を見たり、 取引をすることが可能になる。 契約管理 ブロックチェーンによって契約 管理ができれば、契約が進行 するに従い最新状態が記録さ れ、改ざん不可能な監査証跡 が保存される。 ただし、スマートコントラクトを契 約書として利用するには、電子 署名法など関連法について当 局への確認が必要であろう。 国際送⾦ ブロックチェーンによる非集中 型の送金サービスにより、透明 性やスピードの向上、 コストの削減が可能になる。 仮想通貨の両替所を使った海 外送金サービスなども可能であ る。 複雑なサプライチェーン・ ネットワークにまたがる取引を ブロックチェーン上に記録する ことで、プロセスのエンド・ツー・ エンドでの可視化・効率化が可 能になり、製品の来歴管理が可 能になる。 サプライチェーン マネージメント デジタル資産の保管、資産の所有権移転を安全かつ確実に実施できる技術として各業界で適⽤が検討 4
  29. 43 © 2017 IBM Corporation IBM Digital Business Group BlueHub

    高いセキュリティを実現するブロックチェーン・クラウド IBMは、ブロックチェーンを高いセキュリティを保持して商用利用するための各 種機能やツールのIBM Bluemix上での提供を開始いたしました。 ビジネス アプリケーション Fabric Composer チェーンコード ① ④ ⑤ ① Hyperledger Fabric v1.0ベースで ハイスピードかつ高セキュリティ ② 高いセキュリティを実現するIBM Linux One上で稼働するHSBNを 月額160万円で提供(※) ③ IBMによるマネージド・サービス の提供 ④ ブロックチェーンを実用化する アプリケーションの構築を支援 するツール群を提供 ⑤ 全ての機能をIBM Bluemixにて 提供 アプリケーション開発 プラットフォーム Bluemixを通じての提供 チェーンコードとアプリケーションの 連携を支援 • IBM Bluemixの提供するブロックチェーンサービスの全体像 • ※ HSBN:High Security Business Network ② ③