More Related Content Similar to 今更ながらの「マイクロサービス」 (20) More from Hideaki Tokida (20) 今更ながらの「マイクロサービス」2. 0 ) 0 r e
4 0 0
0
• k dinp ah
• m U A IH
M TA @lc
sxu
• O U o
• @ . ( O
• 40 lc !
• tCG BW
• 0 4 4
¥30
6 4 1/0 2:
-
89 73
24. 継続的デリバリ
• Continuous Delivery を⾏うための Build Pipelineを作ることが出来るツー
ル郡が⽤意されている。
• Build Pipelineではコードがコミットされたことを検出し、コードをチェッ
クアウトしビルド・テストそしてデプロイすることが出来る。
• 標準のBuild Pipelineでは、Cloud Foundry Application , Kubernets
ContaienrをBluemix環境にDeployするための設定がプリセットされている
ためすぐにでも継続的デリバリを始めることが出来る
27. 成果物 成果物
Bluemix Platform
(CF or Kubernnets)
Deploy
コンテナ
コンテナ コンテナ
Buildpack
App
OS
App
OS
App
ホスト
カーネル
VM
成果物はそれぞれの⽅式
で適切に配置される
Bluemixにおける購⼊単位
29. より⼩さい機能の提供
• Function as a Serviceとしての IBM Cloud Functions (旧OpenWhisk)
• 主な2つの機能
• イベント駆動型
• あるサービスの変化(イベント)に応じて処理が実⾏される(状態変
化を監視するプログラム無しで実⾏される)現⾏では
CloudantNoSQL、MessagingHubなどと連携可能
• 関数型
• シンプルなリクエスト/レスポンス型の処理が実⾏される。特に
Function as a Serviceの場合には処理(具体的には、⾔語のFunction
部分)のみを記述することで動作する
• クラウドらしい料⾦体系
• 実⾏した回数、実⾏時間、実⾏時のメモリで課⾦がされる。
https://github.com/IBM/openwhisk-serverless-apis
31. マイクロサービス間の連携
PHP
API
•Cloud Foundry, Cloud Functions のアプリケーションは、標
準でAPI保護機能を持っている。(ワンクリックでAPIのみを公
開する⽤に定義することが出来る)
•API Managementの機能はシンプルだがSwaggerをサポート
しておりスモールスタートとしては⼗分の機能を備えている
Golang
API
API
•Coustom API (Service) の機能を利⽤すると、アプリケーショ
ンからアプリケーションへ接続するための情報を環境変数として
引き渡すことが出来る。(Bluemix上のサービスのように振る舞
う。ここでは実体はなくVCAP_SERVICESのやり取りのみ)
•任意の値をJSONで引き渡すことが可能。
32. 認証
• Cloud Foundry , Cloud Functions では API Managementの機能を利⽤
するとAPIキー発⾏の機能やOAuth連携を有効にすることが出来る。
• より⾼度な認証・認可のためにAPI Connectを利⽤することも可能。個々
のアプリケーションの認証のためには Single Signon サービスが提供さ
れている。
• (現⾏のBluemixでは発⾏されたAPIキーの操作ログを取得するサービスが
提供されていないので監査⽬的の場合にはリクエストを受ける側などで実
装が必要 or IBM Cloud Active Tracker)
37. 参考⽂献
書籍
1. マイクロサービスアーキテクチャ OʼReilly Japan / Sam Newman
2. プロダクションレディ マイクロサービス OʼReilly Japan / Susan J.Fowler
3. エリック・エヴァンスのドメイン駆動設計 (IT ArchitectsʼArchive ソフトウェア開発の実践)
Web上の情報
• Microservices https://www.ibm.com/devops/method/content/architecture/
microservices/2_0
• The Twellve Factor Apps(⽇本語)https://12factor.net/ja/