SlideShare a Scribd company logo
1 of 69
Dapr × Kubernetes ではじめる
ポータブルなマイクロサービス
Masahiko Utsunomiya
2020/09/09
CloudNative Days Tokyo 2020
1#CNDT2020 https://bit.ly/........
掲載内容は個⼈の⾒解であり、
所属する企業や組織の⽴場、戦略、意⾒を
代表するものではありません
2#CNDT2020 https://bit.ly/........
Whois
ü ⾦融分野のお客様のクラウド導⼊⽀援
ü AWS Top Engineers 2020 & Well-Architected Lead
ü Observability(Prometheus, Grafana, Loki, Jaeger, etc.), Microservices, …
polar3130
Masahiko Utsunomiya
Infrastructure Engineer / Relationship Builder
NTT DATA Corporation
3#CNDT2020 https://bit.ly/........
Agenda
• マイクロサービスとポータビリティ
• Dapr ⼊⾨
• ユースケースと実装事例
• おわりに
マイクロサービスと
ポータビリティ
5#CNDT2020 https://bit.ly/........
マイクロサービスはモダンなアーキテクチャの唯⼀解?
流⾏っているから、で選ぶにはあまりに複雑なアーキテクチャ
得られるメリットだけでなく、抱え込む複雑性を理解しておく必要がある
他の選択肢(アーキテクチャ)と⽐較したうえで選んでいることも重要
モノリスは密結合で低品質なアーキテクチャだ、
マイクロサービスこそ唯⼀の解決策!
6#CNDT2020 https://bit.ly/........
もう⼀度、モノリシックアーキテクチャから
“モノリシック” とは、デプロイの単位が分割されていないという意味
マイクロサービスとのデプロイの粒度の対⽐から⽣まれた⾔葉であり、両者の間にアーキテクチャの
優劣があるわけではない
https://www.youtube.com/watch?v=5OjqD-ow8GE
“モノリス” のよくある誤解
☓ 密結合
「コンポーネント間が相互依存し、密結合
になっている」という意味は含まれない
☓ 品質が低い
システム個々の問題であり、モノリシック
アーキテクチャ⾃体は原因ではない
7#CNDT2020 https://bit.ly/........
Modular Monolith
ビジネスコンテキストに基づいて分割・構造化されたモジュールで構成
Shopify, Segment, Root Insurance などで採⽤されている
https://medium.com/design-and-tech-co/modular-monoliths-a-gateway-to-microservices-946f2cbdf382
• 疎結合なモジュール
• 明確に定義されたインターフェイス
• カプセル化されたデータアクセス
• インターフェイスの⼀貫性の維持
これらはマイクロサービスでなくとも実現できる
マイクロサービスのデザインパターンである
Database per Service に近いが、サービス化はしない
8#CNDT2020 https://bit.ly/........
Microservices
機能ごとに分割されたサービスの集合体でアプリケーションを構成する
各サービスは限定された責任を持ち、⾃律的に管理される
https://microservices.io/
üサービス別に独⽴したリリースサイクル
他のサービスに依存することなく、サービスの
アップデートが⾏える
üサービス別に独⽴したスケーリング
各サービスが個々の必要に応じてスケールでき、
リソースを最適化できる
üサービス別に独⽴した技術スタック
サービスごとに最適なインフラストラクチャ、
フレームワーク、開発⾔語を選択できる
9#CNDT2020 https://bit.ly/........
マイクロサービスを⽬指す判断指標
分散システムの複雑性に対するコストを払ってでも、
アプリケーション(ビジネス)のアジリティ向上が⾒込めるかどうか
マイクロサービスの導⼊そのものを⽬的にしてはいけない、
アジリティの向上につながらなければ持続的な開発はできない
...が、そのアプリケーションがマイクロサービスに適しているか最初から⾒通せるとも限らない
ではどうやってマイクロサービスを導⼊してゆけば良いのか?
üサービス別に独⽴したリリースサイクル
üサービス別に独⽴したスケーリング
üサービス別に独⽴した技術スタック
☓ トランザクションやクエリの管理複雑化
☓ 通信のレイテンシ増加
☓ E2Eテストの複雑化
10#CNDT2020 https://bit.ly/........
マイクロサービスへの道のり
モノリスから出発し、段階的なマイクロサービス化を推奨
サービスを分離するために、先にモジュールの分離・構造化をしておくことが有効
Modular Monolith であれば予め分割しておいたモジュールがサービス境界の指針になる
Modular Monolith
分散システムの複雑性を
持ち込む前に、
モジュールの構造化を⾏う
(Strangler pattern) Microservices
途中でモノリスに引き返す
or 留まる判断も必要
モノリスから始めて
素早く市場に投⼊
Monolith
Strangler facade
ü 個別のリリースサイクル
ü 個別のスケーリング
ü 個別の技術スタック
11#CNDT2020 https://bit.ly/........
実⾏環境の変化とポータビリティ
段階的なマイクロサービス化の過程で、フレームワークや環境の差分が
アプリケーションに与える変更影響を極⼒減らしたい
• 例えば、ローカルの開発環境とクラウドの本番環境でインフラストラクチャが異なっていても、
アプリケーションコードを変更することなくどちらの環境でも稼働してほしい
Cloud platformLocalhost
Secret State StoreMessage
Broker
Secret State StoreMessage
Broker
Application Application
12#CNDT2020 https://bit.ly/........
実⾏環境の変化とポータビリティ
段階的なマイクロサービス化の過程で、フレームワークや環境の差分が
アプリケーションに与える変更影響を極⼒減らしたい
• 例えば、段階的に新しくサービスを追加してゆく過程で、これから構築するサービスの技術選定が
既存の技術スタックに依存しないようにしたい
Framework A
Framework B
13#CNDT2020 https://bit.ly/........
アプリケーションのポータビリティ
異なる環境間で同じようにアプリケーションを実⾏できる性質
(ポータビリティ)が段階的なマイクロサービス化に役⽴つ
• ポータビリティはアプリケーションのコンテナ化だけでは完結しない(マネージドサービス, etc.)
• コンテナの実⾏環境としては、Kubernetes が代表的な抽象化の⼿段
• アプリケーションが実⾏環境や開発⾔語に依存しなければ、より柔軟な開発・構成が可能に
14#CNDT2020 https://bit.ly/........
ここまでのまとめ
システムによって、適切なアーキテクチャは異なる
• アーキテクチャの特性を理解し、アプリケーションに合ったアーキテクチャを選定することが⼤事
• アジリティ向上のために、サービス別に独⽴したリリースサイクル、スケーリング、技術スタック
が必要ならば、マイクロサービスは有効な選択肢のひとつ
マイクロサービスへの道のり
• 分散システムの複雑性とのトレードオフ、ビジネスのアジリティ向上が⾒込めるかが判断ポイント
• モノリスから出発して早期に市場へ投⼊、段階的なマイクロサービス化を推奨
• プラットフォームや⾔語・フレームワークの差異を受け⽌めて抽象化してくれるレイヤがあれば、
ビジネスロジックにより注⼒できる
15#CNDT2020 https://bit.ly/........
閑話休題:
マイクロサービス化にもうひとつ(あるいは最も)重要なもの
マイクロサービスに合った組織編成
• コンパクトで、開発と運⽤の双⽅に責任を持ち、適切に権限が移譲された、ビジネスコンテキスト
に基づく組織編成
• 技術的な問題よりも乗り越えるのが難しい、マイクロサービス導⼊の壁
逆コンウェイ戦略
• マイクロサービス化を促進しやすくするように、組織構造や組織⽂化を変えていく
• 旧来の縦割りの組織構造や⽂化のまま、マイクロサービスを実現するのは困難
Dapr ⼊⾨
17#CNDT2020 https://bit.ly/........
Dapr とは
ステートフルサービスに対応した、イベント駆動かつポータブルな
オープンソースの分散アプリケーション向けランタイム
https://github.com/dapr
• Any language or framework
異種⾔語・異種実⾏環境が混在しても、
⼀貫した⽅法で相互のサービス呼び出しが
できる
• Any cloud or edge
アプリケーションがロケーション
(クラウドor エッジ)を問わず実⾏できる
Github Star:
7100+
Latest:
v0.10.0
https://dapr.io/
18#CNDT2020 https://bit.ly/........
マイクロサービスのビルディングブロック
標準化された API, Pub/Sub, トレーシングなど、分散システムの実装を
容易にするための機能を 7 つのカテゴリで提供
フレームワークではなくビルディングブロックとして設計されており、⼀部からでも使い始められる
https://github.com/dapr/docs/tree/master/overview
19#CNDT2020 https://bit.ly/........
サイドカーアーキテクチャ
アプリケーションと独⽴したコンテナ/プロセスで稼働し、API を公開
• アプリケーションコードに Dapr のランタイムに関するコードが混⼊しない
• Dapr の各機能は HTTP / gRPC で呼び出す
• ローカル端末(Linux, Mac, Windows)、Kubernetes、エッジデバイスなど、任意の環境で実⾏できる
https://github.com/dapr/docs/tree/master/overview
20#CNDT2020 https://bit.ly/........
Dapr のアーキテクチャ(self-hosted mode)
各コンポーネントはアプリケーションと独⽴したプロセスで起動
• Dapr がアプリケーションを登録するためのデータストアとして redis を利⽤(Statestoreとは別)
• Dapr が識別するアプリケーション間の分散トレースは zipkin で収集
* 後述するアクターモデルの利⽤時にのみ必要
https://github.com/dapr/docs/tree/master/overview
daprd
dapr init
Dapr Placement*
dapr run ...
21#CNDT2020 https://bit.ly/........
Dapr のアーキテクチャ(Kubernetes mode)
Dapr Actor Placement
アクターパターンを実装する際に利⽤する
アクターセット全体の状態管理、配置、操作
Dapr Sidecar Injector
Deployment に付与された Annotations に基づき
Admission Webhook により Dapr Sidecar を注⼊
Dapr Sentry
各 Pod の Dapr Sidecar 間で mTLS 通信を⾏う際の
認証局として証明書を発⾏/管理
Dapr Operator
kind: Component として外部リソースを抽象化
ランタイムへ Component の変更を通知
https://github.com/dapr/docs/tree/master/overview
4 つの統合サービスが展開される
22#CNDT2020 https://bit.ly/........
サービスメッシュとの違い
⼀部重複する機能もあるが、フォーカスしている領域が異なる
• サービスメッシュはネットワークの管理、Dapr は分散アプリケーション開発をより簡単にすること
• Dapr は Istio, Linkerd などのサービスメッシュとの併⽤も可能
https://www.youtube.com/watch?v=xxU68ewRmz8
• 外部リソースの抽象化
• アクターモデルの導⼊
• ワークロードの状態管理
etc.
• Fault Injection
• Network Policy
• 負荷分散
• etc.
• 分散トレーシング
• mTLS
• メトリクス
サービスメッシュ
Dapr
23#CNDT2020 https://bit.ly/........
既存のマイクロサービスフレームワークとの違い
Dapr は分散アプリケーションを任意の開発⾔語で実装できる
例えば Java であれば Axon, Eventuate, MicroProfile LRA などのフレームワークが既にあるが、これらは
連携する各サービスが同じフレームワークを使って実装されることを前提としている
Dapr はサイドカーアーキテクチャによって ⼀貫性のあるサービス呼び出しの API を提供することで、
⾔語やフレームワークを問わない Polyglot なアプリケーション開発を可能にする
Go
C#
& framework B
C#
& framework A
Java
24#CNDT2020 https://bit.ly/........
Dapr のコンポーネント
分散アプリケーションの実装をサポートする各種機能を、モジュール型
のコンポーネント群で提供
クラウドに依存せず、ローカル端末でも同じような開発体験を得られることを⽬指している
以下のコンポーネントタイプをもち、同じインタフェースをもつコンポーネントは交換可能
• Service discovery
• State
• Pub/Sub
• Bindings
• Middleware
• Secret stores
• Tracing exporters
https://github.com/dapr/docs/tree/master/concepts
25#CNDT2020 https://bit.ly/........
Service discovery コンポーネント
Dapr がサービスの呼び出しの API を標準化し、サービス検出を代⾏
アプリケーションから分離して Dapr が代⾏することで、インフラに応じた名前解決の実装を抽象化
• Self-host mode: mDNS を利⽤して名前解決するため、ローカル DNS サーバは不要
• Kubernetes mode: Kubernetes の DNS-Based Service Discovery を利⽤して名前解決を⾏う
https://github.com/dapr/docs/tree/master/concepts/service-invocation
< component >
nameresolution
app "Order" app "Payment"
1. Dapr に向けて Payment
サービスを呼び出す
http://localhost:3500/v1.0/invoke/payment/method/execute
2. Dapr が Payment
サービスを検出&呼び出し
3. Dapr がリクエストを
アプリケーションに転送
Dapr Sidecar Dapr Sidecar
26#CNDT2020 https://bit.ly/........
・・・
State コンポーネント
状態管理⽤の KVS を提供、実装には様々なクラウドサービスをサポート
同じアプリケーションの異なるインスタンス同⼠で状態を共有できる
強整合性と結果整合性の両⽅をサポート、再試⾏ポリシーの設定、バルク操作なども可能
https://github.com/dapr/docs/tree/master/concepts/state-management
app
"myApp"
Dapr Sidecar
Post
http://localhost:3500/v1.0/state/statestore
"CNDT2020"
[{ "key": "event",
"value": "CNDT2020" }]
Get
http://localhost:3500/v1.0/state/statestore/event
Key Value
myApp-event "CNDT2020"
statestore
apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
name: statestate
spec:
type: state. ...
metadata: ...
statestore.yaml
27#CNDT2020 https://bit.ly/........
Pub/Sub コンポーネント
イベント駆動のための、At Least Once なメッセージ配信
スケーラビリティとサービス間の疎結合性のために重要なコンポーネント
同じアプリケーションのインスタンスが複数存在する場合は必ず 1 つのインスタンスにのみ配信
トピックに送信されるメッセージのペイロードは Cloud Events 1.0 の仕様に準拠
https://github.com/dapr/docs/tree/master/concepts/publish-subscribe-messaging
app
"HogePublisher"
Dapr Sidecar
publish subscribe
+ ・・・
< component > pubsub
Post
http://localhost:3500/v1.0/publish/mypubsub/mytopic
"mypubsub"
app
"HugaSubscriber"
Dapr Sidecar
app
"PiyoSubscriber"
Dapr Sidecar
28#CNDT2020 https://bit.ly/........
Bindings コンポーネント
外部リソースを抽象化し、イベントの受信や呼び出しを Dapr が仲介
特定の SDK やライブラリのコードをアプリケーションを含めずともイベントを送受信できる
環境に応じて外部リソースの実装が変更される場合でも、アプリケーションには変更影響が及ばない
https://github.com/dapr/docs/tree/master/concepts/bindings
app "Provider" Dapr Sidecar
output
binding
Post
http://localhost:3500/v1.0/binding/myresource
app "Consumer"Dapr Sidecar
input
binding
Post
/myresource HTTP エンドポイントをリッスン
・・・
< component >
binding
"myresource"
29#CNDT2020 https://bit.ly/........
Middleware コンポーネント
リクエストおよびレスポンス時の共通処理とその順序を制御
レート制限、OAuth 2 認可のアクセストークン取得など
複数の Middleware を定義した場合は、リクエストとレスポンスの適⽤順序が逆順になる
https://github.com/dapr/docs/tree/master/concepts/middleware
apiVersion: dapr.io/v1alpha1
kind: Configuration
metadata:
name: pipeline
spec:
httpPipeline:
handlers:
- name: oauth2
type: middleware.http.oauth2
middleware.yaml
30#CNDT2020 https://bit.ly/........
Secret stores コンポーネント
https://github.com/dapr/docs/tree/master/concepts/secrets
アプリケーションが利⽤するシークレット情報の管理先を抽象化
クラウドサービスや Kubernetes の Secret リソースなど、実⾏環境に応じて実装を使い分けられる
シークレットの格納先が変更されても、アプリケーションには変更影響が及ばない
・・・
"mysecret"app
"myApp"
Dapr
Sidecar
< component >
secretstores
Get
http://localhost:3500/v1.0/secrets/vault/mysecret
31#CNDT2020 https://bit.ly/........
Secret stores コンポーネント
https://github.com/dapr/docs/tree/master/concepts/secrets
app
"myApp"
Dapr
Sidecar
< component >
secretstores
Azure の場合は、Managed ID との併⽤で接続元の Pod を制限できる
Get
http://localhost:3500/v1.0/secrets/vault/mysecret
Managed Identity
"mysecret"
32#CNDT2020 https://bit.ly/........
Tracing exporters コンポーネント
マイクロサービス全体で⼀貫したトレースを構成可能
W3Cトレースコンテキスト標準に準拠し、コンテキスト情報は Dapr が⾃動⽣成
異なるチームで作成され、異なる⾔語で作成されるサービス間でも⼀貫性が保たれる
https://github.com/dapr/docs/blob/master/concepts/observability/traces.md
application
Dapr
Sidecar OpenCensus
・・・
forwarding
Kafka
33#CNDT2020 https://bit.ly/........
Dapr の Observability
Dapr Sidecar からサービスのメトリクス、ロギング、トレースを収集
コントロールプレーンのサービス(Injector, etc.)は現状メトリクスとログのみを提供
将来的には全てのテレメトリを Open Telemetry 準拠とする⽅針
以下は代表的な構成例
Observability : 制御⼯学由来の⾔葉で、クラウドネイティブなモニタリングの⽂脈では動的に変化し続ける環境の信頼性を継続的に確保するための考え⽅を指す
application Dapr Sidecar
Metrics
Tracing
Logging
Dashboard は
テンプレートが
提供されている
34#CNDT2020 https://bit.ly/........
Dapr dashboard
Dapr が認識しているアプリケーションや、コンポーネントを確認可能
接続先の app-id (Dapr のアプリケーション識別⼦)を確認することができる
ログも参照できるが、現状は⾮常に簡易的な機能
https://github.com/dapr/dashboard
35#CNDT2020 https://bit.ly/........
SDK と、統合されたフレームワーク
複数の⾔語で Dapr SDK が開発されている
現在の SDK 提供⾔語は C++, Go, Java, JavaScript, .NET, Python, Rust (WIP)
HTTP / gRPC の API を呼び出す代わりに、型指定の API を介して Dapr の各機能を利⽤できる
アクターモデル(Virtual Actor)に基づく並⾏処理アプリケーションの開発を可能にする
SDK の実装状況は⾔語によってばらつきがあり、Java, .NET, Python は⽐較的充実
• 例えば、 Java SDK の場合は Spring Boot とのインテグレーションが含まれており、Dapr API をハンドリングする
SpringBoot Controller などが⽤意されている
36#CNDT2020 https://bit.ly/........
アクターモデルとは
⾮同期処理のためのメッセージ駆動な分散アプリケーションモデル
• すべてのものをアクターとして扱う
• メールボックスと振る舞いで構成され、外部との通信はメッセージの送受信のみで⾏う
• すべてのメッセージは⾮同期に実⾏され、 アクター間では状態を共有しない
Erlang, Elixir, Pony などが⾔語レベルでサポートしているほか、ミドルウェアでは Akka が有名
DDD(ドメイン駆動開発)と相性が良いとされる*
* https://www.infoq.com/articles/Reactive-Systems-Akka-Actors-DomainDrivenDesign
Consumer Actor
Provider Actor
取り出したメッセージに応じて
振る舞い(Behavior)を決定
37#CNDT2020 https://bit.ly/........
Virtual Actor とは
より動的で変動性の⾼い環境に適応するために、抽象度を⾼めた
アクターモデル
• Perpetual existence : 実体の有無を問わず、アクターが常に仮想的に存在するものとして扱える
• Automatic instantiation : 0 以上のアクターをリクエストに応じて⾃動⽣成
• Location transparency : アクターと対話するアプリケーションは透過的にアクターにコンタクトできる
ターンベースのアクセスの仕組みを導⼊することでアクターモデルのメールボックスを実現
(タイマーなどのスケジュール実⾏の仕組みがオンデマンドリクエストに割り込まないための実⾏順序制御を⾏う)
Orleans, Azure Service Fabric, Dapr など、Microsoft が分散システムへのアプローチに採⽤している
38#CNDT2020 https://bit.ly/........
Dapr における Virtual Actor
Dapr Placement サービスがアクターの登録と呼び出し先を制御
アクタータイプの登録を受け付け、アクタータイプのリストを全ての Dapr Sidecar に通知
HTTP / gRPC エンドポイントを介して State コンポーネントを呼び出し、状態を管理できる
タイマー&リマインダーの機能により定期実⾏のワークロードもサポート
client Dapr
Sidecar
Dapr Placement
actor service
Actor Type: MyActor
Dapr
Sidecar
Entry Actor Type:
MyActor
Call Actor ID : 123
for Actor Type: MyActor
Where is "Actor ID : 123
for Actor Type: MyActor" ?
(client call)
MyActor
ID: 123
is Created
1
02
3
4
https://github.com/dapr/docs/blob/master/concepts/actors
39#CNDT2020 https://bit.ly/........
invoke workflow-a
Dapr workflows
分散アプリケーションでワークフローを実⾏するためのオプション機能
• Binding や State コンポーネントと連携し、イベント駆動、状態管理を含むワークフローを構成可能
• 現在はワークフローエンジンに Azure Logic Apps を利⽤、 State は Azure Blob Storage に限定
• 将来的には他のワークフローエンジンや State コンポーネントにも対応予定
https://github.com/dapr/workflows
Dapr
Sidecar
Dapr
Workflows
gRPC
input
binding< component >
binding
gRPC server
Logic Apps runtime
.json
Azure
Blob Storage
http://localhost:3500/v1.0/invoke/workflows/method/workflow-a
workflow-a workflow-b
Logic Apps
Designer, etc.
40#CNDT2020 https://bit.ly/........
Azure Function との統合
Dapr の各種コンポーネントを Azure Functions から扱うための拡張機能
• C#, JavaScript / TypeScript, Python で書かれた Azure Functions に対応
• Kubernetes (および IoT Edge) で実⾏する Azure Functions ランタイムが対象
https://github.com/dapr/azure-functions-extension
https://www.youtube.com/watch?v=_SlWp2s57rU
Dapr
Sidecar
functional
application
< component >
binding
• Dapr Input Binding
• サービス呼び出し
• Pub/Sub Topic のサブスクライブ
Function の起動⽅法
Input Binding:
State や Secret の取得
Output Binding:
State の保存、Topic 発⾏
41#CNDT2020 https://bit.ly/........
閑話休題:
類似のコンセプトをもつプロジェクト
サーバレスにおけるステートフルワークロードのためのフレームワーク
• Lightbend が開発を主導している OSS プロジェクト
• Kubernetes + Knative + GraalVM 環境を前提とし、複数の⾔語をサポート、混在環境にも対応
• アクターモデルで設計され、状態管理のために Akka Cluster を利⽤している
https://github.com/cloudstateio
https://www.lightbend.com/cloudstate-by-lightbend
ユースケースと実装事例
43#CNDT2020 https://bit.ly/........
Dapr を使ったマイクロサービスの実装
商品の注⽂を受けて決済処理を⾏うユースケースを題材に
Order, Payment, Inventory の 3 つのサービスが協調するシナリオを考える
• Order は注⽂を受け付けてトランザクションを開始する
• 注⽂の受け付けに成功した時点でリクエストを返し、ユーザは⾮同期に注⽂結果を受け取る
• 決済と商品確保の両⽅に成功すれば注⽂の成⽴とする
order
accepted
order succeeded/failedclient Order
Payment
Inventory
参考: https://medium.com/@ijayakantha/microservices-the-saga-pattern-for-distributed-transactions-c489d0ac0247
44#CNDT2020 https://bit.ly/........
⼆層コミットの問題点
• コミット時にいずれかのサービスに障害が起きた場合に、
他のトランザクションをロールバックする仕組みがない
• 全体が、最も遅いサービスのレスポンスに依存する
Order
Payment
Inventory
Order Request
prepared
prepare
Payment
Phase1 : Prepare
prepare → Payment
prepare → Inventory
----------------------------
Phase2 : Commit
commit → Payment
commit → Inventory
Transaction
done ▶
done ▶
done ▶
done ▶
45#CNDT2020 https://bit.ly/........
⼆層コミットの問題点
• コミット時にいずれかのサービスに障害が起きた場合に、
他のトランザクションをロールバックする仕組みがない
• 全体が、最も遅いサービスのレスポンスに依存する
Order
Payment
Inventory
Order Request
prepared
commit
done
prepare
Payment
Phase1 : Prepare
prepare → Payment
prepare → Inventory
----------------------------
Phase2 : Commit
commit → Payment
commit → Inventory
Transaction
done ▶
done ▶
done ▶
done ▶
46#CNDT2020 https://bit.ly/........
⼆層コミットの問題点
• コミット時にいずれかのサービスに障害が起きた場合に、
他のトランザクションをロールバックする仕組みがない
• 全体が、最も遅いサービスのレスポンスに依存する
Order
Payment
Inventory
Order Request
prepared
commit
done
prepare
done
Payment
Phase1 : Prepare
prepare → Payment
prepare → Inventory
----------------------------
Phase2 : Commit
commit → Payment
commit → Inventory
Transaction
done ▶
done ▶
done ▶
failed ▶
47#CNDT2020 https://bit.ly/........
Saga パターン(オーケストレーション型)
メッセージングによってローカルトランザクションの集合を構成する、
マイクロサービスのデザインパターンのひとつ
Order
Inventory
Payment Channel
Inventory Channel
Order Saga
Reply Channel
Message Broker
OutOfStockReply
PrepareOrderCommand
RefundCommand
ExecutePayment
Command
PaymentExecutedReply
Order Request
* Saga Execution Coordinator
Order Service
Order SEC*
processing
Execute Payment Prepare Order
Refund
cancelling
succeeded
failed
Payment
48#CNDT2020 https://bit.ly/........
Saga パターンの補償トランザクション
Coordinator が期待する状態に遷移できなかった際に、⼀貫性を保つため
に発⾏する打ち消しのトランザクション
決済と商品確保の両⽅に成功すれば注⽂は成⽴するが...
Order Payment Inventory
order_processing
Command: execute_payment
Command: prepare_order
Reply: item_reserved
Reply: payment executed
order_succeeded
Order
Payment
Inventory
49#CNDT2020 https://bit.ly/........
Saga パターンの補償トランザクション
Coordinator が期待する状態に遷移できなかった際に、⼀貫性を保つため
に発⾏する打ち消しのトランザクション
商品確保に失敗した場合は⽀払い処理を取り消す
Order Payment Inventory
order_processing
Command: execute_payment
Command: prepare_order
Reply: out_of_stock
Reply: payment executed
order_cancelled
Command: refund
Reply: payment executedorder_cancelling
Order
Payment
Inventory
50#CNDT2020 https://bit.ly/........
AWS で実装する場合
• 1 対 多の Pub/Sub に SNS + SQS、Saga の実⾏に Step Functions を利⽤する構成が考えられる
• アプリケーションコードから直接呼び出す場合は、インフラストラクチャに依存する
Order
Inventory
Payment Channel
Inventory Channel
Order Saga
Reply Channel
Message Broker
OutOfStockReply
PrepareOrderCommand
RefundCommand
ExecutePayment
Command
PaymentExecutedReply
Order RequestOrder Service
Order SEC*
* Saga Execution Coordinator
processing
Execute Payment Prepare Order
+
Refund
cancelling
succeeded
failed
Amazon SNS + SQS
AWS
Step Functions
Payment
51#CNDT2020 https://bit.ly/........
AWS 上に実装した Dapr アプリケーション
• 実⾏環境に EKS、1 対 多の Pub/Sub に SNS + SQS、Saga の状態管理に redis を⽤いた
• Dapr によって外部リソースは抽象化されるため、アプリケーションコードがインフラに依存しない
Order
Inventory
Payment Channel
Inventory Channel
Order Saga
Reply Channel
Message Broker
OutOfStockReply
PrepareOrderCommand
RefundCommand
ExecutePayment
Command
PaymentExecutedReply
Order Request
Order Service
Order SEC*
* Saga Execution Coordinator
processing
succeeded
cancelling
failed
+
Amazon SNS + SQS
Payment
52#CNDT2020 https://bit.ly/........
AWS 上に実装した Dapr アプリケーション
• Payment サービスが利⽤するシークレットを AWS Secrets Manager で管理、Dapr 経由で取得
Order
Inventory
Payment Channel
Inventory Channel
Order Saga
Reply Channel
Message Broker
OutOfStockReply
PrepareOrderCommand
RefundCommand
ExecutePayment
Command
PaymentExecutedReply
Order Request
Order Service
Order SEC*
* Saga Execution Coordinator
processing
succeeded
cancelling
failed
+
Amazon SNS + SQS
AWS
Secrets Manager
Payment
53#CNDT2020 https://bit.ly/........
Azure への展開
• Dapr が抽象化している各コンポーネントを AKS, Table Storage, Service Bus, KeyVault で再定義
• アプリケーションコードを変更することなく展開可能
Order
Inventory
Payment Channel
Inventory Channel
Order Saga
Reply Channel
Message Broker
OutOfStockReply
PrepareOrderCommand
RefundCommand
ExecutePayment
Command
PaymentExecutedReply
Order Request
Order Service
Order SEC*
* Saga Execution Coordinator
processing
succeeded
cancelling
failed
Azure
Kubernetes
Service
Azure
Service Bus
Azure
Table Storage
Payment
Azure
Key Vault
54#CNDT2020 https://bit.ly/........
GCP への展開
• Dapr が抽象化している各コンポーネントを AKS, Table Storage, Service Bus, KeyVault で再定義
• アプリケーションコードを変更することなく展開可能
Order
Inventory
Payment Channel
Inventory Channel
Order Saga
Reply Channel
Message Broker
OutOfStockReply
PrepareOrderCommand
RefundCommand
ExecutePayment
Command
PaymentExecutedReply
Order Request
Order Service
Order SEC*
* Saga Execution Coordinator
processing
succeeded
cancelling
failed
Google
Kubernetes
Engine
Cloud
Pub/Sub
Secret
Manager
Payment
55#CNDT2020 https://bit.ly/........
異なる環境(e.g.ローカル/本番) の差異を吸収
Prod
Devローカルで開発したアプリケーションのコードを
変更することなく本番環境に展開できる
例えば、
• ローカルではセルフホストの Kubernetes と redis
を使って開発
• 本番ではクラウドのマネージド Kubernetes と
各種マネージドサービスを活⽤
• 環境間で変更するのは Dapr コンポーネントのみ、
アプリケーションのコードは変更不要
56#CNDT2020 https://bit.ly/........
追加検討の候補(今回は未実装)
• 商品の在庫確保を並列処理する場合に、アクターパターンを利⽤する
• 複数の商品を⼀度に注⽂した際の商品確保を並⾏処理したい、などのユースケースに
Inventory
Inventory Channel
Order Saga
Reply Channel
Message Broker
OutOfStockReply
Azure
Service Bus
Stock Search Actor
57#CNDT2020 https://bit.ly/........
追加検討の候補(今回は未実装)
• Order Saga の実⾏管理を Dapr Workflows に置き換える
• 最近のアップデートで、Azure Logic Apps はランタイムを任意の環境で実⾏可能になっている
Payment Channel
Inventory Channel
Order Saga
Reply Channel
Message Broker
PrepareOrderCommand
RefundCommand
ExecutePayment
Command
Order Request
Order SEC*
* Saga Execution Coordinator
processing
succeeded
cancelling
failed
Azure
Service Bus
Azure
Table Storage
Order
(Dapr Workflows)
Azure Logic Apps
58#CNDT2020 https://bit.ly/........
追加検討の候補(今回は未実装)
• KEDA を利⽤したイベント駆動のオートスケールを組み合わせる
• イベントの流量に応じて 0 ~ N でスケールすることで、展開する Pod の数を最適化
Payment
Payment Channel
Payment
KEDA (Kubernetes Event-driven Autoscaling)
• Microsoft と Redhat が開発した、
イベント駆動のオートスケーラー
• CNCF Sandbox project のひとつ
• 例えば、キューのメッセージ数に
応じた Pod 増減制御が可能
https://keda.sh/
・・・
59#CNDT2020 https://bit.ly/........
実装してみての所感、課題と感じるところ①
• Pub/Sub コンポーネントの機能不⾜
• DeadLetterTopic をサポートしていない
• メッセージのバッチ取得をサポートしていない
Issue は以前からあり(https://github.com/dapr/dapr/issues/843)、現在も議論が進められている
• Dapr Sidecar の起動に時間がかかる
• 現状は、KEDA を組み合わせて使うにしても急速なスケーリングには向かない
• Dapr Sidecar の起動までアプリケーションを待たせる必要がある
現状は Readiness / Liveness Probe で⼀定時間待機するなどのワークアラウンドが必要
根本解決には、Kubernetes が Pod 内のコンテナの起動順序を制御できるようになる必要がある
→ https://github.com/kubernetes/enhancements/issues/753
60#CNDT2020 https://bit.ly/........
実装してみての所感、課題と感じるところ②
• コントロールプレーンの可⽤性が低い
• Virtual Actor を⽤いる場合、Placement サービスがシステム全体の SPoF になってしまう
• Dapr Operator は障害などで再起動すると外部リソースのイベント発⽕を⾒失うことがある
• Saga パターンの実装を補助してほしい
• Dapr Workflows が今後 Logic Apps 以外のワークフローエンジンに対応することも期待したい
• あるいは Uber Cadence などのワークフローオーケストレータとの併⽤も選択肢と考えられる
おわりに
62#CNDT2020 https://bit.ly/........
参考URL① Microsoft Ignite 2019 in Orlando より
Azure CTO, Mark Russinovich ⽒による Dapr の各機能の解説 & デモ
https://www.youtube.com/watch?v=PpJhd-Jo4nM
63#CNDT2020 https://bit.ly/........
参考URL② Microsoft Build 2020 より
Azure Cognitive Services と連携して、ツイートの感情分析を⾏うデモ
• ローカルでの開発→クラウドサービスとの連携→Kubernetes への展開、という流れで、実際の開発を
イメージした段階的なデモが取り上げられている
• Go, C#, Node.js のそれぞれで作成されたサービスが強調してアプリケーションを構成
https://mybuild.microsoft.com/sessions/3f296b9a-7fe8-479b-b098-a1bfc7783476
64#CNDT2020 https://bit.ly/........
オライリーから書籍が登場予定
Dapr の主要開発者の 2 ⼈が執筆した
解説本が近⽇発売予定
• Amazon.co.jp では 2020/09/14 発売予定
• Early Release は無料で閲覧可能
https://www.oreilly.com/library/view/learning-dapr/9781492072416/
65#CNDT2020 https://bit.ly/........
公式リポジトリ以外のおすすめの情報源
Community Call
https://www.youtube.com/channel/UCtpSQ9BLB_3EXdWAUQYwnRA/
Gitter
https://gitter.im/Dapr/community/
Microsoft Open Source Blog
https://cloudblogs.microsoft.com/opensource/
66#CNDT2020 https://bit.ly/........
Dapr の直近のロードマップ
Github リポジトリやコミュニティで議論されている主なトピック
• 全ての SDK で Virtual Actor を実装可能にする
• ロードマップに記載の当初予定からは遅れているものの、順次対応が進められている
• Dapr コンポーネントの拡充
• 各クラウドにおける主要サービスを中⼼に対応が進む⾒込み
• v1.0 到達(Generally Available)
• 年内(11⽉頃)に 1.0-rc を出す⾒込みがあるとのこと
• 今後は商⽤導⼊の事例が出てくることも期待したい
https://github.com/dapr/dapr/wiki/Roadmap
67#CNDT2020 https://bit.ly/........
まとめ
マイクロサービスとポータビリティ
• マイクロサービスの、独⽴したスケーリング、独⽴したリリースサイクル、独⽴した技術スタックを
導⼊できるメリットは、分散システムの複雑性を持ち込むデメリットとのトレードオフになる
• インフラストラクチャを抽象化するレイヤがあれば、段階的なマイクロサービス化が進めやすくなる
Dapr はマイクロサービスのビルディングブロックを提供する
• モジュール式のコンポーネント群がインフラを抽象化、マイクロサービスのポータビリティを⾼める
• サイドカーアーキテクチャによりサービス間を仲介し、Polyglot なアプリケーション開発を可能にする
• イベントドリブンやステートフルなワークロードを実⾏するための⼀貫性のある API と、
デザインパターンを適⽤できる
Thank you for your attention!

More Related Content

What's hot

BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドAkihiro Suda
 
Azure Monitor Logで実現するモダンな管理手法
Azure Monitor Logで実現するモダンな管理手法Azure Monitor Logで実現するモダンな管理手法
Azure Monitor Logで実現するモダンな管理手法Takeshi Fukuhara
 
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)mosa siru
 
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43Preferred Networks
 
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)NTT DATA Technology & Innovation
 
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Masahito Zembutsu
 
Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版Masahito Zembutsu
 
