Whats New In GigaSpaces Xap 7.0


Published on

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.

Published in: Technology, Business
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Whats New In GigaSpaces Xap 7.0

  1. 1. What’s New in XAP 7.0 <br />July 28, 2009 <br />Shay Banon, System Architect<br />Uri Cohen, Product Manager <br />
  2. 2. Agenda <br />
  3. 3. XAP 7.0: End-to-End Solution on a Single Platform<br />GigaSpaces eXtreme Application Platform (XAP) 7.0<br />An enterprise-grade application server for deploying and scaling Java and .NET applications under the most demanding and changing requirements.<br />Session high availability<br />Dynamic scaling<br />Application container<br />In Memory Data Grid<br />Async. Persistency<br />
  4. 4. The Secret Sauce = Space Based Architecture (SBA)<br /><ul><li>A software architecture pattern for achieving linear scalability of stateful, high-performance applications</li></ul>Inspired by <br />JavaSpaces & Yale’s Tuple-Space Model <br />Lessons learned from Next-Gen Internet services<br />Partitions the application and packages all middleware functions into one lightweight scalable unit<br />The data grid is the foundation <br />Linear Scalability<br />
  5. 5. Typical Architecture – XAP 7.0 <br />Dynamic LB Configuration <br />Managed Jetty Web Containers, Http Session on top of the Space <br />Interact with BL and Data via Space API, events, remoting or task executors<br />Business Logic and Data on top of the Data Grid <br />Partitioning and collocation for best performance and scalability <br />Async. Persistency <br />Proactive Administration<br />
  6. 6. Agenda <br />
  7. 7. Recent Releases 2007/2008<br />6.0/2007 – Streamline Space Based Architecture<br />Single model for design, development, testing and deployment<br />Simplicity – OpenSpaces framework<br />.NET API <br />6.5/2008 – Robustness<br />Native C++ API<br />Platform Interoperability (Java/.NET/C++)<br />Performance, scalability and stability improvements<br />SVF – Service Virtualization Framework (remoting)<br />6.6/2008 – Platform Completeness<br />Web Application Support<br />Task Executors <br />Fuller .Net SBA (.Net PUs, Event containers)<br />Additional optimizations and improvements <br />
  8. 8. Agenda <br />
  9. 9. R7.0 Themes<br />Even Better Data Grid Performance and Scalability<br />Performance improvements and better memory utilization<br />Dramatically faster read access for local caches and embedded clients <br />Mulitcore scalability <br />Improved Monitoring & Administration Capabilities<br />Major overhaul of the management GUI<br />All new GigaSpaces agent component <br />Comprehensive Groovy/Java administration & monitoring API<br />Deployment zones<br />Improved logging and troubleshooting capabilities<br />Simplicity & Usability<br />Simpler APIs - readById<br />Simpler and standard packaging<br />Simpler to configure in your IDE<br />Map/Reduce Grid Task Execution API – now also in .Net<br />
  10. 10. 7.0 Performance & Footprint Improvements<br />Restructuring of internal data structures (for better multi-core concurrency and lock-free read) <br />Refactored eviction mechanism <br />New local cache storage model <br />Results: <br />Significantly better concurrency in highly multithreaded environments (more details in next slides) <br />And, significantly reduced memory footprint for indexed fields:<br />XAP 6.6: 150-200 bytes per index field<br />XAP 7.0: 20-30 bytes per index field<br />
  11. 11. 7.0 Performance Improvements<br />
  12. 12. 7.0 Performance Improvements<br />
  13. 13. 7.0 Performance Improvements<br />
  14. 14. Management GUI Overhaul <br />Accurately reflects the XAP runtime model<br />Includes: <br /><ul><li>Comprehensive monitoring of all layers: hosts, JVMs, processing units, web apps, spaces
  15. 15. Detailed information about the processing unit
  16. 16. Operate on all cluster layers:start and stop JVMs, deploy/undeploy PUs,relocate running instances, scale up/down</li></li></ul><li>The GigaSpaces Agent <br />New runtime component <br />Think of it as the GigaSpaces daemon / service <br />Agent can start, stop and restart other runtime components: <br />GSM, GSC, LUS, Custom<br />Just start the agent, the rest will be done for you<br />Define global/local number of GSMs, GSCs and LUSs<br />e.g. 4 global GSMs, 2 local (per machine) GSCs, 2 global LUSs<br />Full control from the UI / Admin API<br />
  17. 17. Administration & Monitoring API <br />Comprehensive monitoring of all layers<br />Event based programming model <br />Cluster wide statistics <br />Groovy bindings <br />Operate on all cluster layers – start and stop JVMs, deploy/undeploy processing units, relocate running instances, scale up/down<br />
  18. 18. Administration & Monitoring API – Samples <br />Start GSM and GSCs, deploy, wait for the space to start:<br />
  19. 19. Administration & Monitoring API – Samples <br />Monitor stats with Groovy closures: <br />
  20. 20. Auto Scaling Your App Using the Admin API <br /><ul><li>Calculating average request rate (Groovy):
  21. 21. Scaling up (Groovy):</li></li></ul><li>Task Execution API <br /><ul><li>Grid Processing API
  22. 22. New in 7.0 - .Net Support
  23. 23. Data-aware task processing
  24. 24. Automatic space-side resource injection
  25. 25. Code mobility (Java only)
  26. 26. Synchronous or asynchronous execution
  27. 27. Cluster wide execution (Map/Reduce)
  28. 28. Dynamic Language Support
  29. 29. Java:
  30. 30. .Net: </li></li></ul><li>Case Study – Social Network Search Optimization <br />Fetch N degrees of relationship<br />
  31. 31. Case Study – Social Network Search Optimization <br />MySql Solution: <br />Pre-warming social network data in memory <br />Single instance <br />~200 milliseconds to fetch 2 level (direct friends and friends of friends)<br />
  32. 32. Case Study – Social Network Search Optimization <br /><ul><li>GigaSpaces Solution:
  33. 33. Store network in space, partitioned by userId
  34. 34. Use Executors to fetch network
  35. 35. > 1st degree uses distributed broadcast task (async)
  36. 36. 2nd degree in under 5 milliseconds, 3rd degree in under 10 milliseconds</li></li></ul><li>Deployment Zones <br /><ul><li>Tag GSCs with Zones
  37. 37. Can represent: DRP sites, racks, etc.
  38. 38. Restrict deployment to specific zones
  39. 39. Enforce different zones for primary and backup of same partition</li></li></ul><li>Improved Logging <br />Based on customer feedback, extensible<br />Time based log file rollover policy <br />Daily, weekly, monthly <br />Log file naming: <br />2009-07-26~13.44-gigaspaces-gsc_1-uri01-5492.log<br />Improved log message format:<br />2009-07-26 14:02:57,375 processorPU.1 [1] INFO [org...PUServiceBeanImpl] - Stopped<br />Date & time<br />Component<br />Hostname<br />PID<br />Date & time<br />PU Instance<br />Level<br />Component<br />Message<br />
  40. 40. Simpler Packaging <br />No more shared-lib<br />Standard .war structure <br />Better class loader isolation <br />Simpler to get started with:<br />Reduced required jars <br />All under same dir <br />
  41. 41. Agenda <br />
  42. 42. Future Direction<br />Security (7.0.1)<br />Multi-data center support over WAN<br />Out-of-the-box SLA<br />Further improve manageability <br />Enhanced Querying Capabilities <br />Extend JEE support<br />EJB 3<br />JPA<br />
  43. 43. Agenda <br />
  44. 44. Summary – XAP 7.0 Value Proposition <br />
  45. 45. Try it Now on the Cloud<br />Available on gigaspaces.com/demo<br />