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
58
0
Share
Ruby-on-Infinispan: Cloud-tastic Data Grids for Ruby apps
Galder Zamarreño
May 11, 2011
More Decks by Galder Zamarreño
See All by Galder Zamarreño
Principles and Patterns for Streaming Data Analysis
galderz
0
130
Streaming Data Analysis with Kubernetes
galderz
0
2.6k
The Rough Guide to Java RPC Frameworks
galderz
1
7.1k
Streaming Data Analysis with Kubernetes
galderz
1
440
Streaming Data Workshop @ Codemotion Madrid
galderz
0
1.5k
Streaming Data : ni pierdas el tren, ni esperes en balde
galderz
0
3.1k
Data grids : descubre qué esconden los datos
galderz
0
3.2k
Streaming Data Workhop @ Devoxx
galderz
0
380
Streaming Data Analysis with Kubernetes
galderz
0
2.1k
Other Decks in Technology
See All in Technology
そのSLO 99.9%、本当に必要ですか? 〜優先度付きSLOによる責任共有の設計思想〜 / Is that 99.9% SLO really necessary? Design philosophy of shared responsibility through prioritized SLOs
vtryo
0
460
なぜ、私がCommunity Builderに?〜活動期間1か月半でも選出されたワケ〜
yama3133
0
110
10サービス以上のメール到達率改善を地道に継続的に進めている話 / Continue to improve email delivery rates across multiple services
yamaguchitk333
3
130
世界の中心でApp Runnerを叫ぶ FINAL
tsukuboshi
0
250
100マイクロサービスのTerraform/Kubernetes管理地獄から抜け出すためのAI活用術
markie1009
0
110
ServiceによるKubernetes通信制御ーClusterIPを例に
miku01
1
160
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
100k
EMから幅を広げるために最近挑戦していること / Recent challenges I'm undertaking to expand my horizons beyond EM
hiro_torii
1
180
[Scram Fest Niigata2026]Quality as Code〜AIにQAの思考を再現させる試み〜
masamiyajiri
1
300
多角的な視点から見たAGI
terisuke
0
130
AI 時代の Platform Engineering
recruitengineers
PRO
1
130
20260507-ACL-seminar
satoshi5884
0
100
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
247
13k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
500
Designing for humans not robots
tammielis
254
26k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
73k
Scaling GitHub
holman
464
140k
Site-Speed That Sticks
csswizardry
13
1.2k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
How GitHub (no longer) Works
holman
316
150k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
820
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