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
Scala at journi
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Christian Papauschek
October 28, 2014
Programming
260
1
Share
Scala at journi
Review of using Scala and Play Framework for 2 years at journi.
Christian Papauschek
October 28, 2014
Other Decks in Programming
See All in Programming
テレメトリーシグナルが導くパフォーマンス最適化 / Performance Optimization Driven by Telemetry Signals
seike460
PRO
2
200
Codex の「自走力」を高める
yorifuji
0
1.3k
Ruby and LLM Ecosystem 2nd
koic
1
1.4k
Codex CLI でつくる、Issue から merge までの開発フロー
amata1219
0
260
飯MCP
yusukebe
0
440
実践ハーネスエンジニアリング #MOSHTech
kajitack
7
5.2k
The free-lunch guide to idea circularity
hollycummins
0
390
ポーリング処理廃止によるイベント駆動アーキテクチャへの移行
seitarof
3
1.3k
PHPで TLSのプロトコルを実装してみる
higaki_program
0
650
20260320登壇資料
pharct
0
140
Claude Codeログ基盤の構築
giginet
PRO
7
3.8k
Understanding Apache Lucene - More than just full-text search
spinscale
0
150
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.7k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8k
Test your architecture with Archunit
thirion
1
2.2k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
240
How to make the Groovebox
asonas
2
2.1k
The Invisible Side of Design
smashingmag
302
51k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
230
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
160
A Soul's Torment
seathinner
5
2.6k
Thoughts on Productivity
jonyablonski
75
5.1k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Transcript
A travel journaling app & web platform at Christian @papauschek
Challenges Web & Mobile platform 15000 users, 800 daily active
users Real time (push-)notifications Storing lots of pictures (GBs / day) Handling Apple featurings …
Scala libraries we use • Play Framework 2.3 • Slick
2.1 • Akka (for “cronjobs”)
(Java libraries we use ;-) • ImgScalr • Amazon S3
Library • Twitter4J • LogEntries (Cloud logging) • Metadata extractor (EXIF) Started replacing them with Play-WS
Our experience • We love Scala. • We love Play
Framework 2. • We have a love / hate relationship with Slick 2.
• Having type-safe db access is great. • Having generated
SQL in combination with ancient query optimizers is not so great. • Had to write SQL manually in some cases :(
(intermission) Be careful when picking your database!
Framework 2 • Very stable • Very performant (something else
will be slow :D) • Team-friendly • Akka in the backend opens up possibilities • Exciting future (ScalaJS + Play2, anyone?)
Project structure 4 project modules web mobile common tools JS/HTML
JSON API everything and the kitchen sink command-line helpers
Where to run a Play 2 app? • Huge performance
differences (SSD!) • Huge price differences • We evaluated AWS / DigitalOcean / Linode / Hetzner
Server Monitoring • Find issues before they become real problems.
• Is Facebook down, or your app?
Uptime so far (includes 2 Apple featurings)
Thank you, Play Framework! ~148ms response time
Thanks! Got questions?