O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

OpenWhiskを使ってみた

1.583 visualizações

Publicada em

OpenWhiskを使ってみた時の感想を記述

Publicada em: Tecnologia
  • Seja o primeiro a comentar

OpenWhiskを使ってみた

  1. 1. OpenWhiskを 使ってみた 2017年9月6日
  2. 2. 1 自己紹介  氏名 福垣内 孝造(ふくがうち こうぞう)  所属 アクセンチュア株式会社 テクノロジーコンサルティング本部 シニアプリンシパル ソフトウェア会社に7年間勤務  担当領域 ✓ クラウドベースのシステムインテグレーションのテクニカルアーキテクチャ設計・構築 ✓ Web系Custom Developmentアプリケーション開発リード ✓ OSSをベースとしたシステムインテグレーションのソリューション、アプリケーション構築の推進、 テクニカルレビュー ✓ 最近では、マイクロサービス・API、Hadoop・Spark、DevOpsの領域も担当
  3. 3. 2 OpenWhiskとの出会い クラウドの新しいテクノロジーとして、「サーバレスアーキテクチャ」を調べている時に、AWSのLambda、 AzureのFunctionsと一緒にIBMのOpenWhiskを紹介されました。昨年、IBMの方に勉強会を開催し て頂いたにも関わらず、勉強会に参加できませんでした。 ⇒申し訳ないと思い、独学で学んだのが始まりです。 Trigger 1 Running action Running action Running action 3 Deploy action within millisecs, run it, free up resources OpenWhisk Engine 2 Pool of actions Swift DockerJS Python Java*
  4. 4. 3 OpenWhiskの特徴 • イベントプログラミングのモデル • Bluemixでは、利用量に応じた課金体系 • リクエストで1プロセス起動するので、スケールアウトがプロセス単位 • 高可用性に対して、オーバヘッドコストが不要 • サーバレス環境へのデプロイメントと運用モデル • 柔軟なプログラミングモデルとツール。Swiftを含む複数言語のサポートと、Dockerコ ンテナベースのカスタム実行環境。 • オープンな技術と豊富なエコシステム。ベンダーロックインを避けるように標準的なテクノ ロジーを採用 OpenWhiskには、以下の特徴があります。
  5. 5. 4 他のサービスとの比較 • オープンソース版も提供 GitHubにあるIBM OpenWhiskは、Apache 2.0ライセンスで提供されている。AWSのLambda、 GoogleのCloud Foundationsはオープンソース版がない。AzureのFunctionsの一部の機能が、 Azure stackに含まれている。 • Swiftプログラミング言語をサポート JavaScriptに加えて、Swiftも動作サポートをしている。AWSのLambdaだと、Java、JavaScript、 Python、C#がサポート対象。 • 統合コンテナーをサポート OpenWhiskのアプリケーションは、Docker上で動作するので、Dockerで動けば載せることができる。 AWSやGoogleでは、クラウドベンダーがサポートする形式でしか動作しない。 • コグニティブのWatsonへの容易なアクセス OpenWhiskからWatsonのサービスへ容易にアクセス可能。 • ローカル環境で動作検証可能 最初にローカル環境で動作確認し、Bluemix環境へ移行することが可能。AWSやGoogleは、クラウ ド環境でしか動作確認できないので、最初からクラウドを利用した開発プロセスが必要。 OpenWhiskは、標準的なOSSの技術を組み合わせており、サービスの制約なくアプリケーションを開発する ことが可能なプラットフォームです。
  6. 6. 5 OSS版のOpenWhisk OpenWhiskには、Apache 2.0ライセンスのOSS版があり、ローカル環境にインストールすることが可能で す。AWSやAzureなどのパブリッククラウド上にOpenWhiskをインストールして使うことができます。  GitHubから簡単にダウンロードでき、イ ンストールも簡単に行える。  JavaやDockerは、比較的新しいバー ジョンが使われている。  サーバやインスタンスのスケールアップでも 性能を改善できる。  サーバ上で実際に動いているものを、 UNIXコマンドで精査することができる。  細かいパラメータを設定できる。  Ubuntuにインストールする場合、サポー トしているUbuntuのバージョンは 14.04.03 LTSと古め。  モジュールに割と頻繁にアップデートが入 り、仕様が変わる。  ローカル環境でサポートしているデータ ベースは、CouchDBのみ。  Bluemix版のような画面がなく、wskコ マンドか、RESTのAPIで操作する。 良かった点 悪かった点
  7. 7. 6 プログラミングモデル T A R R := T A AA := A1 + A2 + A3 Social events Data changes Device readings Location updates User input Action : is a piece of code that runs on OpenWhisk Triggers: A class of events emitted by event sources. Rules: An association between a trigger and an action. OpenWhiskでは、①Action②Triggers③Rulesの3つの組み合わせでプログラミングします。
  8. 8. 7 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 API Gateway • 利用可能な Packages – Cloudant – Alarm – Weather – Watson – Slack – GitHub – Push OpenWhiskは、Packageや外部からのイベントに対して、ルールに従い、ActionをDocker上で起動・実 行する形を取っています。
  9. 9. 8 Ease of getting started Full stack Control OpenWhisk イベントドリブンアプリ ケーション。サーバレス の環境にデプロイ Instant Runtimes Cloud Foundry ベースのアプリケーショ ンランタイム環境 IBM Containers OSのマネージなしで ポータビリティ高い環 境にデリバリー Virtual Machines VM上で、柔軟にコン トロールできる環境で システム構築 メジャーなオープンソースを基盤としたプラットフォーム上において、アプリケーションを適材適所で稼働するよう になります。ポータビリティの高い技術により、クラウド移行に懸念がある場合でも、まずはローカル環境で試し、 時期をみてクラウドへ移行することもできます。 OpenWhiskを含めたプラットフォーム戦略
  10. 10. 9 OpenWhiskのユースケース モバイルアプリケーションなど、フロン トからのイベントを使ったWebや IoTのアプリケーションのサーバ側の 処理で利用 Digital app workloads Big Data/Analytics pipeline ビッグデータやアナリティクスの複 雑なデータパイプラインで、スト リーミングやニアリアル処理内の データ加工、分析・フィードバック のための処理で利用 DevOps & infrastructure as code ビルドやステージングの完了、Go- live等のイベントや、ChatOpsの コメントをトリガーとしたDevOpsの パイプラインの中で利用 Micro-Services builder マイクロサービスのように、粒度 が小さく、イベントをトリガーとし て起動→実行させるようなア プリケーションで利用 イベントドリブン型の処理で、比較的粒度の小さいアプリケーションに対して、OpenWhiskを活用することが できます。

×