Azure load testingを利用したパフォーマンステスト
Azure load testingを利用したパフォーマンステストAzure load testingを利用したパフォーマンステスト
Azure load testingを利用したパフォーマンステストKuniteru Asami
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織Takafumi ONAKA
 
人生がときめくAPIテスト自動化 with Karate
人生がときめくAPIテスト自動化 with Karate人生がときめくAPIテスト自動化 with Karate
人生がときめくAPIテスト自動化 with KarateTakanori Suzuki
 
そんなトランザクションマネージャで大丈夫か?
そんなトランザクションマネージャで大丈夫か?そんなトランザクションマネージャで大丈夫か?
そんなトランザクションマネージャで大丈夫か?takezoe
 
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)NTT DATA Technology & Innovation
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことAmazon Web Services Japan
 
ビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年versionビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年versionTetsutaro Watanabe
 
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019Tokoroten Nakayama
 
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)Trainocate Japan, Ltd.
 
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)NTT DATA Technology & Innovation
 
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)NTT DATA Technology & Innovation
 

What's hot (20)

BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
 
Azure Monitor Logで実現するモダンな管理手法
Azure Monitor Logで実現するモダンな管理手法Azure Monitor Logで実現するモダンな管理手法
Azure Monitor Logで実現するモダンな管理手法
 
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)
 
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
 
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
 
