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
Inside http://spring.io
Search
Brian Clozel
April 30, 2015
Programming
1
360
Inside http://spring.io
a production spring reference application
Brian Clozel
April 30, 2015
Tweet
Share
More Decks by Brian Clozel
See All by Brian Clozel
Back from SpringOnePlatform 2019
bclozel
4
230
Intro à Spring Boot
bclozel
0
150
Cloud native apps with Spring Cloud
bclozel
1
720
HTTP2 for the web developer devoxx
bclozel
0
190
HTTP2 for the web developer
bclozel
1
150
Static Resources Management with Spring
bclozel
0
360
Intro to Spring Boot
bclozel
4
2.7k
Inside spring.io: a production spring reference application
bclozel
0
150
Open-sourcing http://spring.io
bclozel
1
650
Other Decks in Programming
See All in Programming
Pythonスレッドとは結局何なのか? CPython実装から見るNoGIL時代の変化
curekoshimizu
4
1.3k
エンジニアとして高みを目指す、 利益を生み出す設計の考え方 / design-for-profit
minodriven
23
12k
私達はmodernize packageに夢を見るか feat. go/analysis, go/ast / Go Conference 2025
kaorumuta
2
490
GraphQL×Railsアプリのデータベース負荷分散 - 月間3,000万人利用サービスを無停止で
koxya
1
1.2k
なぜあの開発者はDevRelに伴走し続けるのか / Why Does That Developer Keep Running Alongside DevRel?
nrslib
3
370
CSC305 Lecture 01
javiergs
PRO
1
400
GitHub Actions × AWS OIDC連携の仕組みと経緯を理解する
ota1022
0
240
ポスターセッション: 「まっすぐ行って、右!」って言ってラズパイカーを動かしたい 〜生成AI × Raspberry Pi Pico × Gradioの試作メモ〜
komofr
0
970
プログラミングどうやる? ~テスト駆動開発から学ぶ達人の型~
a_okui
0
190
Introducing ReActionView: A new ActionView-Compatible ERB Engine @ Kaigi on Rails 2025, Tokyo, Japan
marcoroth
3
920
overlayPreferenceValue で実現する ピュア SwiftUI な AdMob ネイティブ広告
uhucream
0
110
CSC305 Lecture 03
javiergs
PRO
0
230
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
32
2.2k
Gamification - CAS2011
davidbonilla
81
5.5k
Mobile First: as difficult as doing things right
swwweet
224
10k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Code Reviewing Like a Champion
maltzj
525
40k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.7k
Git: the NoSQL Database
bkeepers
PRO
431
66k
Faster Mobile Websites
deanohume
310
31k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
2.6k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
Transcript
Inside http://spring.io Brian Clozel @brianclozel
Chris Beams - spring.io is live!
None
None
None
None
None
Brian Clozel @brianclozel http://spring.io/team/bclozel
1. Open Sourcing 2. Evolving 3. Latest improvements
Sagan application 10 Open sourcing Sagan
Example/Sample Application
Reference Application
Reference Application + live in production + open source
None
15
16 github.com/spring-io/sagan
17 BSD 3 License master branch == production
Sagan project layout 18
19 Resource Handling with Spring 4.1 workshop Missed it? http://bit.ly/resourcehandling
20 Spring Boot \o/
21 @EnableAutoConfiguration // <- THIS! @Configuration @ComponentScan public class AppConfiguration
{ }
22 curl spring.io/info curl spring.io/autoconfig curl spring.io/health curl spring.io/beans *
some endpoints are protected!
Evolving Sagan 23 while still being live in production
24 // JDK8 streams! List<String> projectVersions = project.getProjectReleases().stream() .map(ProjectRelease::getVersion) .collect(Collectors.toList());
25 Spring IO Platform dependencies { versionManagement 'io.spring.platform:platform-versions: 1.1.2.RELEASE@properties' }
26 <!—- in dependencyManagement —-> <dependency> <groupId>io.spring.platform</groupId> <artifactId>platform-bom</artifactId> <version>1.1.2.RELEASE</version> <type>pom</type>
<scope>import</scope> </dependency>
27 Distributed team
28
29
30
31 Blue/Green deployments
32 Sagan Blue instances CF Router (golang) Sagan Green instances
Latest improvements 33 …and what’s next?
34 Refactoring, Maintenance, Production issues…
35
36
37
None
None
None
None
None
43
44 Asciidoctor documents
None
46 spring-data-redis + @Cacheable annotations
sagan-site hosted on PWS GET http://spring.io search - get raw
guides - webhooks ElephantSQL redis
Q&A 48 …and what’s next?
One more thing 49 a.k.a « we have some time
left »
50 Database Migration
51 Session Management
52 Search Improvements
53 SPRING CLOUD
service B Cascading Faults service A
service B service A Circuit breaker Hystrix Fallback
Q&A 56 #springio15