Rapidly growing, mission-critical, ASP.NET server farms demand fast, globally accessible, and scalable storage for Web session-state. Traditional storage alternatives do not meet the need. ScaleOut SessionServer is the answer. Incorporating the same in-memory data grid technology as ScaleOut StateServer, ScaleOut SessionServer delivers:
- fast access time which outperforms all "out of process" storage alternatives,
- scalable throughput that handles heavy access loads on the largest server farms and keeps response times low, and
- farm-wide access to session-state that eliminates the need for server affinity ("sticky" sessions).
ScaleOut SessionServer is fully transparent to ASP.NET applications and requires only a one-line configuration change to make it operational. It is also significantly less expensive (at least 3X lower cost and 10X lower cost/update for three-server farms) than failover database clusters. Together with an ideal combination of high performance, high availability, and ease of use, ScaleOut SessionServer offers the best session-data storage solution for e-commerce and other mission-critical services.
Fast, Scalable In-Memory Storage
ScaleOut SessionServer runs as a distributed software service on every Web server in your Web farm (or on a separate, dedicated, server farm) to automatically store ASP.NET session-state in memory and make it globally accessible across the Web farm. Its sophisticated, distributed caching technology speeds up access to data and automatically scales its throughput as the server farm grows. ScaleOut SessionServer keeps session-state close to your application and off of your back-end database server.
Once installed, ScaleOut SessionServer operates in a fully transparent manner to Microsoft ASP.NET applications, saving and retrieving session-state objects for Internet clients. It automatically balances the amount of storage used by each server in the farm, adjusting the relative usage by each server to the amount you require. As new servers running ScaleOut SessionServer are added to the in-memory data grid, they automatically expand its storage capacity and performance.
ScaleOut SessionServer combines fast, in-memory storage with advanced technology to deliver the fastest possible access time of all "out of process" solutions, including database servers and stand-alone storage servers. Performance tests have shown that ScaleOut SessionServer quickly outpaces its competitors in repeatedly accessing stored data.
What really sets ScaleOut SessionServer apart from its competitors is its ability to scale both its storage capacity and throughput as your server farm grows. As Web farms grow to handle additional load, they need to avoid bottlenecks that limit scalability. ScaleOut SessionServer is designed from the inside out to scale every aspect of its performance. Tests confirm that its throughput linearly scales to keep access times low as servers are added to the in-memory data grid. This lets your Web farm deliver the highest possible performance while simultaneously keeping session-state access loads off of your database server.
Patented Technology for High Availability
High availability of session-data is essential for mission-critical Web farms. ScaleOut SessionServer ensures that sessions are never lost - even if a server in the data grid fails - by replicating session-state on up to two additional servers. If a server goes offline or loses network connectivity, ScaleOut SessionServer automatically retrieves its session objects from replicas stored on other servers in the grid, and it creates new replicas as necessary to maintain redundant storage. To avoid the "split brain" problems of traditional master/slave replication schemes, ScaleOut SessionServer employs patented technology for performing quorum-based updates, which guarantees that replicated objects always have the latest data.
ScaleOut SessionServer also uses a patent-pending, scalable heartbeat protocol that quickly and efficiently detects server failures without flooding your network with heartbeat packets. Heartbeat failures automatically trigger ScaleOut SessionServer's "self-healing" technology, which quickly restores access to session-data and dynamically rebalances the storage load across the in-memory data grid.
ScaleOut SessionServer works seamlessly with your Web farm's IP load-balancer. Since all servers can access any session-state object, it eliminates the need for the load-balancer to maintain "server affinity" with individual clients. This boosts performance by allowing client requests to be more evenly distributed across the Web farm. It also avoids the potential loss of service that could result if a client's workload data were stored only within a single server and the server fails. Also, the load-balancer can lose server affinity when client IP addresses change mid-session; ScaleOut SessionServer lets the application sidestep this problem.
ScaleOut SessionServer self-managing features make installation quick and keep your management costs low. Servers automatically join together to form or expand a "grid-wide" store. Since all stored objects are accessible from any grid server, your load balancer can direct Web requests to any server in the farm. ScaleOut SessionServer automatically balances its workload to maintain high performance, and it automatically recovers and "self-heals" after a server fails.
You can manage ScaleOut SessionServer from any server in the in-memory data grid or from a remotely connected workstation using its easy to use GUI console or a command line control program. These management tools give you complete control over ScaleOut SessionServer operations, notify you of failures and configuration changes, and ensure close coordination with your Web load balancer.
The Best Session-State Storage Option for ASP.NET
Microsoft's ASP.NET gives you several storage options for session objects. With its fast response time, scalable design, highly reliable storage, and cost-effectiveness, ScaleOut SessionServer offers the best solution for storing ASP.NET session objects. No changes are required to your ASP.NET programs since ScaleOut SessionServer transparently saves and restores session objects on each Web access. Performance tests have shown that ScaleOut SessionServer can improve overall Web response times for e-commerce applications by more than 6X over the use of a backend database server to store session objects:
The following table summarizes the advantages of using ScaleOut SessionServer instead of a database server (DBMS), a stand-alone, in-memory storage server, or ASP.NET's default, "in-process" method for storing session-state:
|Eliminates performance bottleneck||Yes||No||No||Yes|
|Eliminates need for server affinity||Yes||Yes||Yes||No|
|Eliminates single point of failure||Yes||Requires cluster||No||No|
|Allows server maintenance||Yes||Requires cluster||No||No|
ScaleOut SessionServer is fully compatible with ASP.NET 1.1, 2.0, 3.X, and 4.0.
The Next Step: Integrated, In-Memory Data Grid
Developers who need to obtain the best possible application performance can upgrade to ScaleOut StateServer and access its comprehensive .NET and C/C++ APIs. For example, applications can use the APIs to boost performance by separately storing selected session data, such as large datasets, and updating only as needed instead of on every Web hit as explicit session-state. In addition, the APIs can be used to directly cache recently accessed database data and other fast-changing application state within the in-memory data grid
See the Product Matrix for a quick comparison of the features included in each version of our products.