GigaSpaces Global HTTP Session Sharing October 2013 Massive Web Application Scaling.

Slides:



Advertisements
Similar presentations
Refeng Wu CQ5 WCM System Administrator
Advertisements

Futures – Alpha Cloud Deployment and Application Management.
Lightweight, Open Source Java EE Appication Server
Web Booster HTTP Server Acceleration for Lotus Domino.
1 Storage Today Victor Hatridge – CIO Nashville Electric Service (615)
1 Disk Based Disaster Recovery & Data Replication Solutions Gavin Cole Storage Consultant SEE.
WebLogic Clustering - Failover, and Load Balancing Bryan Ferrel and Ramarao Desaraju CS 522 Computer Communications December 4, 2002.
Distributed components
1 © Copyright 2010 EMC Corporation. All rights reserved. EMC RecoverPoint/Cluster Enabler for Microsoft Failover Cluster.
Business Continuity and DR, A Practical Implementation Mich Talebzadeh, Consultant, Deutsche Bank
Sapana Mehta (CS-6V81) Overview Of J2EE & JBoss Sapana Mehta.
1 Build a Web Application on J2EE. 2 J2EE Scenario Client – Web Server – EIS Resources Client – Web Server – EIS Resources Client – Application Server.
Chris Shuster 4/29/2009 1Chris Shuster.  Application Servers ◦ Backend processing platform. ◦ Multiple platforms, operating system and architecture.
ArcGIS for Server Reference Implementations An ArcGIS Server’s architecture tour.
© 2014 ScaleArc. All Rights Reserved. 1 Creating an Agile Data Environment for Apps in the Cloud Summer 2014.
1© Copyright 2011 EMC Corporation. All rights reserved. EMC RECOVERPOINT/ CLUSTER ENABLER FOR MICROSOFT FAILOVER CLUSTER.
Load Sharing and Balancing - Saravanan Mathialagan Masters in Computer Science Georgia State University.
Session-01. What is a Servlet? Servlet can be described in many ways, depending on the context: 1.Servlet is a technology i.e. used to create web application.
Microsoft Load Balancing and Clustering. Outline Introduction Load balancing Clustering.
 Distributed Software Chapter 18 - Distributed Software1.
Understanding and Managing WebSphere V5
Understanding Active Directory
22-Aug-15 | 1 |1 | Help! I need more servers! What do I do? Scaling a PHP application.
1 Oracle 9i AS Availability and Scalability Margaret H. Mei Senior Product Manager, ST.
GridGain – Java Grid Computing Made Simple Nikita Ivanov
Word Wide Cache Distributed Caching for the Distributed Enterprise.
Cloud Computing for the Enterprise November 18th, This work is licensed under a Creative Commons.
Module 12: Designing High Availability in Windows Server ® 2008.
1 Copyright © 2004, Oracle. All rights reserved. Introduction to Oracle Forms Developer and Oracle Forms Services.
Scalability Terminology: Farms, Clones, Partitions, and Packs: RACS and RAPS Bill Devlin, Jim Cray, Bill Laing, George Spix Microsoft Research Dec
NLM Digital Repository Server Architecture January 18, 2011.
Oracle Coherence Product Overview Raanan Dagan / Coherence Team.
JBoss Cache. Cache A place to temporarily store data that is expensive or difficult to compute or retrieve. Caches should be fast to access. May or may.
— Build your own enterprise-class PaaS platform. Master Cloudset Cloudset1 Cloudset Resource Pool cloud Dedicated resource can be assigned to a cloudset.
Introduction to Cloud Computing
JavaOne '99 Confidential Performance and Scalability of EJB-based applications Sriram Srinivasan Principal Engineer, BEA/WebLogic.
What is Driving the Virtual Desktop? VMware View 4: Built for Desktops VMware View 4: Deployment References…Q&A Agenda.
Copyright © 2006 Pilothouse Consulting Inc. All rights reserved. Overview Scale out architecture Servers, services, and topology in Central Administration.
L/O/G/O 云端的小飞象系列报告之二 Cloud 组. L/O/G/O Hadoop in SIGMOD
IMDGs An essential part of your architecture. About me
Module 10 Administering and Configuring SharePoint Search.
Dr. Azeddine Chikh IS444: Modern tools for applications development.
® IBM Software Group © 2007 IBM Corporation Best Practices for Session Management
Managed by UT-Battelle for the Department of Energy Kay Kasemir ORNL/SNS With slides from Xihui Chen May 2014 Control System Studio Training.
OSIsoft High Availability PI Replication
Eduardo Gutarra Velez. Outline Distributed Filesystems Motivation Google Filesystem Architecture The Metadata Consistency Model File Mutation.
Copyright © 2006, GemStone Systems Inc. All Rights Reserved. Increasing computation throughput with Grid Data Caching Jags Ramnarayan Chief Architect GemStone.
Applications Manager Web Transaction Monitoring. Agenda APM Insight Benefits Apdex Scores APM Insight Architecture Agent Deployment Agent Configuration.
Cloud Computing Lecture 5-6 Muhammad Ahmad Jan.
EJB Enterprise Java Beans JAVA Enterprise Edition
Open J2EE Session Cluster December Open J2EE Session Cluster 2 Agenda Drivers Existing products Description Technology choices Demo Plan.
Google Code Libraries Dima Ionut Daniel. Contents What is Google Code? LDAPBeans Object-ldap-mapping Ldap-ODM Bug4j jOOR Rapa jongo Conclusion Bibliography.
Cofax Scalability Document Version Scaling Cofax in General The scalability of Cofax is directly related to the system software, hardware and network.
St. Petersburg, 2016 Openstack Disk Storage vs Amazon Disk Storage Computing Clusters, Grids and Cloud Erasmus Mundus Master Program in PERCCOM Author:
OSIsoft High Availability PI Replication Colin Breck, PI Server Team Dave Oda, PI SDK Team.
Cloud Computing and Architecuture
Scalable Web Apps Target this solution to brand leaders responsible for customer engagement and roll-out of global marketing campaigns. Implement scenarios.
Lecture 18: Scalable Web Services
.NET Performance Solutions
Improving App Availability and Performance in the Cloud
Maximum Availability Architecture Enterprise Technology Centre.
Google Filesystem Some slides taken from Alan Sussman.
Scalable Web Apps Target this solution to brand leaders responsible for customer engagement and roll-out of global marketing campaigns. Implement scenarios.
Multi-Farm, Cross-Continent SharePoint Architecture
7.1. CONSISTENCY AND REPLICATION INTRODUCTION
Objectives In this lesson you will learn about: Need for servlets
Building global and highly-available services using Windows Azure
LOAD BALANCING INSTANCE GROUP APPLICATION #1 INSTANCE GROUP Overview
Microsoft Virtual Academy
Presentation transcript:

GigaSpaces Global HTTP Session Sharing October 2013 Massive Web Application Scaling

 Web Application performance and HTTP Session Scalability  Storing user sessions on disk or database slows down the application.  Current HA implementation are too naïve and don't scale well.  Sharing user sessions between web applications transparently  Essential for preserving the session state in case of a failure  Propagating user session across multiple data centers is not possible  Although most modern web sites using this topology.  Requires session replication over the WAN  High Web Server Memory Footprint  Storing the HTTP session in-process increasing web server memory footprint  Increasing the potential for garbage collection and long pauses. ® Copyright 2013 GigaSpaces. All Rights Reserved 2 WEB APP HTTP SESSION MANAGEMENT CHALLENGES

 Caches HTTP Session within the In-Memory Data-Grid  Ensures superb performance and boost user experience  No risk for application memory  Unlimited scalability  Ensures High-Availability and total consistency  Cross JEE Container session sharing  Supports all major JEE servers on the market  Allows migrating from one JEE server to another in a gradual manner  Multi-site & Multi-Cloud topologies  Replicates sessions over the WAN across different cloud availability-zones or across different cloud providers  Both Active/Active and Active/Passive DR topologies support ® Copyright 2013 GigaSpaces. All Rights Reserved 3 MEET GIGASPACES GLOBAL HTTP SESSION SHARING

 Transparent Web application Failover  Allow app server restart without any session data loss.  Any session data type attribute support  Primitive and Non-Primitive (collections, user defined types) attributes supported.  Serialized and Non-Serialized Session attributes support - Your attributes do not need to implement Serializable or Externalizable interface.  Sticky session and Non-sticky session support  Your requests can move across multiple instances of web application seamlessly.  Atomic HTTP request session access support  Multiple requests for the session attributes within the same HTTP request will be served without performing any remote calls.  Master session copy will be updated when the HTTP request will be completed.  Total session visibility  Session content can be viewed in real-time using rich client or web client.  Simple setup  5 min configuration and you are done! ® Copyright 2013 GigaSpaces. All Rights Reserved 4 AND THERE’S MORE…

HIGH LEVEL ARCHITECTURE ® Copyright 2013 GigaSpaces. All Rights Reserved5 Tomcat farm http session Websphere farm http session Jboss farm Weblogic farm http session Data Grid Data Grid

HTTP SESSION MANAGEMENT – A CLOSER LOOK ® Copyright 2013 GigaSpaces. All Rights Reserved6 Web application Temp cache Temp cache GigaSpaces Session Filter GigaSpaces Session Filter Delta Update http session http request/response Data Grid Data Grid App servlet App servlet

Data Grid Data Grid Data Grid Data Grid LOAD-BALANCING SCENARIOS SUPPORTED Non-Sticky session Sticky session X Session Sharing Session Failover

HTTP SESSION SHARING ACROSS DIFFERENT JEE SERVERS/REGIONS http session Jboss farm Tomcat farm Websphere farm Load balancer Data Grid Data Grid Data Grid Data Grid Data Grid Data Grid Delta Update

