Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
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
710
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
KCD Suisse Romande 2025: Dapr meets OpenTelemetry
salaboy
0
25
Simplifying Cloud Native app testing across environments with Dapr and Microcks
salaboy
0
310
[Keynote] What do you need to know about DevEx in 2025
salaboy
0
270
Cloud Native Developer Experiences in 2025
salaboy
1
32
KubeCon 25 - London - CNCF Learning Lounge
salaboy
1
21
Keynote - KCD Brazil - Platform Engineering on K8s (portuguese)
salaboy
0
340
Dapr For Java Developers SouJava 25
salaboy
1
340
KCD Brazil '25: Enabling Developers with Dapr & Backstage
salaboy
1
370
Dapr for Java Developers (JJUG)
salaboy
0
340
Other Decks in Technology
See All in Technology
多様なデジタルアイデンティティを攻撃からどうやって守るのか / 20251212
ayokura
0
260
チーリンについて
hirotomotaguchi
3
490
re:Invent2025 コンテナ系アップデート振り返り(+CloudWatchログのアップデート紹介)
masukawa
0
310
pmconf2025 - 他社事例を"自社仕様化"する技術_iRAFT法
daichi_yamashita
0
780
ML PM Talk #1 - ML PMの分類に関する考察
lycorptech_jp
PRO
1
720
Playwright x GitHub Actionsで実現する「レビューしやすい」E2Eテストレポート
kinosuke01
0
350
Oracle Technology Night #95 GoldenGate 26ai の実装に迫る1
oracle4engineer
PRO
0
150
MapKitとオープンデータで実現する地図情報の拡張と可視化
zozotech
PRO
1
120
Playwrightのソースコードに見る、自動テストを自動で書く技術
yusukeiwaki
13
4.8k
今からでも間に合う!速習Devin入門とその活用方法
ismk
1
430
ログ管理の新たな可能性?CloudWatchの新機能をご紹介
ikumi_ono
0
490
品質のための共通認識
kakehashi
PRO
3
220
Featured
See All Featured
Facilitating Awesome Meetings
lara
57
6.7k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Rails Girls Zürich Keynote
gr2m
95
14k
Thoughts on Productivity
jonyablonski
73
5k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Git: the NoSQL Database
bkeepers
PRO
432
66k
Java REST API Framework Comparison - PWX 2021
mraible
34
9k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
Why Our Code Smells
bkeepers
PRO
340
57k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.8k
Unsuck your backbone
ammeep
671
58k
YesSQL, Process and Tooling at Scale
rocio
174
15k
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