クラウドの安全利用を促進するための 制度設計と運用設計 · クラウドの安全利用を促進するための 制度設計と運用設計 渡辺慎太郎/サイバーセキュリティ推進部
クラウドが拓いたITの進化
-
Upload
rasmus-ekman -
Category
Technology
-
view
732 -
download
0
Transcript of クラウドが拓いたITの進化
クラウドが拓いたITの進化APIによるクラウドネイティブとAPIエコノミー
CTOクラウド事業統括⽇本アイ・ビー・エム
エクマン ラスムス
© IBM Corporation 2© IBM Corporation 2
⾃然選択説によるITの進化⾃然選択説とは、進化を説明するうえでの根幹をなす理論。厳しい⾃然環境が、⽣物に無⽬的に起きる変異(突然変異)を選別し、進化に⽅向性を与えるという説。1859年にチャールズ・ダーウィンとアルフレッド・ウォレスによってはじめて体系化された。
© IBM Corporation 3
text
ITインフラは時代と共に進化
VM
+
VM
+
オンプレ オンプレ+仮想化 クラウド+仮想化
© IBM Corporation 4
text
この進化を駆動したのは?
オンプレ
VM
+オンプレ+仮想化
VM
+クラウド+仮想化
• 第一ブーム• オンプレの稼働率を上げる為、OSレベルで仮想化し、下の物理ハードウェアとOSを切り離す
• サーバの物理運⽤に変わりがない• 第二ブーム
• 第⼀ブームでHWとOSを切り離し、物理そのものを⾃分で持たなくなる時代に。
• サーバー調達などをAPI経由で⾏う• HW補修など不要になる• 従量課⾦性に変わる• 規模の経済で安価に運⽤が可能
© IBM Corporation 5
text
仮想化≠クラウドネイティブ
VM
• この⻑年⼀般的なシステムの基本設計はほとんど変わっていない• アプリケーション、ミドルウェア、リレーショナルデータベース、OS
• OSレベルから仮想化したとしても、従来のデータセンターでの運⽤とほとんど変わらない• OSのパッチやアップデート• ミドルウェアの設定• データベース運⽤と構築• などなどなど・・・
• 仮想化しただけで、本物のクラウドと程遠い・・
アプリ
MW
DBMS
OS
© IBM Corporation 6
text
本物のクラウドクラウドネイティブとマイクロサービス思考
ア
プ
リ
MW
DBMS
OS
アプリ
MW
DBMS
OS
アプリ
MW
DBMS
OS
アプリ
MW
DBMS
OS
アプリ
データベース
ストレージ
従来型(モノリシック) Cloud-Native (マイクロサービウ型)
スケーリングさせる場合(物理ノード単位でのスケール化)
スケーリングさせる場合(個々のサービスが⾃動的にスケール)
アプリ
データベース
ストレージ
その他
個々のサービスの⼊れ替え、変更による
機能変更への対応
© IBM Corporation 7
text
本物のクラウドマイクロサービス化
アプリ
データベース
ストレージ
Cloud-Native (マイクロサービウ型)
• 本物のクラウドに必要な要素
• 機能毎にサービス• 各サービスが柔軟にスケールすること
• 従量課⾦性• 疎結合• フルマネージド
© IBM Corporation 8
text
クラウドネイティブマイクロサービス化
アプリ
データベース
ストレージ
VM
+
クラウド+仮想化
コグティニティブ
外部API
クラウド+マイクローサービス
得意領域:ERP, CRM, メールサーバなど
得意領域:ビッグデータ、ウェブ、IoTやモバイル
© IBM Corporation 9© IBM Corporation 9
IBMクラウドはハイブリッド、かつオープン各フェーズやワークロードを対応できる仕組み
© IBM Corporation 10
ハイブリッド+マイクロサービス=IBM Cloud
VM
オンプレベアメタル ベアメタル 仮想サーバ
+ IaaSPaaS
Local Dedicated Public
API
コグニティブ アナリティクス オープンデータ IoT 外部API など
© IBM Corporation 11
IBMが提供するマイクロサービスプラットフォーム– たった1年すでに132以上のサービスとAPIが正式リリース– IBM提供、サードパーティとコミュニティの3種類
DB+分析IoT
ウェブアプリ
モバイルセキュリティ
連携DevOps
Watson
画像解析
⾳声認識
トレードオフ
性格解析
翻訳
Twilio
プッシュ通知
品質管理
モバイルSDK
モバイルセキュリティ
モバイルアクセス
オートスケール
New Relic
監視
アジャイルJMeter
Ustream
ビジネウプロセス
キャッシュ
MQ Light
セッションキャッシュ
ワークフロー
スケジューラ
RabbitMQ
Sendgrid
エンタープライズ固定IP
API管理
オンプレ連携
Hadoop
Spark
CloudantNoSQL
DWH
ElasticSearch
Geo
MongoDB
PostgreSQL
Redis
脆弱性分析
SSO
IoT
© IBM Corporation 12
IBMが提供するマイクロサービスプラットフォーム– お客様のデータセンター内にあるサービスやデータももちろんAPIとして登録することが可能です。• 課⾦するサービスとして⼀般公開もOK• 社内限定のプライベートAPIとして登録もOK
DB+分析
IoTウェブアプリモバイルセキュリテ
ィ連携DevOp
s
Watson
画像解析
⾳声認識
トレードオフ
性格解析
翻訳
Twilio
プッシュ通知
品質管理
モバイルSDK
モバイルセキュリテ
ィ
モバイル
アクセス
オートスケール
New Relic
監視
アジャイルJMeter
Ustream
ビジネウプロセス
キャッシュ
MQ Light
セッションキャッシュ
ワークフロー
スケジューラ
RabbitMQ
Sendgrid
エンタープライズ固定IP
API管理
オンプレ連携
Hadoop
Spark
CloudantNoSQL
DWH
ElasticSearch
Geo
MongoDB
PostgreSQL
Redis
脆弱性分析
SSO
IoT
オンプレや他社クラウドなど 既存システムの機能
ERPなどに⼊っているデータ
© IBM Corporation 13
マイクロサービスを⽤いた設計の具体例
オンプレ
ERPから社員データ(電話番号) API構築
API公開他のアプリに公開
特定の社員に電話をかけ、文章を読み上げるサービス
API消費
• オンプレからREST APIで電話番号を引き出す
• Watson speech to textでインプットされた文章を読み上げる
• Twilioで電話をかける
• 安否確認• 経費申請の承認連絡• 来客連絡の自動知らせ• などなど
© IBM Corporation 14© IBM Corporation 14
つまり、APIを使って新しいビジネスを⽣み出しています。API提供側と消費側、両⽅があって経済圏(エコノミー)が成⽴します。
© IBM Corporation 15
text
銀⾏で例えるAPIエコノミー–APIで銀⾏の機能(サービス)やデータを提供することにより、新しい
ビジネスを⽣み出すのがAPIエコノミー
APIエコノミー
決済残⾼照会
為替レート参照振込
銀⾏
B2Bパートナー
ウェブサイト
スマートフォン
タブレット
スマートテレビ
ゲーム機
スマートカー
コネクテッド家電
などなど・・
\
サービスやデータ
例:通販サイトに決済機能をAPIで提供し、決済ごとに⼿数料をいただく
例:残⾼データを家計簿アプリに提供し、利便性やUXを向上
例:経費管理アプリに為替レートをAPIで提供し、⽉料⾦をいただく
例:⾞が最寄りATMにガイドができるようにATM位置情報をAPIで提供
© IBM Corporation 16© IBM Corporation 16
APIを使って新しいビジネスに挑戦したくなったら・・
API構築と管理の話
© IBM Corporation 17
API構築フレームワークも進化している
http://www.slideshare.net/ShubhraKar/nodejs-frameworks-design-patterns-webinar
© IBM Corporation 18
Loopbackとは・・
http://www.slideshare.net/ShubhraKar/nodejs-frameworks-design-patterns-webinar
© IBM Corporation 19
コネクターも豊富なフレームワーク
http://www.slideshare.net/ShubhraKar/nodejs-frameworks-design-patterns-webinar
© IBM Corporation 20
LoopbackはNode.JSでできている
http://www.slideshare.net/ShubhraKar/nodejs-frameworks-design-patterns-webinar
© IBM Corporation 21
なぜNode.JSが流⾏ってきているか
Node.JSが• ⾮常に速い(並⾏処理に向いている)• 軽い• API構築に向いている• JavascriptとJSONである
http://www.slideshare.net/ShubhraKar/toronto-node-jsmeetup
© IBM Corporation 22
Node.JSが⼤⼿にでも急成⻑
製造業 ⾦融 EC メディア テック
http://www.slideshare.net/ShubhraKar/toronto-node-jsmeetup
© IBM Corporation 23
なんでNode.JSやLoopbackの話をしているのか?
=Node.JSのメインコミッターであるStrongloopを昨年買収し、
エンタープライズにおけるNode.JSでのAPI構築とデザイン機能がIBMクラウドのラインアップに加わった
© IBM Corporation 24
マイクロサービスを⽤いた設計の具体例
オンプレ
ERPから社員データ(電話番号)
API構築 API公開他のアプリに公開
API消費
?
© IBM Corporation 25
APIを公開するならIBM API ManagementDeveloper Portal API Manager Management Console
APIを定義し管理するAPI利⽤状況を分析APIユーザコミュニティを管理する
システムリソース管理リアルタイム監視環境をスケールする
API Gateway ランタイムポリシーを制御し、API通信をコントロールする
Welcome to the API Portal
=
APIドキュエメントを読んだりAPIキーをプロビジョンしたりフォーラムなどでAPIの使い⽅を議論したり
© IBM Corporation 26
IBMクラウドでAPI構築と管理のまとめ
© IBM Corporation 27
One more thing…
APIの管理• セキュリティ• API公開• 認証など
APIの構築• 実⾏環境• 迅速な開発• などなど
DataPower
+ =APIライフサークルを
端から端まで
© IBM Corporation 28© IBM Corporation 28
API Connectのご紹介
© IBM Corporation 29
IBM API Connect: APIライフサークル全体をカバーAPI Connectとは?
統合されたAPIの構築機能、実⾏環境、管理とセキュリティ機能を使いやすいサービスです。エンタープライズでのAPIエコノミープロジェクトやインフラのマイクロサービス化に向いているものです。
API Connectが具体的に何をやってくれるか?• UIからビジャレアルで、またはコードでAPI構築• Node.jsとJavaでMicroservicesを構築することが可能• Node.jsとJavaのエンタープライズグレードのクラスタリング、
管理やセキュリティの担保をしてくれます• APIのライフサイクルとガバナンスを管理• 課⾦設定や利⽤権限などのAPIの管理• API利⽤分析(⾼度アナリティクス)• カスタマイズができるデベロッパーポータル
Create Run
ManageSecure
© IBM Corporation 30
システムAPIとインターラクションAPIの違い
システムAPI:SoRシステムのペイロード(データ)を編集せずに、そのまま流す
インターラクションAPI:⼀つ、または複数のシステムAPIを呼び出し、何かのロジックでペイロードを返す。
新しいアプリからの再利⽤が主な⽬的。
App
ESB
System API
WebService
System API
TH GSINwww
Interaction API
© IBM Corporation 31
すでにAPIを持っている場合にでもAPI管理が重要
多くの企業ではすでにAPIができていて、公開できる準備が整っています。
ソフトウェアベンダーが既存のソフトにAPI対応し、SoRと直接APIでやりとりができます。いわゆるSystem API。
System API System API
ESB
WebService
System API
公開するための管理とセキュリティ機能でアセットを守る
企業のデータを守るために管理とセキュリティが必要:
どこで公開する?誰が使ってもいい?どれのアプリが接続してもいい?課⾦するならいくら?スロットルをかけるか?などなど・・・
対
WebService
System API
ManageSecure
System API
ManageSecure
System API
ESB
ManageSecure
© IBM Corporation 32
管理だけではなく、APIの構築とデザインも重要
APIは⼩さなあぷりである
似たようなライフサイクル: アプリ開発感覚に近い感じでライフサイクルとバージョン管理などスケーラビリティ要件が違う: 公開するAPIがクラウドの世界にいて、ウェブスケールがもとめられる。無限にスケールするAPIの実⾏環境が必要。
インターラクションAPIには構築と実⾏が必要
既存のシステムAPIを呼び出し、結果を受け取りあるロジックを実⾏し編集結果を返す。
Create
Debug
Test
Run
Cluster
ScaleSecure
Monitor
Version
Maintain
Retire
Create Run
© IBM Corporation 33
API Connectがモダーンなモバイルとウェブアプリを⽀える
既存のシステムAPIを裏のシステム構造とな系なく公開
Microservice App
Or新しいインターラクションAPIを構築、実⾏、管理とセキュリティを担保
Node.jsまたはJavaで新しいマイクロサービスを構築 Web
Service
System API
ManageSecure System API
ManageSecure
System API
ESB
ManageSecure
System API
ManageSecure
System API
ManageSecure
IBM z
System API
ManageSecure
Interaction API
ManageSecure
Create Run
ManageSecure
Create Run
© IBM Corporation 34
API Connect: APIライフサイクルの端から端まで
すべてのコンポーネントが連携されていて、設定変更などはすぐにすべてのコンポーネントに反映される仕組み。例えば、API定義を変えた場合、デベロッパーポータル内のドキュメントが⾃動的に編集される。
パフォーマンス最適化のためのデプロイ、監視とスケール機能が⽤意
UIがすべてのコンポーネントで統⼀されて、ユーザビリティが⾼い
Gateway
API Manager
Advanced Developer
Portal
Runtime Manager
Or
Microservice App
Runtime
{ API }
API Spec
© IBM Corporation 35
マイクロサービスを⽤いた設計の具体例の振り返り
オンプレ
ERPから社員データ(電話番号)
API構築 API公開他のアプリに公開
API消費
© IBM Corporation 36© IBM Corporation 36
まとめ
© IBM Corporation 37
まとめ
アプリ
デー
タベース
スト
レージ
コグティニティブ
外部API
クラウド+マイクローサービス
❶クラウドネイティブが
デファクトになりつつあり
❷APIを使って新規ビジネス
を⽣み出すAPIエコノミーも流⾏ってきている
❸IBMのクラウドでは
APIエコノミーに参⼊する為の業界トップのサービスを提供
© IBM Corporation 38© IBM Corporation 38
APPENDIX
© IBM Corporation 39
具体的なマイクロサービスESB例
© IBM Corporation 40
New Intuitive Interface
Create. Run. Manage. Secure.
Modernized user experience to reduce complexity, improve performance and allow quicker creation, management, and enforcement of APIs
Comprehensive API SolutionEnd-to-end integrated experience across API lifecycle - create, run, manage, secure, socialize & analyze APIs through a single offering on-premise, in the cloud or hybrid
Create & Run APIs & MicroservicesRapidly create Microservices, connect to data sources, and expose them as REST APIs via model-driven approach. Run Node.js & Java runtimes via unified operations & management
First Class Developer ExperienceEmpower developers to create and test APIs locally on their laptops in minutes and stage it to on-premise or cloud deployment
Built-in Assembly UX & PoliciesUse a visual tool to compose API policy flows & utilize new built-in policies to secure, control & optimize API traffic without writing custom code or touching the gateway
Developer ToolkitEnable automated scripting & DevOps automation through a command line environment for defining, managing & deploying APIs
開発部⾨ユーザ部⾨
発表2/16/2016
リリース3/22/2016
バージョン5.0
© IBM Corporation 41
IBM API Connect: Capabilities Delivered
• API discovery• API, Plan & Product policy creation• API, Plan & Product lifecycle mgmt.• Self-service, customizable, developer
portal• Advanced Analytics• Subscription & community mgmt.
• Policy enforcement• Enterprise security• Quota management & rate limiting• Content-based routing• Response caching, load-balancing
and offload processing• Message format & transport protocol
mediation
• Rapid model-driven API creation• Datasource to API mapping automation• Standards-based visual API spec
creation in Swagger 2.0• Local API creation and testing• On-cloud & on-premises staging
of APIs, Plans & Products
• Node.js & Java Microservice runtime• Node.js & Java integrated runtime
management• Enterprise HA & scaling• On-cloud & on-premises staging of
Microservice applicationsCreate Run
ManageSecure
©2015 IBM Corporation