Docker Compose 徹底解説
Docker Compose 徹底解説Docker Compose 徹底解説
Docker Compose 徹底解説
 
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
 
Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版
 
Azure load testingを利用したパフォーマンステスト
Azure load testingを利用したパフォーマンステストAzure load testingを利用したパフォーマンステスト
Azure load testingを利用したパフォーマンステスト
 
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
 
人生がときめくAPIテスト自動化 with Karate
人生がときめくAPIテスト自動化 with Karate人生がときめくAPIテスト自動化 with Karate
人生がときめくAPIテスト自動化 with Karate
 
そんなトランザクションマネージャで大丈夫か?
そんなトランザクションマネージャで大丈夫か?そんなトランザクションマネージャで大丈夫か?
そんなトランザクションマネージャで大丈夫か?
 
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
 
ビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年versionビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年version
 
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
 
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
 
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
 
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
 

Similar to Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)

Realizling Dapr Observability Using Elastic Stack
Realizling Dapr Observability Using Elastic StackRealizling Dapr Observability Using Elastic Stack
Realizling Dapr Observability Using Elastic StackShotaro Suzuki
 
LTEモバイルクラウドセミナ[講演1] R 20101116
LTEモバイルクラウドセミナ[講演1] R 20101116LTEモバイルクラウドセミナ[講演1] R 20101116
LTEモバイルクラウドセミナ[講演1] R 20101116知礼 八子
 
