You are on page 1of 29

IBM WebSphere eXtreme Scale & XC10:

An introduction to Elastic Caching


Seema Kumar
WebSphere Product Management

Agenda

What is Elastic Cache?


WebSphere eXtreme Scale v7.1
WebSphere DataPower XC10 Appliance
Common Usage Patterns

What is Elastic Cache?


A flexible framework for realizing high
performance, scalable and data-intensive
applications

New York

San Francisco

London

Shanghai

3 Use Cases

Very powerful cache


Scales from simple inprocess topologies to
powerful distributed
topologies.

Form of in-memory data grid


Manage application state
Scales to 1000s of servers
Sometimes referred to as
Distributed Application
State Management.

Platform for building


powerful XTP/Data Grid
applications

Modern Application Infrastructure Topology


Web Server Tier

App Server Tier

Elastic Data Grid

Back-end Systems
Database Tier

1
DataPower XC10 for simple
data oriented scenarios:
HTTP Session Replication
Elastic Dynacache
Web Side Cache

IBM HTTP Server

WebSphere
Application Server

eXtreme Scale for maximum


flexibility covering data and
application oriented scenarios

DB2 UDB
5

When do I need an Elastic Grid?

Traditional Cache Operation

Invalidation load per


server increases as cluster
grows.

Cold start servers hit the


database.

Application
Application A
Application A
Application A

Invalidation load
increases with cluster
size

Invalidation Chatter

Cache capacity
determined by individual
JVM Size.
Size of each cache = M
# JVMs = N
Total cache = M

New Server
with cold cache

Database

Application A
Redundant copies of data
at different versions

High load on
Database

WebSphere eXtreme Scale Cache Operation


Cache capacity determined by
total cluster size
Size of each cache = M
# JVMs = N
Total Cache = M x N

No invalidation chatter

Linearly scalable

Less load on database and no


cold start spikes

Application E
Application A

D
E

Application B

Application C

Application D

Cache
5x Larger
Cache
4x Larger

Innovative Elastic Caching Solutions


Data Oriented
Session management
Elastic DynaCache

DataPower XC10 Appliance


Drop-in cache solution
optimized and hardened
for data oriented
scenarios
High density, low
footprint improves
datacenter efficiency

Web side cache


Petabyte analytics
Data buffer
Event Processing
Worldwide cache
In-memory OLTP
In-memory SOA

Application Oriented

eXtreme Scale
Ultimate flexibility across
a broad range of caching
scenarios
In-memory capabilities
for application oriented
scenarios

Elastic caching for linear scalability


High availability data replication
Simplified management, monitoring and administration

IBM WebSphere eXtreme Scale

Proven mature product:

Fourth major release of product with V7.1 in 2010


Used at some of the largest web sites in the world

Lightweight runtime footprint (15MB jar)

Integrates with all versions of WebSphere


Application Server and almost any Java-based
application container or Java Virtual Machine

Only requires JavaTM SE run-time environment

Exploits WAS-ND environment when available

Meets the needs of a variety of application


environments:
Java SE, Java EE (WAS, WebLogic, Tomcat),
as well as for .Net applications via REST APIs*

Proven multi-data center capabilities

Proven low-latency access to data


10

10

IBM WebSphere DataPower XC10 Appliance V2


Scale out with ease

Large, 240GB elastic cache allows you to


scale more economically while providing high
Quality of Service
Scales elastically without application downtime
Linear, predictable scaling at predictable cost

Easy drop in use for common


scenarios

Support for data-oriented caching scenarios


without rip & replace
Unbinds cache from application server memory
constraints

Fault tolerance

Lower risk of data loss while providing


continuous availability

Flexible and simple user


management

Simple solution for real world management


and monitoring
11

11

Easy drop-in use for common scenarios


Simple Cache
HTTP Session Cache
WAS Dynamic Cache
Service (Dynacache)
support

Little or no code
changes required!
12

Fault Tolerance
Create an appliance collective
for high availability
Lowers risk of data loss through
automatic replication of data
Continuous Availability!
Self Healing - Failures are
automatically detected
Easy to configure

13

Common Elastic Caching Scenarios


HTTP Session Replication
Side Cache
Data Access Layer
Data Grid

14
14

HTTP Session Replication

Many enterprise applications today


require HTTP session persistence.
A grid of JVMs can be established
with the sole purpose of storing
HTTP session (or any java)
objects.
Isolating the application runtime
from grid runtime, thereby, freeing
up the JVM heap for application
use.
Provide linear scalability to
accommodate growth (in # of
sessions or size of session
objects).
Providing replication and
management of session objects
within the grid.
Can even store session objects
across datacenters.

Web App Layer


Session Grid

15
15

Common set of Patterns - HTTP Session data cache


No new code required
Extension of legacy session management caching mechanism in WebSphere Application
Server
Extensions to WebSphere Application Server administrative console to support WebSphere
DataPower XC10 session management caching and WebSphere eXtreme Scale session
management caching
WebSphere Application Server connects seamlessly to the WebSphere DataPower XC10
appliance or WebSphere eXtreme Scale
Client code must be installed on WebSphere Application Server systems

