whats new in gigaspaces xap 7.0
DESCRIPTION
This technical update shows the new and noteworthy in GigaSpaces XAP 7.0.It explains how the combination of a state-of-the-art in-memory data grid, a Jetty web container, and a grid-based business logic execution framework, forms a single, easy-to -use platform on which you can build and run extremely scalable applications, ranging from transactional systems through large-scale web applications to SaaS-delivered services.Key release highlights covered in this webinar include dramatic performance and scalability improvements, new monitoring and administration tools, and new data grid APIs.TRANSCRIPT
What’s New in XAP 7.0
July 28, 2009
Shay Banon, System Architect
Uri Cohen, Product Manager
Agenda
The Vision behind GigaSpaces XAP 7.0
Some Recent History
Release Themes & New Features
Future Direction
Summary
XAP 7.0: End-to-End Solution on a Single Platform
GigaSpaces eXtreme Application Platform (XAP) 7.0
An enterprise-grade application server for deploying and scaling Java and .NET
applications under the most demanding and changing requirements.
1. Application container
2. In Memory Data Grid
1. Application container
2. In Memory Data Grid
1. Session high availability
2. Dynamic scaling
1. Session high availability
2. Dynamic scaling
Async. PersistencyAsync. Persistency
The Secret Sauce = Space Based Architecture (SBA)
• Inspired by – JavaSpaces & Yale’s
Tuple-Space Model
– Lessons learned from
Next-Gen Internet services
• Partitions the application and
packages all middleware
functions into one lightweight
scalable unit
• The data grid is the foundation
• A software architecture pattern for achieving linear scalability of
stateful, high-performance applications
Linear Scalability
Typical Architecture – XAP 7.0
Grid ServiceContainer
Grid ServiceContainer
Grid ServiceContainer
Grid ServiceContainer
Grid ServiceContainer
Processing UnitProcessing UnitProcessing UnitProcessing Unit
ServiceBean
ServiceBean
ServiceBeanProcessing Unit
Admin Application Replication
ServiceBean
Replication
Primary 1 Backup 1 Primary 2 Backup 2
Grid ServiceContainer
Processing Unit
Web Container
Grid ServiceContainer
Processing Unit
Web Container
Grid ServiceContainer
Processing Unit
Web Container
Web Browser
Load Balancer(Apache)
Grid ServiceManager
Dynamic LB Configuration
Managed Jetty Web Containers,
Http Session on top of the Space
Business Logic and Data on top of the Data Grid
Interact with BL and Data via Space
API, events, remoting or task
executors
Partitioning and collocation for best
performance and scalability
Async. Persistency Proactive
Administration
Agenda
The Vision behind GigaSpaces XAP 7.0
Some Recent History
Release Themes & New Features
Future Direction
Summary
Recent Releases 2007/2008
• 6.0/2007 – Streamline Space Based Architecture
– Single model for design, development, testing and deployment
– Simplicity – OpenSpaces framework
– .NET API
• 6.5/2008 – Robustness
– Native C++ API
– Platform Interoperability (Java/.NET/C++)
– Performance, scalability and stability improvements
– SVF – Service Virtualization Framework (remoting)
• 6.6/2008 – Platform Completeness
– Web Application Support
– Task Executors
– Fuller .Net SBA (.Net PUs, Event containers)
– Additional optimizations and improvements
Agenda
The Vision behind GigaSpaces XAP 7.0
Some Recent History
Release Themes & New Features
Future Direction
Summary
R7.0 Themes
• Even Better Data Grid Performance and Scalability
– Performance improvements and better memory utilization
– Dramatically faster read access for local caches and embedded clients
– Mulitcore scalability
• Improved Monitoring & Administration Capabilities
– Major overhaul of the management GUI
– All new GigaSpaces agent component
– Comprehensive Groovy/Java administration & monitoring API
– Deployment zones
– Improved logging and troubleshooting capabilities
• Simplicity & Usability
– Simpler APIs - readById
– Simpler and standard packaging
– Simpler to configure in your IDE
– Map/Reduce Grid Task Execution API – now also in .Net
7.0 Performance & Footprint Improvements
• Restructuring of internal data structures (for better
multi-core concurrency and lock-free read)
• Refactored eviction mechanism
• New local cache storage model
• Results: – Significantly better concurrency in highly multithreaded
environments (more details in next slides)
– And, significantly reduced memory footprint for indexed
fields:• XAP 6.6: 150-200 bytes per index field
• XAP 7.0: 20-30 bytes per index field
7.0 Performance Improvements
Local Cache Read
0
1,000,000
2,000,000
3,000,000
4,000,000
5,000,000
6,000,000
7,000,000
8,000,000
478,795 1,095,191
7,169,615
6.6 7.0 7.0 (readById)
7.0 Performance Improvements
Embedded Read
0
100,000
200,000
300,000
400,000
500,000
600,000
700,000
800,000
900,000
1,000,000
730,539802,530
958,465
6.6 7.0 7.0 (readById)
7.0 Performance Improvements
Take Read
Write
010,00020,00030,00040,00050,00060,00070,00080,000
53,785
50,634
39,878
76,652
72,296
54,893
6.6 7.0
Remote Operations (Batch) – 2,1 Space
Management GUI Overhaul
• Accurately reflects the XAP runtime model
• Includes: – Comprehensive monitoring of all
layers: hosts, JVMs, processing
units, web apps, spaces
– Detailed information about the
processing unit
– Operate on all cluster layers:
start and stop JVMs,
deploy/undeploy PUs,
relocate running instances,
scale up/down
The GigaSpaces Agent
• New runtime component
• Think of it as the GigaSpaces daemon / service
• Agent can start, stop and restart other runtime
components: – GSM, GSC, LUS, Custom
• Just start the agent, the rest will be done for you– Define global/local number of GSMs, GSCs and LUSs
• e.g. 4 global GSMs, 2 local (per machine) GSCs, 2 global
LUSs
• Full control from the UI / Admin API
Administration & Monitoring API
• Comprehensive monitoring of all layers
• Event based programming model
• Cluster wide statistics
• Groovy bindings
• Operate on all cluster layers – start and stop JVMs, deploy/undeploy
processing units, relocate running instances, scale up/down
Administration & Monitoring API – Samples
Start GSM and GSCs, deploy, wait for the space to start:
Administration & Monitoring API – Samples
Monitor stats with Groovy closures:
Auto Scaling Your App Using the Admin API
• Calculating average request rate (Groovy):
• Scaling up (Groovy):
Task Execution API
• Grid Processing API – New in 7.0 - .Net Support– Data-aware task processing – Automatic space-side resource injection– Code mobility (Java only)– Synchronous or asynchronous execution– Cluster wide execution (Map/Reduce)– Dynamic Language Support
• Java:
• .Net:
Case Study – Social Network Search Optimization
• Fetch N degrees of relationship
Case Study – Social Network Search Optimization
• MySql Solution: – Pre-warming social network data in memory
– Single instance
– ~200 milliseconds to fetch 2 level (direct friends and
friends of friends)
Case Study – Social Network Search Optimization
• GigaSpaces Solution:– Store network in space, partitioned by userId
– Use Executors to fetch network
– > 1st degree uses distributed broadcast task (async)
– 2nd degree in under 5 milliseconds, 3rd degree in under
10 milliseconds
Deployment Zones
• Tag GSCs with Zones– Can represent: DRP sites, racks, etc.
• Restrict deployment to specific zones
• Enforce different zones for primary and backup of same
partition
Improved Logging
• Based on customer feedback, extensible
• Time based log file rollover policy – Daily, weekly, monthly
• Log file naming: 2009-07-26~13.44-gigaspaces-gsc_1-uri01-5492.log
• Improved log message format:2009-07-26 14:02:57,375 processorPU.1 [1] INFO [org...PUServiceBeanImpl] - Stopped
Date & time Component Hostname PID
Date & time PU Instance Level Component Message
Simpler Packaging
• No more shared-lib– Standard .war structure
– Better class loader isolation
• Simpler to get started with:– Reduced required jars
– All under same dir
Agenda
The Vision behind GigaSpaces XAP 7.0
Some Recent History
Release Themes & New Features
Future Direction
Summary
Future Direction
• Security (7.0.1)
• Multi-data center support over WAN
• Out-of-the-box SLA
• Further improve manageability
• Enhanced Querying Capabilities
• Extend JEE support– EJB 3
– JPA
Agenda
The Vision behind GigaSpaces XAP 7.0
Some Recent History
Release Themes & New Features
Future Direction
Summary
Summary – XAP 7.0 Value Proposition
Faster, More Efficient,
More Scalable
Easier to Monitor, More Adaptive &
Manageable
Simpler and Easier to
Use
Try it Now on the Cloud
• Available on gigaspaces.com/demo