Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

IBM Bluemix OpenWhisk: Serverless Conference 2016, Tokyo, Japan: The Future of Cloud Programming

Learn more about the IBM Bluemix OpenWhisk, a serverless event-driven compute platform, which quickly executes application logic in response to events or direct invocations from web/mobile apps or other endpoints.

  • Identifiez-vous pour voir les commentaires

IBM Bluemix OpenWhisk: Serverless Conference 2016, Tokyo, Japan: The Future of Cloud Programming

  1. 1. ServerlessConf Tokyo 2016 クラウド・プログラミングの未来: イベント駆動型のマイクロサービス・アプリケーション・アーキテクチャ IBM Bluemix OpenWhisk Dr. Andreas Nauerz, Technical Product Manager @AndreasNauerz Markus Thömmes, Software Engineer @MarkusThoemmes October, 2016
  2. 2. Please Note: 1 • IBM’s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM’s sole discretion. • Information regarding potential future products is intended to outline our general product direction and it should not be relied on in making a purchasing decision. • The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any material, code or functionality. Information about potential future products may not be incorporated into any contract. • The development, release, and timing of any future features or functionality described for our products remains at our sole discretion. • Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user’s job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.
  3. 3. Agenda • OpenWhiskを⼀⾔でいうと? • 従来モデルとの⽐較 • OpenWhiskの動作 • OpenWhiskアーキテクチャ とその使い⽅ • ユースシナリオ • プログラミング・モデル • デモ • 最新情報 • まとめとQ&A 2
  4. 4. OpenWhisk* を⼀⾔で⾔うと „イベントに応答してコードを実⾏するイベント・アクション・プラット フォーム オープンソースとIBM Bluemix上のマネージドサービスとして提供 * whisk (動詞): きびきびと迅速に動作すること (source: merriam-webster.com)
  5. 5. OpenWhiskを⼀⾔で⾔うと サーバーレス のデプロイとオペレーション・モデル 実⽤的で細分化した価格体系 複数⾔語対応の柔軟なプログラミング・モデル オープン(Apache 2)対応 & オープン・エコシステム ⾼度なプログラミング構築(シークエンシングなど)をサポート イベント・プロバイダー向けオープン・インタフェース 要求ベースの拡張性 Scalaへのインプリ Docker, Kafka, Consul, …
  6. 6. OpenWhisk:従来モデルとの⽐較 Swift Application Container VMCF 2 Polling 1b Request 1a • 従来モデルとの⽐較 – イベント・プログラミング・モデルではロスする可能性 があるため、継続的にポーリング必要 – 実⽤性が低く、アイドル時も課⾦される – 拡張が困難 • 拡張のタイミング (メモリ、CPU、応答時間) • 拡張にかかる時間 – システム回復への⼼配 • HA構成のために最低2プロセス必要 (稼動コスト) • 複数地域での運⽤(稼動コスト) • 安定した継続運⽤ Process & idle
  7. 7. OpenWhisk: 従来モデルとの⽐較 • OpenWhisk – イベント・プログラミング・モデル – 使った分だけ⽀払い – 拡張が前提のしくみ • 要求あたり1プロセス – システム回復へのコスト⾯の無駄がない • HA構成のために⼤きな追加コストがない Pool of actions Swift DockerJS Trigger 1 Running action Running action Running action 3 ミリ秒単位でアクションを展開、実行、 リソースを解放 OpenWhisk Engine 2
  8. 8. OpenWhisk: アプリ構築の新しい⼿段… さまざまな環境に対応 はじめやすさ 管理の⾃由度 OpenWhisk イベント駆動型アプリ、サ ーバーレス環境に展開で きます。 Instant Runtime Cloud Foundryをベースと するアプリ中心のランタイ ム環境 IBM Containers OSの管理不要で移植可能 で一貫性のある、アプリの デリバリーを行います。 仮想環境 VMを使用して、環境に最 大限の柔軟性を持たせ、 環境を最大限にコントロー ルします。
  9. 9. OpenWhiskのアーキテクチャ Trigger Package Feed Package Feed Package Feed Package Feed REST CLI iOS SDK CRUD triggers, actions, and rules Invoke actions UI Action NodeJS Action Swift Action Docker Rule Rule Rule Action NodeJS Action Docker Service ecosytem Bluemix services 3rd party services Self-enabled services Chain Chain Invoke Docker (and potentially other abstractions going forward)
  10. 10. OpenWhiskの動作 } 1 イベント・プロバイダー OpenWhisk Cloudant Push Notifcations … … … データ・イベント発生 例 -Gitリポジトリのコミット -Cloudant上のCRUD操作 …. OpenWhisk動作と 連動するトリガー実 行 2 … JS Swift Docker …
  11. 11. OpenWhiskの動作 OpenWhisk JS Swift Docker … HTTPリクエスト 例 HTTP GET mynewcoolapp.com/customers 1 2 連携する OpenWhiskアクショ ン „getCustomers“ を起動 Browser Mobile App Web App 各種プログラミン グ言語
  12. 12. OpenWhisk: オープンソースの関係図 11 Controller …Invoker InvokerInvoker
  13. 13. Cloudant OpenWhisk: Bluemixの関係図 12 ELK-Stack soon Controller Integration Service soon …InvokerInvokerInvoker Monitoring soon
  14. 14. OpenWhisk: Dockerの利⽤ • アクションの分離 • コンテナごとに消費するリソースを超えて制御 13 A = wsk action invoke docker run ≈
  15. 15. OpenWhisk: コンテナーの開始 14 Start container docker run Initialize /init Run /run cold container
  16. 16. Start container docker run Initialize /init Run /run OpenWhisk: コンテナーの開始 15 pre-warmed container
  17. 17. Start container docker run Initialize /init Run /run OpenWhisk: コンテナーの開始 16 warm container
  18. 18. OpenWhisk: コンテナー開始の最適化 • パフォーマンスが最重要 17 cold container pre-warmed container warm container faster
  19. 19. ユースシナリオ • マイクロサービス・ベースのアプリ / API • モバイル・バックエンド • データ (ストリーム)処理 • IoT • コグニティブ • ボット
  20. 20. プログラミング・モデル • サービスがトリガーとして発⾏するイベントを定義し、開発者はルー ル経由でイベントを制御するためにアクションと組み合わせる。 • 開発者は必要なアプリケーション・ロジックのインプリに必要な作業だ け⾯倒を⾒ればよい - 残りはシステムが対応する。 T R A
  21. 21. プログラミング・モデル トリガー: „起動可能なイベント・クラス”T
  22. 22. プログラミング・モデル アクション: „イベント・ハンドラー、例 イベントに応答して実⾏さ れるコード A
  23. 23. プログラミング・モデル アクション: 柔軟性を⾼め、再利⽤を⽀援するためシークエンスを作 成するためにチェーン可能 A AA := A1 + A2 + A3 AB := A2 + A1 + A3 AC := A3 + A1 + A2
  24. 24. プログラミング・モデル ルール: „トリガーとアクションの組み合わせ“R R := T A
  25. 25. myAction myFeedT A プログラミング・モデル パッケージ: „ トリガーとアクションの集合P A forecast Open Source Yours Third Party translate languageId textToSpeechA A A databaseCreate documentRead ... changesT A A A Push Notifications sendMessage webhookT A webhookT postA Websocket sendA
  26. 26. デモ
  27. 27. 最新情報 • 9⽉9⽇ベータ版公開(実験レベルから前進) – サポート・プログラミング⾔語の追加Node 6、Pythonおよび プリリリース版Swift 3 – Dockerコンテナベースで構築したアクションのために改善されたモデル – ブラウザベースのUIで統合の編集、監視、構成が可能 – さまざまなプラットフォームへのバイナリCLIインストールの改善 – イベント・プロバイダーの統合: Cloudant、Github、IBM Push Notifications – Cloudant、Weather Company Data for IBM Bluemix、IBM Watson、Slack、IBM Push Notificationsおよびwebソケット⽤のプリビルドされ、すぐに利⽤可能なアクション – OSクライアント・アプリケーション⽤のSDK とサンプル・アプリ – Githubで興味深いオープン・ソースアプリが増加中 例 DarkVision (https://github.com/IBM-Bluemix/openwhisk-darkvisionapp) Skylink (https://github.com/IBM-Bluemix/skylink)
  28. 28. まとめ • OpenWhiskは… – コードに価値を追加するための開発に集中できます – provides you with a 柔軟なプログラミング・モデルを使って⼩さいアジ ャイルな開発チームで作業できます – オープン・コミュニティの部品を活⽤できます – 最新の抽象化とチェーニングを利⽤して、強⼒なソリューションと組み 合わせられます – これまでに作った部品の再利⽤や組み合わせが可能になります – 集中するタスクの負荷や計算をアウトソースできます – 使⽤した分だけ⽀払います – あなたも参加できるオープン・ソリューションとして供されます
  29. 29. まとめ – イベントに応答して、アクションが実⾏され、ブロックされるか、⾮ブ ロックされます – アクションはNode、SwiftまたはDockerコンテナー(今後も追加予定 )でカスタム・ロジックを実⾏できます – アクションは強⼒なソリューションを構成するためにチェーン可能です – Cloudant やGithubなどはスケジュールされたアクション同様イベント・ ソースからは独⽴してサポートされます – CLI、REST APIおよびiOS SDKのツールが利⽤できます • なくなるものは? 複雑さ!
  30. 30. OpenWhiskに参加してください • OpenWhisk お試しは • IBM Bluemix OpenWhisk offering • https://new-console.ng.bluemix.net/openwhisk/ – オープンソースのOpenWhisk • https://developer.ibm.com/openwhisk/
  31. 31. ⽇本でのOpenWhisk情報 • 「IBM Cloud Community 勉強会 - サーバーレス特集(OpenWhisk)- 」 10⽉3⽇(⽉)18:30-20:40開催@⽇本IBM 本社 懇親会あり http://softlayer.connpass.com/event/40309/ • IBM Bluemix OpenWhisk http://www.ibm.com/cloud-computing/bluemix/openwhisk/ • IBM Bluemix OpenWhisk⼊⾨ https://new-console.ng.bluemix.net/docs/openwhisk/index.html • IBM Swift Sandbox - Xcodeをインストールせず、Swiftコードのテスト が可能 https://swiftlang.ng.bluemix.net • IBM Swift KITURA - Swiftウェブアプリ開発プラットフォーム https://github.com/IBM-Swift/Kitura 30
  32. 32. Questions?
  33. 33. Notices and Disclaimers 32 Copyright © 2016 by International Business Machines Corporation (IBM). No part of this document may be reproduced or transmitted in any form without written permission from IBM. U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM. Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors. IBM shall have no responsibility to update this information. THIS DOCUMENT IS DISTRIBUTED "AS IS" WITHOUT ANY WARRANTY, EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF THIS INFORMATION, INCLUDING BUT NOT LIMITED TO, LOSS OF DATA, BUSINESS INTERRUPTION, LOSS OF PROFIT OR LOSS OF OPPORTUNITY. IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided. Any statements regarding IBM's future direction, intent or product plans are subject to change or withdrawal without notice. Performance data contained herein was generally obtained in a controlled, isolated environments. Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual performance, cost, savings or other results in other operating environments may vary. References in this document to IBM products, programs, or services does not imply that IBM intends to make such products, programs or services available in all countries in which IBM operates or does business. Workshops, sessions and associated materials may have been prepared by independent session speakers, and do not necessarily reflect the views of IBM. All materials and discussions are provided for informational purposes only, and are neither intended to, nor shall constitute legal or other guidance or advice to any individual participant or their specific situation. It is the customer’s responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customer’s business and any actions the customer may need to take to comply with such laws. IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law
  34. 34. Notices and Disclaimers Con’t. 33 Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products. IBM does not warrant the quality of any third-party products, or the ability of any such third-party products to interoperate with IBM’s products. IBM EXPRESSLY DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. The provision of the information contained h erein is not intended to, and does not, grant any right or license under any IBM patents, copyrights, trademarks or other intellectual property right. IBM, the IBM logo, ibm.com, Aspera®, Bluemix, Blueworks Live, CICS, Clearcase, Cognos®, DOORS®, Emptoris®, Enterprise Document Management System™, FASP®, FileNet®, Global Business Services ®, Global Technology Services ®, IBM ExperienceOne™, IBM SmartCloud®, IBM Social Business®, Information on Demand, ILOG, Maximo®, MQIntegrator®, MQSeries®, Netcool®, OMEGAMON, OpenPower, PureAnalytics™, PureApplication®, pureCluster™, PureCoverage®, PureData®, PureExperience®, PureFlex®, pureQuery®, pureScale®, PureSystems®, QRadar®, Rational®, Rhapsody®, Smarter Commerce®, SoDA, SPSS, Sterling Commerce®, StoredIQ, Tealeaf®, Tivoli®, Trusteer®, Unica®, urban{code}®, Watson, WebSphere®, Worklight®, X-Force® and System z® Z/OS, are trademarks of International Business Machines Corporation, registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at: www.ibm.com/legal/copytrade.shtml.
  35. 35. ServerlessConf Tokyo 2016 Thank You