Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
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
720
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
27
Simplifying Cloud Native app testing across environments with Dapr and Microcks
salaboy
0
320
[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
22
Keynote - KCD Brazil - Platform Engineering on K8s (portuguese)
salaboy
0
350
Dapr For Java Developers SouJava 25
salaboy
1
350
KCD Brazil '25: Enabling Developers with Dapr & Backstage
salaboy
1
380
Dapr for Java Developers (JJUG)
salaboy
0
360
Other Decks in Technology
See All in Technology
打 造 A I 驅 動 的 G i t H u b ⾃ 動 化 ⼯ 作 流 程
appleboy
0
360
Amazon Quick Suite で始める手軽な AI エージェント
shimy
0
140
Snowflakeでデータ基盤を もう一度作り直すなら / rebuilding-data-platform-with-snowflake
pei0804
6
1.6k
regrowth_tokyo_2025_securityagent
hiashisan
0
250
ChatGPTで論⽂は読めるのか
spatial_ai_network
11
29k
ExpoのインダストリーブースでみたAWSが見せる製造業の未来
hamadakoji
0
150
評価駆動開発で不確実性を制御する - MLflow 3が支えるエージェント開発
databricksjapan
1
210
AWSを使う上で最低限知っておきたいセキュリティ研修を社内で実施した話 ~みんなでやるセキュリティ~
maimyyym
2
1.7k
プロンプトやエージェントを自動的に作る方法
shibuiwilliam
13
11k
Fashion×AI「似合う」を届けるためのWEARのAI戦略
zozotech
PRO
2
830
会社紹介資料 / Sansan Company Profile
sansan33
PRO
11
390k
Jakarta Agentic AI Specification - Status and Future
reza_rahman
0
110
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Music & Morning Musume
bryan
46
7k
The Invisible Side of Design
smashingmag
302
51k
We Have a Design System, Now What?
morganepeng
54
7.9k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Code Reviewing Like a Champion
maltzj
527
40k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.2k
Bash Introduction
62gerente
615
210k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.3k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Documentation Writing (for coders)
carmenintech
77
5.2k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
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