Istio, Kubernetes and Cloud Foundry
Istio, Kubernetes and Cloud FoundryIstio, Kubernetes and Cloud Foundry
Istio, Kubernetes and Cloud FoundryKazuto Kusama
 
クラウド座談会資料
クラウド座談会資料クラウド座談会資料
クラウド座談会資料知礼 八子
 
5G時代のアプリケーションとは 〜 5G+MECを活用した低遅延アプリの実現へ 〜
5G時代のアプリケーションとは 〜 5G+MECを活用した低遅延アプリの実現へ 〜5G時代のアプリケーションとは 〜 5G+MECを活用した低遅延アプリの実現へ 〜
5G時代のアプリケーションとは 〜 5G+MECを活用した低遅延アプリの実現へ 〜VirtualTech Japan Inc.
 
サーバーレスやマイクロサービスへの"チャレンジ"を後押ししてくれるセッションを紹介
サーバーレスやマイクロサービスへの"チャレンジ"を後押ししてくれるセッションを紹介サーバーレスやマイクロサービスへの"チャレンジ"を後押ししてくれるセッションを紹介
サーバーレスやマイクロサービスへの"チャレンジ"を後押ししてくれるセッションを紹介Yuta Matsumura
 
【Connected.T5】SORACOMと繋がるクラウドサービス
【Connected.T5】SORACOMと繋がるクラウドサービス【Connected.T5】SORACOMと繋がるクラウドサービス
【Connected.T5】SORACOMと繋がるクラウドサービスSORACOM,INC
 
