Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Spring I/O 2023 - Spring Boot in a Cloud-Native...
Search
Salaboy
May 19, 2023
Technology
0
680
Spring I/O 2023 - Spring Boot in a Cloud-Native Polyglot World
for more info, visit:
https://www.salaboy.com/spring-io-2023
Salaboy
May 19, 2023
Tweet
Share
More Decks by Salaboy
See All by Salaboy
Cloud Native Developer Experiences in 2025
salaboy
1
28
KubeCon 25 - London - CNCF Learning Lounge
salaboy
1
15
Keynote - KCD Brazil - Platform Engineering on K8s (portuguese)
salaboy
0
260
Dapr For Java Developers SouJava 25
salaboy
1
270
KCD Brazil '25: Enabling Developers with Dapr & Backstage
salaboy
1
280
Dapr for Java Developers (JJUG)
salaboy
0
240
Platform Engineering on Kubernetes (update) - CNAI - Japan Feb '25
salaboy
1
320
Platform Engineering on Kubernetes 2025
salaboy
1
35
IsItObservable Webinar 2024
salaboy
1
67
Other Decks in Technology
See All in Technology
『FailNet~やらかし共有SNS~』エレベーターピッチ
yokomachi
1
170
Yahoo!ニュースにおけるソフトウェア開発
lycorptech_jp
PRO
0
520
Browser
recruitengineers
PRO
6
1.8k
そのコンポーネント、サーバー?クライアント?App Router開発のモヤモヤを可視化する補助輪
makotot
4
760
kintone開発チームの紹介
cybozuinsideout
PRO
0
73k
Gaze-LLE: Gaze Target Estimation via Large-Scale Learned Encoders
kzykmyzw
0
400
役割は変わっても、変わらないもの 〜スクラムマスターからEMへの転身で学んだ信頼構築の本質〜 / How to build trust
shinop
0
110
Product Management Conference -AI時代に進化するPdM-
kojima111
0
260
VPC Latticeのサービスエンドポイント機能を使用した複数VPCアクセス
duelist2020jp
0
330
クラウドセキュリティを支える技術と運用の最前線 / Cutting-edge Technologies and Operations Supporting Cloud Security
yuj1osm
2
120
シークレット管理だけじゃない!HashiCorp Vault でデータ暗号化をしよう / Beyond Secret Management! Let's Encrypt Data with HashiCorp Vault
nnstt1
2
120
ドキュメントはAIの味方!スタートアップのアジャイルを加速するADR
kawauso
3
460
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.8k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Testing 201, or: Great Expectations
jmmastey
45
7.6k
Become a Pro
speakerdeck
PRO
29
5.5k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Agile that works and the tools we love
rasmusluckow
330
21k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Transcript
@salaboy - Spring I/O - Barcelona 2023 Spring Boot in
a Polyglot Cloud- Native World With Dapr
Agenda • Our Spring Boot Cloud-Native Applications • Common patterns
and abstractions • The relationship betwee apps and infra • Kubernetes = Deploy + Run • Platform Building in the Cloud-Native Space • Platform Capabilities • Dapr on K8s • Dapr and TestContainers
MAURICIO SALATINO / WWW.SALABOY.COM @SALABOY
PLATFORMS ON K8S 40% DISCOUNT: SALATINO40
PLATFORMS ON K8S SALATINO40 😢 😢 😢 😢 😢 😢
#1: How many Java Developers are in the room? Time:
10
#1: How many Java Developers are in the room? Time:
8
#1: How many Java Developers are in the room? Time:
5
#1: How many Java Developers are in the room? Time:
3
#1: How many Java Developers are in the room? Time
Out!
Fetching results
Fetching results….
Fetching results………
Fetching results………..…
Fetching results………………
Java Developers Java/Spring Developers: 80% Others (WASM, C (””,#,++), Go,
Flash): 20%
#2: Do you have more than one Application?
Applications One App -> 30% More than one -> 70%
No Apps -> ??
#3: Does your applications read or write data? (From storage,
db, files, buckets)
Data? Or no Data? Most of them -> 70% Nope
-> 20% I don’t understand the question -> 10%
#4: Does your applications consume or emit events/messages?
Async Messages Some of them -> 30% Nope -> 50%
I don’t understand the question -> 20%
#5: Does your applications to talk to each other?
Chatty apps Yes using REST -> 40% Yes using GRPC
-> 40% Other -> 30% No / I don’t understand the question -> 30%
Facts / Results App A App B App C
None
INFRASTRUCTURE
DATA Spring Boot Data JPA Redis MongoDB Oracle PostgreSQL MySQL
MongoDB Client Redis Client Drivers / CIients JOOQ JBDC Abstractions
MESSAGING Spring Boot Integration JMS RabbitMQ Kafka Client RabbitMQ Client
CIients AMQP Kafka Rsocket Pulsar Pulsar Client AMQP Clients Abstractions/Protocols
12-factor / Cloud-Native Envrionment Variables Development Testing Staging Production
Upgrading App A 1.5.0 V3.4.X V1.2.X Redis Client V3.4.3 Kafka
Client V1.2.3 App B 3.4.0 Redis Client V3.5.1 Kafka Client V2.2.3
[Apps + Deps ] <==> Infra
[Apps + Framework + Deps] <==> Infra
Polyglot? App A 1.5.0 (Java) V3.4.X V1.2.X Redis Client V3.4.3
Kafka Client V1.2.3 App B 3.4.0 (Go) Redis Client V3.4.3 Kafka Client V1.2.3 Abstractions / Frameworks Abstractions / Frameworks
KUBERNETES
DEPLOY AND RUN
WHY?
YAML {
Demo #1 Let’s do it!
YAML {
We will need some tools! 🛠🪓
🤯
THE PLATFORM ENGINEERING BUZZ 🤔
👷🔧 🪓👷 Devs Infra SREs Data Scientists { } THE
PLATFORM TEAM
My Platform Platform APIs Self Service Golden Paths THE PLATFORM
CNCF TAG APP DELIVERY https://tag-app-delivery.cncf.io/whitepapers/platforms/
Apps APIs Exchanging Messages/ Events Storing and Reading Data Observability
Resiliency Dynamic Scaling Release Strategies Feature Flags Work f lows Traf f ic Management PLATFORM CAPABILITIES Tools Capabilities
https://www.aviransplace.com/post/platform-as-a-runtime-paar-beyond-platform-engineering
None
DISCLAIMER
None
->
App A 1.5.0 (Java) App B 3.4.0 (Go) Abstractions /
Frameworks Abstractions / Frameworks Dapr Sidecar Dapr Sidecar Local HTTP/GRPC Local HTTP/GRPC Dapr StateStore Component Dapr PubSub Component Dapr Resiliency Policies
Read App Write App Subscribe App Frontend App Dapr StateStore
Component Dapr PubSub Component Dapr Resiliency Policies Dapr Service Discovery
Demo #2
Read App Write App Subscribe App Frontend App Dapr StateStore
Component Dapr PubSub Component Dapr Resiliency Policies Dapr Service Discovery Do Some SQL 5% 95%
None
💻🤔
❤ ❤ ❤ ❤ ❤❤ ❤ ❤ ❤ ❤ 🥳
Read App Write App Subscribe App Dapr StateStore Dapr PubSub
Dapr Resiliency Policies Dapr Service Discovery Dapr PubSub Dapr Resiliency Policies Dapr StateStore 🪄
Demo #3
Takeaways
Use the right abstractions to enable teams to go faster
Break dependencies from infra
For language-agnostic application level APIs
Wire cloud native apps locally
Thanks @Salaboy
PLATFORMS ON K8S 40% DISCOUNT: SALATINO40