Data Center B Data Center A Web application Temp Cache Temp Cache App servlet App servlet Delta Update http session http request/response WAN Gateway Web application App servlet App servlet Temp Cache Temp Cache GigaSpaces Session Filter GigaSpaces Session Filter http session http request/response HTTP SESSION SHARING ACROSS DIFFERENT REGIONS Delta Update Data Grid Data Grid Data Grid Data Grid GigaSpaces Session Filter GigaSpaces Session Filter

US Site DE Site US Gateway Backup Partition 1 Primary Partition 1 Backup Partition 2 Primary Partition 2 DE Delegator Sink RU DE Gateway US Delegator Sink replication Proxy RU Backup Partition 1 Primary Partition 1 Backup Partition 2 Primary Partition 2 RU Site RU Gateway DE Delegator Sink replication Proxy US Backup Partition 1 Primary Partition 1 Backup Partition 2 Primary Partition 2 Websphere farm Jboss farm Tomcat farm Backup Partition 3 Primary Partition 3 Backup Partition 4 Primary Partition 4 Backup Partition 3 Primary Partition 3 replication Proxy HTTP SESSION SHARING ACROSS DIFFERENT REGIONS - HOW?

 Improve User Experience caching user preferences and session information on external JVMs  Ensure Business Continuity & Scalability by Session High Availability.  Scale to unlimited number of sessions and concurrent users using share nothing in memory architecture.  No code change – 5 minutes configuration and you’re good to go.  Cross Containers Session sharing - share sessions between any Java Web / App server. Allows smooth rolling upgrade.  Atomic HTTP Request - Support concurrent session access  Delta Updates – Replicate only session changes  Non-Serializable Attributes Support – automatic serialization for non-primitive Attributes ® Copyright 2013 GigaSpaces. All Rights Reserved 11 SUMMARY - GIGASPACES UNIVERSAL HTTP SESSION

Configuring your web application to use GigaSpaces HTTP session cache 5 min task! ® Copyright 2013 GigaSpaces. All Rights Reserved 12

THE WEB_INF/WEB.XML FILE ® Copyright 2013 GigaSpaces. All Rights Reserved org.apache.shiro.web.env.EnvironmentLoaderListener org.openspaces.sessions.shiro.GigaCacheManager ShiroFilter org.apache.shiro.web.servlet.ShiroFilter ShiroFilter /* Adding the following to your web.xml

THE WEB_INF/SHIRO.INI FILE ® Copyright 2013 GigaSpaces. All Rights Reserved14 [main] sessionManager = org.apache.shiro.web.session.mgt.StandardWebSessionManager #set the sessionManager to use an enterprise cache for backing storage: sessionDAO = org.apache.shiro.session.mgt.eis.EnterpriseCacheSessionDAO sessionManager.sessionDAO = $sessionDAO sessionDAO.activeSessionsCacheName = jini://*/*/myDataGrid # ensure the securityManager uses our native SessionManager: securityManager.sessionManager = $sessionManager # whatever your CacheManager implementation is, for example: cacheManager = org.openspaces.sessions.shiro.GigaCacheManager cacheManager.sessionLease = cacheManager.cacheSessionLocally = true # This will use GigaSpaces for _all_ of Shiro's caching needs (realms, etc), # not just for Session storage. securityManager.cacheManager = $cacheManager securityManager.sessionManager.defaultSessionTimeout = # Session validation sessionValidationScheduler = org.apache.shiro.session.mgt.ExecutorServiceSessionValidationScheduler # Default is 3,600,000 millis = 1 hour: sessionValidationScheduler.interval = sessionValidationScheduler.sessionManager = $sessionManager securityManager.sessionManager.sessionValidationScheduler = $sessionValidationScheduler Data Grid URL Sticky or non-sticky session

VALUE PROPOSITION AND MAIN FEATURES  Reduce App/Web server memory footprint  Storing the session within a remote JVM.  No code changes required  To share the session with other remote Web/App servers - Support *Serialized and Non-Serialized Session attributes. Your attributes do not need to implement Serializable or Externalizable interface.  Transparent Session sharing between any App/Web server  Any JEE app/web server (WebSphere, Weblogic, JBoss, Tomcat, Jetty, GlassFish...) may share their HTTP session with each other.  Application elasticity  Support session replication across different App/Web applications located within the same or different data-centers/clouds allowing the application to scale dynamically without any downtime.  Unlimited number of sessions and concurrent users  With sub-millisecond session access by using GigaSpaces In-Memory-Data-Grid.  Session replication over the WAN support  Utilizing GigaSpaces Multi-Site Replication over the WAN technology.Multi-Site Replication over the WAN  HTTP Session data access scalability  Session data can utilize any of the supported In-Memory-Data-Grid topologies ; replicated, partitioned, with and without local cache.  Transparent App/Web Failover  Allow app server restart without any session data loss.  Any session data type attribute support  Primitive and Non-Primitive (collections, user defined types) attributes supported.  Sticky session and Non-sticky session support  Your requests can move across multiple instances of web application seamlessly.  Atomic HTTP request session access support  Multiple requests for the session attributes within the same HTTP request will be served without performing any remote calls. Master session copy will be updated when the HTTP request will be completed.