【Japan Partner Conference 2019】遂に来た! フルマーネージド Azure Red Hat OpenShift で実現する O...
【Japan Partner Conference 2019】遂に来た! フルマーネージド Azure Red Hat OpenShift で実現する O...【Japan Partner Conference 2019】遂に来た! フルマーネージド Azure Red Hat OpenShift で実現する O...
【Japan Partner Conference 2019】遂に来た! フルマーネージド Azure Red Hat OpenShift で実現する O...日本マイクロソフト株式会社
 
Servcie Fabric and Cloud Design Pattern
Servcie Fabric and Cloud Design PatternServcie Fabric and Cloud Design Pattern
Servcie Fabric and Cloud Design PatternTakekazu Omi
 
【de:code 2020】 Azure Expert MSP の FIXER が処方、DX に効く 「クラウド運用」「AI」「人材育成」 の即効薬
【de:code 2020】 Azure Expert MSP の FIXER が処方、DX に効く 「クラウド運用」「AI」「人材育成」 の即効薬【de:code 2020】 Azure Expert MSP の FIXER が処方、DX に効く 「クラウド運用」「AI」「人材育成」 の即効薬
【de:code 2020】 Azure Expert MSP の FIXER が処方、DX に効く 「クラウド運用」「AI」「人材育成」 の即効薬日本マイクロソフト株式会社
 
