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
94
Streaming Data Analysis with Kubernetes
galderz
0
2.4k
The Rough Guide to Java RPC Frameworks
galderz
1
7k
Streaming Data Analysis with Kubernetes
galderz
1
400
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
3k
Streaming Data Workhop @ Devoxx
galderz
0
350
Streaming Data Analysis with Kubernetes
galderz
0
2k
Other Decks in Technology
See All in Technology
SpringBoot x TestContainerで実現するポータブル自動結合テスト
demaecan
0
130
GeminiとNotebookLMによる金融実務の業務革新
abenben
0
250
Lazy application authentication with Tailscale
bluehatbrit
0
120
Understanding_Thread_Tuning_for_Inference_Servers_of_Deep_Models.pdf
lycorptech_jp
PRO
0
150
AIとともに進化するエンジニアリング / Engineering-Evolving-with-AI_final.pdf
lycorptech_jp
PRO
0
140
asken AI勉強会(Android)
tadashi_sato
0
150
開発生産性を組織全体の「生産性」へ! 部門間連携の壁を越える実践的ステップ
sudo5in5k
1
1.2k
How Community Opened Global Doors
hiroramos4
PRO
1
130
Zephyr RTOSを使った開発コンペに参加した件
iotengineer22
1
170
事業成長の裏側:エンジニア組織と開発生産性の進化 / 20250703 Rinto Ikenoue
shift_evolve
PRO
2
3.6k
CI/CD/IaC 久々に0から環境を作ったらこうなりました
kaz29
1
200
KiCadでPad on Viaの基板作ってみた
iotengineer22
0
180
Featured
See All Featured
Writing Fast Ruby
sferik
628
62k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.3k
Building an army of robots
kneath
306
45k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
720
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.5k
Embracing the Ebb and Flow
colly
86
4.7k
Six Lessons from altMBA
skipperchong
28
3.9k
BBQ
matthewcrist
89
9.7k
Why Our Code Smells
bkeepers
PRO
337
57k
Build The Right Thing And Hit Your Dates
maggiecrowley
36
2.8k
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.4k
It's Worth the Effort
3n
185
28k
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