Web-based services and other key applications which employ in-memory data grids often span multiple data centers or cloud infrastructures. An increasing number of companies employ multiple data centers to distribute their workloads, improve their quality of service, and help mitigate the impact of catastrophic events such as earthquakes and floods. However, the use of multiple data centers creates challenges in data sharing and disaster recovery.
To address these challenges, ScaleOut Software offers two products, ScaleOut GeoServer® DR and ScaleOut GeoServer®, to seamlessly combine in-memory data grids across multiple sites. These optional extensions to ScaleOut StateServer, which are licensed separately, provide a range of capabilities for distributed applications:
ScaleOut GeoServer DR: This product provides data replication between in-memory data grids at multiple sites to protect against site-wide failures and enable disaster recovery, while allowing "live-live" operation.
ScaleOut GeoServer: This product extends ScaleOut GeoServer DR to optionally enable the creation of a single virtual data grid that integrates in-memory data grids at multiple sites and enables seamless, global access to data.
Up to eight sites can be combined together using ScaleOut GeoServer DR and ScaleOut GeoServer.
A solid disaster recovery strategy requires that if one data center goes offline, its workload can be handled by another, healthy data center to avoid service interruptions. For this recovery strategy to be effective, changes to grid-based application data must be continuously replicated to a remote site so that the site is immediately ready to handle the workload. When disaster recovery is a concern, use ScaleOut GeoServer DR to automatically replicate stored objects between ScaleOut StateServer in-memory data grids running at different sites. Called push replication, this capability enables multiple data centers to efficiently duplicate fast-changing workloads and stay fully protected against site-wide failures.
In addition, when using ScaleOut GeoServer DR to replicate data between data centers, the data centers can be operated in a "live-live" configuration rather than having a standby that sits idle most of the time. This makes full use of your data center infrastructure to handle large workloads.
For maximum flexibility, all objects can set individual replication policies as required for your application. All object attributes, including timeouts, LRU behavior, and dependency relationships are replicated to the remote site.
Global Data Integration
The ScaleOut GeoServer option enables applications to transparently access stored objects from remote ScaleOut StateServer in-memory data grids as needed. ScaleOut GeoServer’s new pull access mode allows objects to be shared across a geographically diverse network of in-memory data grids as a single, virtual, globally accessible data grid. We call this powerful new capability global data integration.
Global data integration provides a range of integration choices for data stored within in-memory data grids at multiple on-premise data centers and cloud sites. For example, multiple data centers can be integrated into a single virtual data grid to provide seamless access to data, regardless of where it is stored. Also, multiple grids can be interconnected to provide automatic data migration and elastic scaling when needed, for example, when “bursting” into the cloud to meet temporary demand spikes.
ScaleOut GeoServer gives applications fine-grained control over data sharing to ensure efficient use of wide area networks (WANs) and support various usage models. Applications that primarily read remote objects but do not perform updates can set coherency policies on individual objects to minimize the frequency of refreshing slowly changing data over the WAN. ScaleOut GeoServer also provides distributed locking spanning multiple sites so that applications can synchronize updates to shared objects wherever they are located. Ownership of objects automatically migrates from data center to data center as needed to ensure efficient WAN usage. These features enable a wide range of uses, from transparent access to time-sensitive data in multiple locations to spanning on-premise and cloud grids.
Best of all, GeoServer greatly simplifies application development. Applications need only request objects from the local in-memory data grid and they automatically will be retrieved from remote sites as needed; the application does not need to keep track of which site stores the data. This also eliminates complicated Web services code to restage grid data from site to site.
ScaleOut GeoServer provides both pull access mode and push replication, while ScaleOut GeoServer DR provides only push replication. These capabilities can be combined into a seamless global infrastructure. For example, two data centers can be configured for push replication to ensure protection against site-wide failure. Additional sites then can access data from either of these data centers as needed.
Straightforward, Flexible Management
ScaleOut GeoServer’s management tools make configuration easy and keep management overhead low. To globally integrate data grids for either push replication or pull access, the user simply connects to a grid server on a remote farm using an existing virtual private network or other secure communications channel. ScaleOut GeoServer automatically configures itself to distribute traffic among grid servers at the remote site. As grid servers are added or removed at each site, GeoServer automatically reconfigures its network connections to maintain the best possible performance and avoid the need for manual intervention. GeoServer automatically handles server failures at either site.
Fast, Scalable Architecture
GeoServer uses scalable and highly available connections that take full advantage of all servers in each in-memory data grid. To maximize performance and availability, all servers within both local and remote data grids participate in GeoServer operations.
For example, when replication to a remote store is started, all servers within the local ScaleOut StateServer data grid are notified to begin replication. Each local grid server first establishes a TCP connection to one of the servers in the remote grid; an initial connection can be established even if one or more remote grid servers are offline. All local grid servers then automatically download a list of the servers that form the remote data grid. In addition, they download load-balancing information that is used to most efficiently direct object updates to individual servers in the remote data grid. This information is automatically updated whenever a membership or load-balancing change occurs at the remote data grid. Now the local grid servers can begin forwarding object updates to the remote data grid.
Since all local grid servers participate in handling local object reads and updates, they simultaneously perform remote read operations or replicate updates to the remote data grid. This maximizes both the throughput and scalability of remote data access and data replication. Likewise, it ensures that data access operations are not interrupted if grid servers in either local or remote data grid should fail.