マイクロサービスとそれを支えるアーキテクチャー
マイクロサービスとそれを支えるアーキテクチャーマイクロサービスとそれを支えるアーキテクチャー
マイクロサービスとそれを支えるアーキテクチャーTsukasa Kato
 
【de:code 2020】 ハイブリッド プラットフォームの最新動向を知る
【de:code 2020】 ハイブリッド プラットフォームの最新動向を知る【de:code 2020】 ハイブリッド プラットフォームの最新動向を知る
【de:code 2020】 ハイブリッド プラットフォームの最新動向を知る日本マイクロソフト株式会社
 
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?Akira Inoue
 
GraphQLはどんな時に使うか
GraphQLはどんな時に使うかGraphQLはどんな時に使うか
GraphQLはどんな時に使うかYutaka Tachibana
 
MLOps NYC 2019 and Strata Data Conference NY 2019 report nttdata
MLOps NYC 2019 and Strata Data Conference NY 2019 report nttdataMLOps NYC 2019 and Strata Data Conference NY 2019 report nttdata
MLOps NYC 2019 and Strata Data Conference NY 2019 report nttdataNTT DATA Technology & Innovation
 
.NET の過去、現在、そして未来
.NET の過去、現在、そして未来.NET の過去、現在、そして未来
.NET の過去、現在、そして未来Akira Inoue
 
