GigaSpaces XAP 6.0: Simplified, Spring-based API for Space-Based Architecture
Posted by
Ryan Slobojan
on
Sep 25, 2007
- .NET,
- Java
- Topics
-
Performance & Scalability
,
-
Enterprise Architecture
,
-
Clustering & Caching
,
-
Grid Computing
- Tags
-
Grid Computing
,
-
GridGain
,
-
Commercial Product Releases
,
-
Coherence
,
-
Microsoft
,
-
EC2
,
-
Spring
,
-
GigaSpaces
,
-
Terracotta
GigaSpaces recently released version 6.0 of it's eXtreme Application Platform (XAP), which is an infrastructure software platform that provides scaling out of applications in distributed environments. InfoQ spoke with Geva Perry and Nati Shalom of GigaSpaces to learn more about this release and the changes that have occurred in this version.
First, Perry and Shalom were asked to describe the major changes in 6.0:
- OpenSpaces - this is the primary development platform for 6.0, and uses the Spring Framework to provide a POJO-driven development model as well as components for highly scalable, event-driven and service-oriented architectures. It provides components such as an in-memory data grid, remoting, declarative event containers and transactions, and an OSGi-like deployment model
- Persistence as a Service (PaaS) - also known as the Mirror Service, it provides reliable asynchronous persistence of the contents of an in-memory data grid with a back-end database. This is done without modifying application code or configuration, the Mirror Service handles everything transparently
- JMS 1.1 interoperability - this enables sending feeds directly through the JMS API which are then immediately transformed into entries in the space. This greatly reduces latency and simplifies development and deployment of event-driven applications due to the reduced number of components
- SLA-driven Container - The Service Grid, which dynamically manages instances of the cluster through Service-Level Agreements (SLAs), is now greatly simplified by using Spring, and is integrated into all editions of the product (including the fre Community edition)
- Enhanced .Net Support - Performance has been increased, .Net is supported natively, and a new set of APIs provide seamless .Net and Java interoperability by allowing both .Net and Java to run in embedded mode. GigaSpaces has also partnered with Microsoft to provide more packaged solutions for Microsoft technologies like Excel, SharePoint, Visual Studio, and Windows Compute Cluster Services
- Amazon Elastic Compute Cloud (EC2) support - 6.0 is now available for use on the EC2 service at a cost of $0.10 per hour per server so that users can experiment with it and seeing how it scales to multiple servers
- Integrated Space-Based Architecture (SBA) support - In previous releases implementing SBA required some development and configuration effort - in 6.0 this is simplified, with SBA components like Processing Units made an explicit part of the API
When asked to describe further what Processing Units were, Perry and Shalom said:
In Space-Based Architecture, a Processing Unit represents the unit of scale and fail-over of an application. It normally contains all of the application services and middleware components that have a tight latency/runtime dependency. It encapsulates those services under a single container (Processing Unit) and maintains consistent scaling and fail-over semantics in a generic fashion to all of those components. A failure event, for example, will automatically trigger a recovery process of both the middleware components (messaging, data grid) and the business logic associated with it. In this way we avoid partial failure or inconsistent behavior resulting from the fact that a failure event happened, messaging system started to deliver events but the application service is not yet ready to process them. From a latency perspective, the encapsulation of all those components in the same run-time container reduces network overhead, because they interact purely in memory. Scalability becomes as simple as adding more processing units. In other words, there is no need to separately scale the data, business logic and/or messaging tiers.
They also described where they saw this release fitting into the bigger picture:
6.0 is yet another important step forward in fulfilling the vision we have been promoting for a while. At the core of this vision is the realization that the days of building applications using n-tier architectures and the J2EE stack are coming to an end! These architectures and the middleware technologies that rely on them have hit a wall in terms of their ability to support the scaling, reliability and performance required of today's business applications.
Among other things, the newly emerging architectures will support horizontal scalability based on low-cost hardware as opposed to vertical scalability; they will leverage in-memory data grids as the real-time, on-line transactional system of record instead of the RDBMS; they will enable the dynamic co-location of data and services to create self-sufficient "Processing Units" with a single "always-available" fault-tolerance clustering.
Perry and Shalom also commented that other major sites such as eBay, Google, MySpace and Amazon have come up with similar ideas, and pointed at MapReduce, Hadoop and memcached as examples. However, they made it clear that they are careful to maintain interoperability with the J2EE world and with existing developer skills through support for JDBC, JMS and Spring. They also indicated that products like XAP Community Edition and OpenSpaces are meant to target mainstream developers more than their enterprise offerings, which are primarily used by large companies.
They were also asked how Gigaspaces compared to GridGain, Coherence and Terracotta, and they first stated that all of these vendors are trying to educate the community about better ways of building and deploying applications. However, Gigaspaces is designed to be a comprehensive application platform that addresses all aspects of scaling, performance and high availability - they said that other vendors focus more on specific aspects of distributed computing such as distributed caching. They also mentioned that GigaSpaces was not an batch application-focused Enterprise Grid computing solution - to provide this, GigaSpaces partners with companies such as GridGain, DataSynapse and Platform Computing. They also focus more on the intra-application grid for running a single application in a distributed environment, rather than managing multiple applications on shared resources in an inter-application grid.
Perry and Shalom were also asked to comment on Cameron Purdy's recent thoughts on the future of grid computing:
Cameron's claim has always been that Tangosol is the best Data Caching technology because it has focused on doing just that: Data Caching. We believe it is now self-evident that solving the scalability, performance and availability of an entire application, end-to-end, not just the data bottleneck of that application, will require a lot more than just distributed caching functionality (even if it is called a Data Grid). Oracle have realized it, that's why they bought Tangosol and are attempting to add caching to their Fusion Middleware stack that will also include their legacy application server and messaging technologies.
However, no matter how good the integration of different technologies is (and it is yet to be seen that it will be a good one), it will always be fundamentally handicapped by the inherent lack of a common dynamic clustering model for scalability, performance and continuous-availability for all of the participating components. It is simply the wrong approach. Compare that to the holistic SBA approach that's available with GigaSpaces 6.0 XAP.
Finally, they were asked what the future held for XAP:
In addition to [EC2] and our Community Edition, we are also going to make a special Start-Up Offering, which allows start-ups, open source projects and non-profits to use the product in production for free. This is the first place we have mentioned this upcoming offering publicly. It will launch in the coming weeks, so stay tuned.
Thanks!
by
Binil Thomas
Posted
May 8, 2009 1:01 AM
12 comments
Watch Thread Reply