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
760
0
Share
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
More Decks by Salaboy
See All by Salaboy
Spring I/O 2026: Durable, Observabable and Testable Spring AI Applications
salaboy
0
5
Developer Experience in the age of AI
salaboy
0
7
KCD Suisse Romande 2025: Dapr meets OpenTelemetry
salaboy
1
50
Simplifying Cloud Native app testing across environments with Dapr and Microcks
salaboy
0
540
[Keynote] What do you need to know about DevEx in 2025
salaboy
0
360
Cloud Native Developer Experiences in 2025
salaboy
1
42
KubeCon 25 - London - CNCF Learning Lounge
salaboy
1
38
Keynote - KCD Brazil - Platform Engineering on K8s (portuguese)
salaboy
0
440
Dapr For Java Developers SouJava 25
salaboy
1
420
Other Decks in Technology
See All in Technology
機能・非機能の学びを一つに!Agent Skillsで月間レポート作成始めてみた / Unifying Bug & Infra Insights — Building Monthly Quality Reports with Agent Skills
bun913
5
3.7k
Databricks Appsで実現する社内向けAIアプリ開発の効率化
r_miura
0
340
BIツール「Omni」の紹介 @Snowflake中部UG
sagara
0
240
ADOTで始めるサーバレスアーキテクチャのオブザーバビリティ
alchemy1115
2
260
ある製造業の会社全体のAI化に1エンジニアが挑んだ話
kitami
2
190
Babylon.js を使って試した色々な内容 / Various things I tried using Babylon.js / Babylon.js 勉強会 vol.5
you
PRO
0
260
AWSで2番目にリリースされたサービスについてお話しします(諸説あります)
yama3133
0
130
Podcast配信で広がったアウトプットの輪~70人と音声発信してきた7年間~/outputconf_01
fortegp05
0
240
自己組織化を試される緑茶ハイを求めて、今日も全力であそんで学ぼう / Self-Organization and Shochu Green Tea
naitosatoshi
0
290
第26回FA設備技術勉強会 - Claude/Claude_codeでデータ分析 -
happysamurai294
0
390
サイバーフィジカル社会とは何か / What Is a Cyber-Physical Society?
ks91
PRO
0
150
AIがコードを書く時代の ジェネレーティブプログラミング
polidog
PRO
3
620
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
174
15k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
Skip the Path - Find Your Career Trail
mkilby
1
100
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
Darren the Foodie - Storyboard
khoart
PRO
3
3.1k
The Pragmatic Product Professional
lauravandoore
37
7.2k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
320
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
200
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
170
Reality Check: Gamification 10 Years Later
codingconduct
0
2.1k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
96
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