This article summarizes the concept of service granularity in microservices development and how to integrate between divided services. It also includes how Red Hat's product suite can be used.
The document provides information about an AWS webinar on AWS Systems Manager presented by Solutions Architect Kayoko Ishibashi. It includes an agenda for the webinar covering an overview of AWS Systems Manager, demonstrations of key features like resource groups, inventory, automation, and security best practices. The webinar aims to help participants understand the overall capabilities of AWS Systems Manager and how it can be used to securely manage and operate AWS environments and hybrid environments at scale.
This document discusses messaging queues and platforms. It begins with an introduction to messaging queues and their core components. It then provides a table comparing 8 popular open source messaging platforms: Apache Kafka, ActiveMQ, RabbitMQ, NATS, NSQ, Redis, ZeroMQ, and Nanomsg. The document discusses using Apache Kafka for streaming and integration with Google Pub/Sub, Dataflow, and BigQuery. It also covers benchmark testing of these platforms, comparing throughput and latency. Finally, it emphasizes that messaging queues can help applications by allowing producers and consumers to communicate asynchronously.
The document provides information about an AWS webinar on AWS Systems Manager presented by Solutions Architect Kayoko Ishibashi. It includes an agenda for the webinar covering an overview of AWS Systems Manager, demonstrations of key features like resource groups, inventory, automation, and security best practices. The webinar aims to help participants understand the overall capabilities of AWS Systems Manager and how it can be used to securely manage and operate AWS environments and hybrid environments at scale.
This document discusses messaging queues and platforms. It begins with an introduction to messaging queues and their core components. It then provides a table comparing 8 popular open source messaging platforms: Apache Kafka, ActiveMQ, RabbitMQ, NATS, NSQ, Redis, ZeroMQ, and Nanomsg. The document discusses using Apache Kafka for streaming and integration with Google Pub/Sub, Dataflow, and BigQuery. It also covers benchmark testing of these platforms, comparing throughput and latency. Finally, it emphasizes that messaging queues can help applications by allowing producers and consumers to communicate asynchronously.
This document provides information about an AWS webinar on AWS Step Functions hosted by Yuta Imamura from Amazon Web Services Japan. The agenda includes an overview of Step Functions, state machines, data input and output, describing states, checking execution status, and additional details. Step Functions allows orchestrating distributed applications and microservices using state machines defined in Amazon States Language (ASL). States can pass data and parameters between each other to synchronize processes.
This document compares Apache Kafka and AWS Kinesis for message streaming. It outlines that Kafka is an open source publish-subscribe messaging system designed as a distributed commit log, while Kinesis provides streaming data services. It also notes some key differences like Kafka typically handling over 8000 messages/second while Kinesis can handle under 100 messages/second.
The document provides an overview of an AWS webinar on CloudFormation that will cover:
1) An introduction to CloudFormation and how to get started with it.
2) Development, testing, deployment, and operation methods for CloudFormation.
3) The webinar is intended for those new to CloudFormation or already using it to learn about useful CloudFormation features and efficient automation methods in 2020.
This document provides information about an AWS webinar on AWS Step Functions hosted by Yuta Imamura from Amazon Web Services Japan. The agenda includes an overview of Step Functions, state machines, data input and output, describing states, checking execution status, and additional details. Step Functions allows orchestrating distributed applications and microservices using state machines defined in Amazon States Language (ASL). States can pass data and parameters between each other to synchronize processes.
This document compares Apache Kafka and AWS Kinesis for message streaming. It outlines that Kafka is an open source publish-subscribe messaging system designed as a distributed commit log, while Kinesis provides streaming data services. It also notes some key differences like Kafka typically handling over 8000 messages/second while Kinesis can handle under 100 messages/second.
The document provides an overview of an AWS webinar on CloudFormation that will cover:
1) An introduction to CloudFormation and how to get started with it.
2) Development, testing, deployment, and operation methods for CloudFormation.
3) The webinar is intended for those new to CloudFormation or already using it to learn about useful CloudFormation features and efficient automation methods in 2020.
49. Ver1.0
LinkedIn と Netflix の「アクティビティデータ」
非同期型 + イベント
ユーザーの操作に着目したドメインイベント
Activity data is one of the newer ingredients in internet systems.
アクティビティデータは、インターネットシステムの新しい要素の
一つです。
具体的には、どのコンテンツを見たのか 、あるいは見なかったのか 、どのくらい
の速度で見たのか 、どのデバイスで見たのか 、1日のいつ見たのか といったこと
です。夜見たいものと昼に見たいものでも変わってきますから。
70. Ver1.0
Red Hat Change Data Capture with Debezium
Debezium
72
チェンジデータキャプチャ プラットフォーム
▸ 複数のデータベース向けのチェンジデータキャプチャ
▹ トランザクションログベース
▹ スナップショット, フィルタリング etc.
▸ オープンソース, 非常に活発なコミュニティ
▸ Latest version: 1.6
▸ 複数の企業で本番環境にデプロイ済み
(例. WePay, JW Player, Convoy, Trivago, OYO, BlaBlaCar
etc.)
▸ Apache Kafka の Kafka Connect(Source) を利用
71. Ver1.0
Debezium の特徴
Red Hat Change Data Capture with Debezium
▸ すべての変更がキャプチャされる
▸ ポーリングの遅延・オーバーヘッドがない
▸ アプリケーション・モデルの記述がシンプルに
▸ DELETE もキャプチャ
▸ 古いレコードの状態を含むメタデータをキャプチャ
72. Ver1.0
Red Hat Change Data Capture with Debezium
チェンジイベント
REST API
DB Adapter
Inventory サービス
REST API
Catalog サービス
REST API
DB Adapter
Marketing サービス
バイヤー
取り扱い商品の追加
バイヤー用UI
①取り扱い商品の追加
イベントストア
DB Adapter
Notification サービス
Mail Adapter
マーケティング
在庫
Event
Consumer
Mail Server
Log Miner
73. Ver1.0
REST API
DB Adapter
Inventory サービス
Event
Consumer
Red Hat Change Data Capture with Debezium
これまで登場したサービスの全体像
EC サイトを構成する一部のサービスのみ (支払いや配送などが不足 )
REST API
DB Adapter
Catalog サービス
Event
Publisher
Event
Consumer
バイヤー
EC サイト
UI サービス
バイヤー用UI
API Gateway
Mobile
REST API
DB Adapter
Marketing サービス
Event
Consumer
Notification サービス
Event
Consumer
Mail Adapter
イベントストア
ユーザー
Mail Server
マーケティング マーケ用UI
在庫 在庫用UI
▸ API を外部公開して収益化したい
▸ API ごとに認証・認可をかけたい
▸ API を顧客や利用ユーザーごとに流量制御したい
77. Ver1.0
REST API
DB Adapter
Inventory サービス
Event
Consumer
Red Hat 3scale API Management
これまで登場したサービスの全体像
EC サイトを構成する一部のサービスのみ (支払いや配送などが不足 )
REST API
DB Adapter
Catalog サービス
Event
Publisher
Event
Consumer
バイヤー
EC サイト
UI サービス
バイヤー用UI
API Gateway
Mobile
REST API
DB Adapter
Marketing サービス
Event
Consumer
Notification サービス
Event
Consumer
Mail Adapter
イベントストア
ユーザー
Mail Server
マーケティング マーケ用UI
在庫 在庫用UI
82. Ver1.0
OpenShift
Container
Platform
REST API
DB Adapter
Inventory サービス
Event
Consumer
Red Hat OpenShift
これまで登場したサービスの全体像
EC サイトを構成する一部のサービスのみ (支払いや配送などが不足 )
REST API
DB Adapter
Catalog サービス
Event
Publisher
Event
Consumer
バイヤー
EC サイト
UI サービス
バイヤー用UI
API Gateway
Mobile
REST API
DB Adapter
Marketing サービス
Event
Consumer
Notification サービス
Event
Consumer
Mail Adapter
イベントストア
ユーザー
Mail Server
マーケティング マーケ用UI
在庫 在庫用UI
83. Ver1.0
Red Hat OpenShift Service Mesh
[1] Kiali : https://github.com/kiali/kiali
サービスグラフ
Istio + Kiali [1] on Kubernetes
84. Ver1.0
Red Hat OpenShift Service Mesh
Jaeger : https://www.jaegertracing.io/docs/1.21/
分散トレーシング
Istio + Jaeger [1] + Kiali on Kuberenetes
85. Ver1.0
Red Hat OpenShift Service Mesh
サーキットブレーカー
Istio on Kubernetes の一機能
データベース
アダプタ
REST API
アプリケーション
ドメイン
モデル
API 呼び出し
Proxy Proxy
データベース
アダプタ
REST API
アプリケーション
ドメイン
モデル
▸ Istio が Kubernetes 上に Pod 展開する際に
Proxy を注入
▸ Pod 間の通信は Proxy 経由に
▸ アプリケーション側のコーディングが不要
▸ サービスに障害が発生すると Proxy が代わり
にエラーを返却
▸ Istio はサーキットブレーカーの他に以下の機
能を有する
▹ 負荷分散
▹ リクエストルーティング
▹ 流量制御
■ カナリアデプロイを実現
▹ タイムアウト / 再送回数決定
▹ フォールトインジェクション
(障害の注入)
Pilot Citadel Galley
Kubernetes の Pod Kubernetes の Pod
100. OPENSHIFT
OpenShift Serverless
SERVING EVENTING
Red Hat Enterprise Linux CoreOS
Physical Virtual Private cloud Public cloud
Applications Events
F
FUNCTIONS
Knativeの機能を
パッケージ化して拡張し、オ
ペレーターがインストールし
て管理
Red Hat Serverless
101. ✓ OpenShift Service Mesh
Support [doc]
■ Support for JWT
Auth[doc]
■ Custom Domains for
Knative Services[doc]
✓ OpenShift Pipelines
Templates and Tasks
✓ CLI Commands for
Eventing
Red Hat Serverless
Configuration
Revision 1
Revision 2
Revision 3
Routes
Directs
traffic
Functions
Microservices
Containers
Service Mesh Serverless Pipelines
102. Eventing
■ Brokers
✓ Built-in Event Filtering
✓ Routing based on event types or attributes
✓ Multiple event types
✓ Multi-tenant
■ Channels
✓ Event Fanout to multiple subscribers
✓ Same event type
✓ Single-tenant
Generally Available
Coming with OpenShift Serverless 1.11
106. Ver1.0
Red Hat Fuse / Camel K
https://tomd.xyz/camel-tutorial/
Apache Camel
Apache Camelは、Javaの配管ツールキットのようなものと考えることができます。実際の配管のよう
に、Camelはある地点からデータを受け取り、別の地点にパイプで送ります。その過程で、データを変
更したり、変換したり、他のパイプを経由して送信したりすることができます。
107. Ver1.0
Red Hat Fuse / Camel K
Red Hat Fuse - Enterprise Apache Camel -
from().to() でシステム同士の連携を実現
Apache Camel
Enterprise Integration Pattern(EIP)を組み合わせて実装
to
from
コンシューマー プロデューサー
110. Ver1.0
Red Hat Fuse / Camel K
【参考】API Gateway Pattern & BFF
サービス
API
Gateway
BFF サービス
サービス
UI
▸ UI のためにいくつものAPI を呼び出す必要
がある ▸ UI の代わりにBFF がそのまとめ役を担う
▸ UI には API を見せず、BFF のエンドポイントのみを公開
111. Ver1.0
Red Hat Fuse / Camel K
Kubernetes Operator Camel K
連携ファイルを
作成
CLIツールによる
実行
OpenShift上で
Integration
コンテナが稼働
from(“knative:channel/xxxx”)
.transform()...
.to(“kafka:topic”)
from(“kafka:topic”)
.to(“http:my-host/api/path”)
$ kamel run integration.yaml
1
2
3
112. Ver1.0
【参考】Kamelets
Red Hat Fuse / Camel K
車輪の再発明を防ぐ
Kamelets(Kamel route snipp ets)は、Camel Kで導入された新しい概念であり、ユーザーが簡素化されたインターフェイスを介して外部システムに接続できる
よ
うにし、それらの接続の
実装方法に関するすべての低レベルの詳細を隠蔽
します。
Kamelets は、データの「ソース」または「シンク」として機能できます。ソースは外部システムからのデータを消費でき、シンクはデータを外部システムに送信したり、
特定のアクションを実行して結果を取得したりできます。
Kamelets Catalog
OpenShift Container Platform
S3
S3 Source
kamel run
Kafka Sink
既存システムのデータをイベント化する際にカタログ化
Kemelet として自作し OpenShift に登録しておくことも可能
プライベートカタログも予定
113. Ver1.0
REST API
DB Adapter
Inventory サービス
Event
Consumer
Red Hat Fuse / Camel K
これまで登場したサービスの全体像
EC サイトを構成する一部のサービスのみ (支払いや配送などが不足 )
REST API
DB Adapter
Catalog サービス
Event
Publisher
Event
Consumer
バイヤー
EC サイト
UI サービス
バイヤー用UI
API Gateway
Mobile
REST API
DB Adapter
Marketing サービス
Event
Consumer
Notification サービス
Event
Consumer
Mail Adapter
イベントストア
ユーザー
Mail Server
マーケティング マーケ用UI
在庫 在庫用UI
OpenShift
Container
Platform
AMQ
Streams
Operator
3scale
Operator
Camel
K
Operator
Serverless
114. Ver1.0
OpenShift
Container
Platform
AMQ
Streams
Operator
3scale
Operator
Camel
K
Operator
Red Hat Fuse / Camel K
チェンジイベントのケース
REST API
DB Adapter
Inventory サービス
REST API
Catalog サービス
REST API
DB Adapter
Marketing サービス
バイヤー バイヤー用UI
イベントストア
DB Adapter
Notification サービス
Mail Adapter
マーケティング
在庫
Event
Consumer
Mail Server
Log Miner
EC サイト
UI サービス
Mobile
ユーザー
API Gateway
マーケ用UI
在庫用UI
Serverless
Serverless
Serverless