1. Infinispan
Manik Surtani
Founder and project lead, Infinispan
Red Hat, Inc.
1 INFINISPAN | Manik Surtani | twitter.com/maniksurtani
2. Agenda
Cloud computing and data grids
And why you should care
Introducing Infinispan
And its relationship to JBoss Cache
The path ahead for Infinispan
Featureset and roadmap
2 INFINISPAN | Manik Surtani | twitter.com/maniksurtani
3. Clouds are here, clouds are now.
And will become mainstream
Whether public or private
Except for niche deployments
Why?
Cost: Piecemeal pricing, economies of scale, TCO
Manageability: Fast provisioning, implicit backups
Cope with load
Elasticity – scale out, scale back in again
Lack of single point of failure
3 INFINISPAN | Manik Surtani | twitter.com/maniksurtani
4. Why now? The perfect storm.
Enablers (technical):
Mature virtualization
Fast and cheap bandwidth
Drivers (financial):
Current state of world
economies?
4 INFINISPAN | Manik Surtani | twitter.com/maniksurtani
5. So why should I care?
The platform I use will still be
relevant
Java, Java EE
Python, Ruby, .NET
… Whatever!
The OS I use will still be relevant
Linux
Solaris
...
5 INFINISPAN | Manik Surtani | twitter.com/maniksurtani
6. Databases on the cloud
Databases and clouds don't like each other
Traditional mechanisms of data storage won't work
Clouds are inherently stateless and ephemeral
Scalability is crucial
Databases still are bottlenecks
Clouds need to be self-healing
Databases are single points of failure
6 INFINISPAN | Manik Surtani | twitter.com/maniksurtani
7. How do people deal with this?
Hacks to get databases on the cloud
E.g., MySQL on EC2
EBS? S3? Snapshots for backups?
Amazon RDS
FathomDB
7 INFINISPAN | Manik Surtani | twitter.com/maniksurtani
8. How do people deal with this?
Data grid solutions
Amazon SimpleDB
Infinispan
… many other commercial and OSS offerings
NoSQL solutions
Google DataStore service
MongoDB, CouchDB
… etc.
8 INFINISPAN | Manik Surtani | twitter.com/maniksurtani
9. In-memory Data Grids = Speed!
Low latency
Accessing memory orders of magnitude faster than disk
seek
Far greater concurrency
Memory handles concurrent hardware threads better than
disk access
9 INFINISPAN | Manik Surtani | twitter.com/maniksurtani
11. Infinispan and JBoss Cache
Scalable data grid platform
open source - LGPL
Based on some JBoss Cache code ... but mostly all-new
JBoss Cache ...
... is a clustered caching library
... exposes a tree-structured API
Infinispan...
... is a data grid platform
... has a Map-like API - compatible with JSR-107
11 INFINISPAN | Manik Surtani | twitter.com/maniksurtani
12. Infinispan != JBoss Cache 4
New Architecture
Internal data container design completely different
Cutting edge algorithms
New APIs
APIs completely different
Not backward-compatible
Although an code-level compatibility layer is available
New Expectations
Designed for a wider scope of purpose
12 INFINISPAN | Manik Surtani | twitter.com/maniksurtani
13. Greater scalability
Internal structures more memory efficient
Data organized in Map-like structures
As opposed to a tree
Making better use of CAS
minimizing synchronized blocks, mutexes
optimized for multicore
Containers are naturally ordered
makes eviction much more efficient
Uses JBoss Marshalling
smaller payloads + poolable streams = faster remote calls
13 INFINISPAN | Manik Surtani | twitter.com/maniksurtani
14. Borrowed from JBoss Cache
JTA transactions
Replicated data structure
Eviction, cache persistence
Notifications and eventing API
JMX reporting
MVCC locking
Non-blocking state transfer techniques
Querying and indexing
14 INFINISPAN | Manik Surtani | twitter.com/maniksurtani
15. New in Infinispan
Consistent hash based data distribution
Much simpler Map API (JSR-107 compliant)
JPA-like API
Client/server module
memcached compatibility
HotRod - binary protocol to support “smart clients”
REST API
REST-* caching spec effort
15 INFINISPAN | Manik Surtani | twitter.com/maniksurtani
16. New in Infinispan
Ability to be consumed by non-JVM platforms
JOPR based GUI management console
Distributed execution
Map/reduce programming model made easy!
Familiar, standard fork/join API
16 INFINISPAN | Manik Surtani | twitter.com/maniksurtani
17. Why is Infinispan sexy?
1. Transparent horizontal scalability
Elastic in both directions
2. Fast, low latency data access
3. Ability to address a very large heap
4. Cloud-ready datastore
5. Not just for Java
6. Active, welcoming and democratic developer
community
7. Free and doesn't suck!
17 INFINISPAN | Manik Surtani | twitter.com/maniksurtani
18. To sum things up...
Clouds are becoming mainstream
Developers need to think about challenges involved
DBs and clouds pose many challenges
Data grids offer a good alternative
Infinispan, a new open source data grid
Viable cloud data store
Not just for clouds: remove bottlenecks and single points
of failure in non-cloud environments too
18 INFINISPAN | Manik Surtani | twitter.com/maniksurtani
19. How can you participate?
Download and try it out!
Report bugs in code, even docs, wikis, etc.
Suggest new features!
Test with your own use cases
We love to hear how people use our stuff!!
Lend a hand with development
Open and democratic dev process
Helps prioritize features you want!
19 INFINISPAN | Manik Surtani | twitter.com/maniksurtani