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
Ruby-on-Infinispan: Cloud-tastic Data Grids for...
Search
Galder Zamarreño
May 11, 2011
Technology
0
53
Ruby-on-Infinispan: Cloud-tastic Data Grids for Ruby apps
Galder Zamarreño
May 11, 2011
Tweet
Share
More Decks by Galder Zamarreño
See All by Galder Zamarreño
Principles and Patterns for Streaming Data Analysis
galderz
0
99
Streaming Data Analysis with Kubernetes
galderz
0
2.5k
The Rough Guide to Java RPC Frameworks
galderz
1
7k
Streaming Data Analysis with Kubernetes
galderz
1
410
Streaming Data Workshop @ Codemotion Madrid
galderz
0
1.4k
Streaming Data : ni pierdas el tren, ni esperes en balde
galderz
0
3k
Data grids : descubre qué esconden los datos
galderz
0
3.1k
Streaming Data Workhop @ Devoxx
galderz
0
360
Streaming Data Analysis with Kubernetes
galderz
0
2k
Other Decks in Technology
See All in Technology
コンパウンド組織のCRE #cre_meetup
layerx
PRO
1
230
Okta Identity Governanceで実現する最小権限の原則 / Implementing the Principle of Least Privilege with Okta Identity Governance
tatsumin39
0
160
webpack依存からの脱却!快適フロントエンド開発をViteで実現する #vuefes
bengo4com
2
2.5k
現場データから見える、開発生産性の変化コード生成AI導入・運用のリアル〜 / Changes in Development Productivity and Operational Challenges Following the Introduction of Code Generation AI
nttcom
1
440
AI時代の開発を加速する組織づくり - ブログでは書けなかったリアル
hiro8ma
1
260
AI-Readyを目指した非構造化データのメダリオンアーキテクチャ
r_miura
1
280
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
940
組織改革から開発効率向上まで! - 成功事例から見えたAI活用のポイント - / 20251016 Tetsuharu Kokaki
shift_evolve
PRO
2
230
あなたの知らない Linuxカーネル脆弱性の世界
recruitengineers
PRO
3
140
アウトプットから始めるOSSコントリビューション 〜eslint-plugin-vueの場合〜 #vuefes
bengo4com
3
410
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
14k
もう外には出ない。より快適なフルリモート環境を目指して
mottyzzz
13
9.1k
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
79
6k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.7k
Facilitating Awesome Meetings
lara
57
6.6k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Become a Pro
speakerdeck
PRO
29
5.6k
Rails Girls Zürich Keynote
gr2m
95
14k
Building an army of robots
kneath
305
46k
The Straight Up "How To Draw Better" Workshop
denniskardys
238
140k
Why Our Code Smells
bkeepers
PRO
340
57k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
The Language of Interfaces
destraynor
162
25k
Building Better People: How to give real-time feedback that sticks.
wjessup
369
20k
Transcript
Thursday, November 3, 11
Ruby-on-Infinispan Cloud-tastic Data Grids for Ruby apps Galder Zamarreño Senior
Software Engineer Red Hat, Inc Thursday, November 3, 11
Galder Zamarreño • R&D Engineer, Red Hat Inc. • Infinispan
developer • Work on various JBoss projects • Twitter: @galderz • Blog: zamarreno.com Thursday, November 3, 11
Agenda • What is TorqueBox? • Rails caching limitations •
What is Infinispan? • TorqueBoxStore • Cloud storage with Infinispan Thursday, November 3, 11
What is TorqueBox? The mating of JRuby to JBoss Application
Server Thursday, November 3, 11
What is TorqueBox? Thursday, November 3, 11
Goals of TorqueBox • Support Ruby web frameworks • Rails,
Sinatra, Rack • Go beyond web • Messaging • Enterprise-Grade Caching • Data Grid Storage Thursday, November 3, 11
Hmmm, but... ... Rails already supports caching ... and why
would I want to store data in a data grid? Thursday, November 3, 11
What’s wrong with Rails caching? Thursday, November 3, 11
Caches are OK Actually, action and fragment caches are useful
in production but they don’t cover all needs Thursday, November 3, 11
Cache Stores Choice provided by Rails is a bit limited...
Thursday, November 3, 11
MemoryStore Does not share cache contents and is not concurrent-safe
Thursday, November 3, 11
MemCacheStore Caches in Danga’s Memcached servers Probably the most popular
option in production Thursday, November 3, 11
MemCacheStore Do you really need a separate process for a
cache? Cache operations not local... Thursday, November 3, 11
TorqueBoxStore Brand new store! Integrates with Infinispan, a data grid
platform from JBoss Thursday, November 3, 11
Introducing Thursday, November 3, 11
What is Infinispan? An in-memory, highly available, elastic, and open
source (LGPL) data grid platform Thursday, November 3, 11
Clustered Consistency achieved via invalidation, replication and distribution modes Thursday,
November 3, 11
API Map-like key/value store and JPA layer via Hibernate OGM
Thursday, November 3, 11
Embedded Access Thursday, November 3, 11
Remote Access •Via protocols : •REST •Hot Rod Thursday, November
3, 11
And more... • Highly concurrent with MVCC locking • Persistence,
not just in-memory • Adaptive eviction and expiration • JMX and RHQ server monitoring • ...etc Thursday, November 3, 11
Why should I use TorqueBoxStore? Thursday, November 3, 11
TorqueBoxStore Provides a local, in-memory, highly-concurrent, clustered cache Thursday, November
3, 11
config/application.rb Thursday, November 3, 11
Default Cache Mode When TorqueBox clustered, it uses Invalidation, otherwise
it’s just Local Thursday, November 3, 11
Beyond Rails Caching... Thursday, November 3, 11
Durable Counters Thursday, November 3, 11
Enough of caching... Thursday, November 3, 11
What’s all about data grid storage? Thursday, November 3, 11
Traditional 3-tier App Thursday, November 3, 11
Typical IaaS App Thursday, November 3, 11
Traditional PaaS App Thursday, November 3, 11
Where’s your data stored?? Thursday, November 3, 11
Clouds are ephemeral!! Thursday, November 3, 11
State Thursday, November 3, 11
Virtualizing Data Some public services exist (i.e. Amazon RDS), but
not all cloud deployments are public! Thursday, November 3, 11
Characteristics of DaaS Elastic, scalable and highly available! Thursday, November
3, 11
DaaS with Infinispan Thursday, November 3, 11
Architecture Manage and Monitor Thursday, November 3, 11
What are those Infinispan nodes?? Thursday, November 3, 11
Either • Infinispan Hot Rod servers started via: • or
servlet container w/ Infinispan REST war • or JBoss Enterprise Data Grid nodes Thursday, November 3, 11
How do Ruby apps talk to them? Thursday, November 3,
11
Talk to Infinispan REST Thursday, November 3, 11
Hmm, Hot Rod is a custom protocol... Thursday, November 3,
11
JRuby Hot Rod client github.com/noelo/hotrod-jruby.git Thursday, November 3, 11
What’s next? Thursday, November 3, 11
Roadmap ActiveModel backend that stores stuff in Infinispan data grid
nodes Thursday, November 3, 11
Summary TorqueBoxStore: in-memory, clustered & highly concurrent Rails and low
level caching! Thursday, November 3, 11
Summary Infinispan servers: distributed, elastic and highly available cloud-ready store
Thursday, November 3, 11
Questions? torquebox.org - infinispan.org #torquebox #infinispan on IRC @torquebox -
@infinispan speakerrate.com/galder Thursday, November 3, 11