Easily configure WebSphere applications to store HTTP session data to a data cache on the
WebSphere DataPower XC10 appliance through the WebSphere Application Sever
administrative console
Replaces other session replication mechanisms (memory-to-memory replication)
Removes the need for Database traditionally used for persistence
Enables HTTP session failover between WebSphere Application Server cells

16
16

DataPower XC10 Overview

Active/Active Datacenter HTTP Session Failover


Datacenter1

WebSphere eXtreme Scale

Datacenter2

OR
Deployment Manager

Deployment Manager

memory to memory
replication

PlantsByWebSphere
Cluster

memory to memory
replication

xPlantsByWebSphere
Cluster

xPlantsByWebSphere
Cluster

PlantsByWebSphere
Cluster

Web Server
17

Side Cache
Client first checks the grid before using
the data access layer to connect to a
back end data store.
If an object is not returned from the grid
(a cache miss), the client uses the data
access layer as usual to retrieve the data.
The result is put into the grid to enable
faster access the next time.
The back end remains the system of
record, and usually only a small amount
of the data is cached in the grid.
An object is stored only once in the
cache, even if multiple clients use it.
Thus, more memory is available for
caching, more data can be cached, which
increases the cache hit rate.
Improve performance and offload
unnecessary workload on backend
systems.
18
18

Elastic Caching used as a Side Cache


Used to store data for fast, lower-cost access than a database
Uses ObjectMap APIs from WebSphere eXtreme Scale
Client can run in a standard Java EE compliant server environment or in
any Java Virtual Machine compliant with Java SE V1.4 or beyond
Dynamic Cache Service Provider for WebSphere Application Server (ND
6.1 / ND 7.0)
Page fragment cache
Web services cache
Command cache

Support L2 Cache Open JPA/Hibernate (WXS only)


Side Cache for Datapower XI50 thru REST Gateway (XC10 only)
Side Cache for WPS/WESB
Side Cache for Message Broker

19
19

DataPower XC10 Overview

Objects in the Elastic Data Grid Key, Value pairs


Key Value pair examples:
integer key, string value
(hex) integer key, compound value
compound key, compound value

20

Data Access Layer (WXS only)


The grid can be used as a special
data access layer where it is
configured to use a loader to get
data from the back-end system.
The loader can be configured to
asynchronously write back the
changes to the back-end system
Even when the back end is down,
the application can write changes.
They are buffered in the grid to be
written back when the back-end
system comes online again.
Reduced dependency on back end
data store

21
21

Client Usage: Online Banking


Retail Banking

Next-generation Online Banking


Before: 700ms to login with 2 backend calls

22 Million

After: 20ms to login with profile cache


access

online banking users

35x

$500k

20x

$6M/yr cost savings in MIPs reduction

reduced
response
times

reduced
costs per
month

reduction
in FCIs

3 datacenters: If one datacenter goes down


it fails over seamlessly to the others
8Gb of data transfer per hour between DCs

Provide seamless cache infrastructure across applications


Deliver high performance & consistent response times
Ensure high availability of critical online applications22
22

Client Usage: Worldwide Fantasy Sports Web Site


Entertainment

7 Billion
requests per day

10x
reduced
response
times

Fantasy Sports Web Infrastructure


Before: 60ms response time against
database
After: WXS improved to 6ms response
time
450k concurrent users
80k requests per second up to 1M in
2011
6 weeks from concept to production

Support transaction-intensive services


Deliver consistent & predictable response times
Take action on growing volumes of business events
Scale with simplicity and lower cost
23
23

2
3

Resources
Fully functional J2SE trial download
http://www.ibm.com/developerworks/downloads/ws/wsdg
/learn.html

Wiki documentation
http://www.ibm.com/developerworks/wikis/display/objectg
rid/Getting+started

User's Guide to WebSphere eXtreme Scale


http://www.redbooks.ibm.com/abstracts/sg247683.html

Data Sheet

Additional resources
Weekly video podcasts covering
customers questions and forum posts on
the IBM WebSphere eXtreme Scale
product.

http://www.youtube.com/user/ib
mextremescale#p/a

ftp://public.dhe.ibm.com/common/ssi/pm/sp/n/wsd14088
usen/WSD14088USEN.PDF

XC10 Web Site


http://www01.ibm.com/software/webservers/appserv/xc10/

Getting Started Wiki for XC10


http://www.ibm.com/developerworks/wikis/display/extrem
escale/2010/06/25/IBM+WebSphere+DataPower+XC10+
appliance+now+available

WebSphere Extreme Transaction


Processing for Developers Space will
discuss various topics for developing and
deploying XTP applications and will point
out emerging trends, benefits, challenges,
and features associated with it.
http://www.ibm.com/developerwork
s/spaces/xtp

24
24

Questions?

25

Java is the registered trademark of Oracle Corp


26

2
7

27

Backup

28

Elastic Caching for WebSphere Portal

29