Microsoft open tech night 2020 feb18
Microsoft open tech night 2020 feb18Microsoft open tech night 2020 feb18
Microsoft open tech night 2020 feb18Masatomo Ito
 
Project Hydrogen and Spark Graph - 分散処理 × AIをより身近にする、Apache Sparkの新機能 - (NTTデ...
Project Hydrogen and Spark Graph - 分散処理 × AIをより身近にする、Apache Sparkの新機能 - (NTTデ...Project Hydrogen and Spark Graph - 分散処理 × AIをより身近にする、Apache Sparkの新機能 - (NTTデ...
Project Hydrogen and Spark Graph - 分散処理 × AIをより身近にする、Apache Sparkの新機能 - (NTTデ...NTT DATA Technology & Innovation
 
Migrating tocloudnativeapplicationwithusingelasticapm
Migrating tocloudnativeapplicationwithusingelasticapmMigrating tocloudnativeapplicationwithusingelasticapm
Migrating tocloudnativeapplicationwithusingelasticapmShotaro Suzuki
 

Similar to Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料) (20)

Realizling Dapr Observability Using Elastic Stack
Realizling Dapr Observability Using Elastic StackRealizling Dapr Observability Using Elastic Stack
Realizling Dapr Observability Using Elastic Stack
 
LTEモバイルクラウドセミナ[講演1] R 20101116
LTEモバイルクラウドセミナ[講演1] R 20101116LTEモバイルクラウドセミナ[講演1] R 20101116
LTEモバイルクラウドセミナ[講演1] R 20101116
 
Istio, Kubernetes and Cloud Foundry
Istio, Kubernetes and Cloud FoundryIstio, Kubernetes and Cloud Foundry
Istio, Kubernetes and Cloud Foundry
 
クラウド座談会資料
クラウド座談会資料クラウド座談会資料
クラウド座談会資料
 
5G時代のアプリケーションとは 〜 5G+MECを活用した低遅延アプリの実現へ 〜
5G時代のアプリケーションとは 〜 5G+MECを活用した低遅延アプリの実現へ 〜5G時代のアプリケーションとは 〜 5G+MECを活用した低遅延アプリの実現へ 〜
5G時代のアプリケーションとは 〜 5G+MECを活用した低遅延アプリの実現へ 〜
 
サーバーレスやマイクロサービスへの"チャレンジ"を後押ししてくれるセッションを紹介
サーバーレスやマイクロサービスへの"チャレンジ"を後押ししてくれるセッションを紹介サーバーレスやマイクロサービスへの"チャレンジ"を後押ししてくれるセッションを紹介
サーバーレスやマイクロサービスへの"チャレンジ"を後押ししてくれるセッションを紹介
 
【Connected.T5】SORACOMと繋がるクラウドサービス
【Connected.T5】SORACOMと繋がるクラウドサービス【Connected.T5】SORACOMと繋がるクラウドサービス
【Connected.T5】SORACOMと繋がるクラウドサービス
 
【Japan Partner Conference 2019】遂に来た! フルマーネージド Azure Red Hat OpenShift で実現する O...
【Japan Partner Conference 2019】遂に来た! フルマーネージド Azure Red Hat OpenShift で実現する O...【Japan Partner Conference 2019】遂に来た! フルマーネージド Azure Red Hat OpenShift で実現する O...
【Japan Partner Conference 2019】遂に来た! フルマーネージド Azure Red Hat OpenShift で実現する O...
 
Servcie Fabric and Cloud Design Pattern
Servcie Fabric and Cloud Design PatternServcie Fabric and Cloud Design Pattern
Servcie Fabric and Cloud Design Pattern
 
【de:code 2020】 Azure Expert MSP の FIXER が処方、DX に効く 「クラウド運用」「AI」「人材育成」 の即効薬
【de:code 2020】 Azure Expert MSP の FIXER が処方、DX に効く 「クラウド運用」「AI」「人材育成」 の即効薬【de:code 2020】 Azure Expert MSP の FIXER が処方、DX に効く 「クラウド運用」「AI」「人材育成」 の即効薬
【de:code 2020】 Azure Expert MSP の FIXER が処方、DX に効く 「クラウド運用」「AI」「人材育成」 の即効薬
 
マイクロサービスとそれを支えるアーキテクチャー
マイクロサービスとそれを支えるアーキテクチャーマイクロサービスとそれを支えるアーキテクチャー
マイクロサービスとそれを支えるアーキテクチャー
 
【de:code 2020】 ハイブリッド プラットフォームの最新動向を知る
【de:code 2020】 ハイブリッド プラットフォームの最新動向を知る【de:code 2020】 ハイブリッド プラットフォームの最新動向を知る
【de:code 2020】 ハイブリッド プラットフォームの最新動向を知る
 
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
 
GraphQLはどんな時に使うか
GraphQLはどんな時に使うかGraphQLはどんな時に使うか
GraphQLはどんな時に使うか
 
MLOps NYC 2019 and Strata Data Conference NY 2019 report nttdata
MLOps NYC 2019 and Strata Data Conference NY 2019 report nttdataMLOps NYC 2019 and Strata Data Conference NY 2019 report nttdata
MLOps NYC 2019 and Strata Data Conference NY 2019 report nttdata
 
ベンダーロックインフリーのビジネスクラウドの世界
ベンダーロックインフリーのビジネスクラウドの世界ベンダーロックインフリーのビジネスクラウドの世界
ベンダーロックインフリーのビジネスクラウドの世界
 
.NET の過去、現在、そして未来
.NET の過去、現在、そして未来.NET の過去、現在、そして未来
.NET の過去、現在、そして未来
 
Microsoft open tech night 2020 feb18
Microsoft open tech night 2020 feb18Microsoft open tech night 2020 feb18
Microsoft open tech night 2020 feb18
 
Project Hydrogen and Spark Graph - 分散処理 × AIをより身近にする、Apache Sparkの新機能 - (NTTデ...
Project Hydrogen and Spark Graph - 分散処理 × AIをより身近にする、Apache Sparkの新機能 - (NTTデ...Project Hydrogen and Spark Graph - 分散処理 × AIをより身近にする、Apache Sparkの新機能 - (NTTデ...
Project Hydrogen and Spark Graph - 分散処理 × AIをより身近にする、Apache Sparkの新機能 - (NTTデ...
 
Migrating tocloudnativeapplicationwithusingelasticapm
Migrating tocloudnativeapplicationwithusingelasticapmMigrating tocloudnativeapplicationwithusingelasticapm
Migrating tocloudnativeapplicationwithusingelasticapm
 

More from NTT DATA Technology & Innovation

OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)NTT DATA Technology & Innovation
 
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方NTT DATA Technology & Innovation
 
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...NTT DATA Technology & Innovation
 
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)NTT DATA Technology & Innovation
 
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)NTT DATA Technology & Innovation
 
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...NTT DATA Technology & Innovation
 
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)NTT DATA Technology & Innovation
 
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)NTT DATA Technology & Innovation
 
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)NTT DATA Technology & Innovation
 
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)NTT DATA Technology & Innovation
 
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...NTT DATA Technology & Innovation
 
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)NTT DATA Technology & Innovation
 
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)NTT DATA Technology & Innovation
 
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)NTT DATA Technology & Innovation
 
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...NTT DATA Technology & Innovation
 
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)NTT DATA Technology & Innovation
 
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)NTT DATA Technology & Innovation
 
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 

More from NTT DATA Technology & Innovation (20)

OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
 
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
 
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
 
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
 
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
 
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
 
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
 
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
 
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
 
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
 
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
 
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
 
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
 
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
 
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
 
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
 
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
 
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
 
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
 

Recently uploaded

SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 

Recently uploaded (9)

SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 

Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)