SlideShare a Scribd company logo
High Availability in Hurricane
            Alley
     Multi-site multi-node CAS
     Deep in the Heart of Texas
    Srinivas Varadaraj & Bill Thompson


              Jasig Sakai Conference     1
Agenda
1. Strategy
2. Technical requirements
3. Constraints
4. Stuff at hand
5. Architectural decisions
6. Cluster & production architecture
7. Challenges and solutions
8. Multi-site routing
9. Production experiences
10. Questions & Comments

                       Jasig Sakai Conference   2
Strategic requirements
Single Identity

Single Sign On/ Single Sign Off

Maximize self service tools

Improved user experience

                    Jasig Sakai Conference   3
Technical requirements
•   Application Compatibility
•   High Availability
•   Rolling maintenance
•   Transparency
•   Scalability
•   AD integration
•   Customization(branding)

                     Jasig Sakai Conference   4
Constraints
• Limited budget , use existing resources.
  – Power in the datacenters
  – Single internet
  – High latency connectivity


• Limited in-house development & experience
  – Stay close to release code
• Aggressive timeframe

                      Jasig Sakai Conference   5
Stuff we had at hand
•   SAN infrastructure with replication to DR
•   VM clusters
•   Site-to-site VPN based connectivity to DR
•   F5 loadbalancers
•   Dedicated firewalls
•   Opportunity



                      Jasig Sakai Conference    6
Decisions ! Decisions ! Decisions !

•   Virtual Machines
•   SAN based storage
•   The great ticket registry debate
•   To replicate tickets or NOT !
•   Building by cloning
•   “Appliance” like
•   SSL Local vs Offloading
•   Cluster VS Standalone application servers
•   Timeout !

                       Jasig Sakai Conference   7
Cluster components




      Jasig Sakai Conference   8
Final Architecture




     Jasig Sakai Conference   9
“Holy troubles, Batman!”
• SSL offloading
   – Tomcat offloading workaround
• Authentication and Validation persistence
   – User and application can go to either site.
   – Enter site identifiers
• Multi-site ticket replication.
   – Latency in WAN
• Algorithm usage in phpCAS clients and Java CAS
  clients
• Slow performance of mod_auth_cas on VMs

                         Jasig Sakai Conference    10
Routing logic
• HTTP_REQUEST
• HTTP_REQUST_DATA
• HTTP_RESPONSE




               Jasig Sakai Conference   11
HTTP_REQUEST(Request from the client)
HTTP_REQUEST{
1) Grab header length to determine payload size
2) If both sites are down, redirect to a branded
    service unavailable page
3) If URI has siteID of other site and other site is
up, route to other site
4) Otherwise default route to local site
}

                      Jasig Sakai Conference           12
HTTP_REQUEST_DATA(Payload manipulation)

HTTP_REQUEST_DATA{
1) Grab <samlp:AssertionAtrifact> from payload , this may contain siteID
2)
if we have a siteID of the other side {
    If the siteID is Loadbalancer introduced {
        blank the loadbalancer extension
}
    Route to other side
else {
    if we have a siteID of the local side {
       If the siteID is Loadbalancer introduced {
          blank the loadbalancer extension
}
   Route to local side
   }
}

                                  Jasig Sakai Conference                   13
HTTP_RESPONSE(Response from the server)

HTTP_RESPONSE{
1) Grab server’s response headers
2) If SiteID is not in the response header
      {
        Introduce a loadbalancer siteID to
compensate for java CAS client
}
Release HTTP to client
}
                     Jasig Sakai Conference   14
Jasig Sakai Conference   15
Experiences in Production

•   Approx. 8 months in production
•   7 Applications in production 10 in development
•   Survived two power outages at DR
•   Survived multiple internet outages
•   Successful rolling upgrades to MySQL & CAS
•   Flow based redesign.
•   LPPE
•   Re-visit ticket registry
                      Jasig Sakai Conference         16
Questions/Comments
• Credits:
  – CAS developers and community
  – F5 & F5 devcentral
  – Unicon
  – LU & Txstate
• Thank you for your time !!
• Contacts:
  – Sri: Sri@lamar.edu
  – Bill: wgthom@unicon.net

                    Jasig Sakai Conference   17

More Related Content

What's hot

Caching for Microservices Architectures: Session I
Caching for Microservices Architectures: Session ICaching for Microservices Architectures: Session I
Caching for Microservices Architectures: Session I
VMware Tanzu
 
Accelerate Business Agility with PaaS
Accelerate Business Agility with PaaS Accelerate Business Agility with PaaS
Accelerate Business Agility with PaaS
WSO2
 
How Pixid dropped Oracle and went hybrid with MariaDB
How Pixid dropped Oracle and went hybrid with MariaDBHow Pixid dropped Oracle and went hybrid with MariaDB
How Pixid dropped Oracle and went hybrid with MariaDB
MariaDB plc
 
Recipes for a successful production cloudfoundry deployment - CF Summit 2014
Recipes for a successful production cloudfoundry deployment - CF Summit 2014Recipes for a successful production cloudfoundry deployment - CF Summit 2014
Recipes for a successful production cloudfoundry deployment - CF Summit 2014
Vinícius Carvalho
 
Proxysql use case scenarios hl++ 2017
Proxysql use case scenarios    hl++ 2017 Proxysql use case scenarios    hl++ 2017
Proxysql use case scenarios hl++ 2017
Alkin Tezuysal
 
Automating Postgres Deployments on AWS and VMware, with Terraform and Ansible
Automating Postgres Deployments on AWS and VMware, with Terraform and AnsibleAutomating Postgres Deployments on AWS and VMware, with Terraform and Ansible
Automating Postgres Deployments on AWS and VMware, with Terraform and Ansible
EDB
 
Getting started in the cloud for developers
Getting started in the cloud for developersGetting started in the cloud for developers
Getting started in the cloud for developers
MariaDB plc
 
RedisConf18 - Designing a Redis Client for Humans
RedisConf18 - Designing a Redis Client for Humans RedisConf18 - Designing a Redis Client for Humans
RedisConf18 - Designing a Redis Client for Humans
Redis Labs
 
Scylla Summit 2018: Scylla Feature Talks - Gains by Using Scylla-Specific Dri...
Scylla Summit 2018: Scylla Feature Talks - Gains by Using Scylla-Specific Dri...Scylla Summit 2018: Scylla Feature Talks - Gains by Using Scylla-Specific Dri...
Scylla Summit 2018: Scylla Feature Talks - Gains by Using Scylla-Specific Dri...
ScyllaDB
 
Change Data Capture using Kafka
Change Data Capture using KafkaChange Data Capture using Kafka
Change Data Capture using Kafka
Akash Vacher
 
How to power microservices with MariaDB
How to power microservices with MariaDBHow to power microservices with MariaDB
How to power microservices with MariaDB
MariaDB plc
 
Einführung: MariaDB heute und unsere Vision für die Zukunft
Einführung: MariaDB heute und unsere Vision für die ZukunftEinführung: MariaDB heute und unsere Vision für die Zukunft
Einführung: MariaDB heute und unsere Vision für die Zukunft
MariaDB plc
 
Moving Beyond Cache by Yiftach Shoolman Redis Labs - Redis Day Seattle 2020
Moving Beyond Cache by Yiftach Shoolman Redis Labs - Redis Day Seattle 2020Moving Beyond Cache by Yiftach Shoolman Redis Labs - Redis Day Seattle 2020
Moving Beyond Cache by Yiftach Shoolman Redis Labs - Redis Day Seattle 2020
Redis Labs
 
Mysql ecosystem in 2018
Mysql ecosystem in 2018Mysql ecosystem in 2018
Mysql ecosystem in 2018
Alkin Tezuysal
 
How to shard MariaDB like a pro - FOSDEM 2021
How to shard MariaDB like a pro  - FOSDEM 2021How to shard MariaDB like a pro  - FOSDEM 2021
How to shard MariaDB like a pro - FOSDEM 2021
Alkin Tezuysal
 
Architectural patterns for caching microservices
Architectural patterns for caching microservicesArchitectural patterns for caching microservices
Architectural patterns for caching microservices
Rafał Leszko
 
RedisConf18 - The Intelligent Database Proxy
RedisConf18 - The Intelligent Database Proxy  RedisConf18 - The Intelligent Database Proxy
RedisConf18 - The Intelligent Database Proxy
Redis Labs
 
5 Advantages of EDB's RemoteDBA Services
5 Advantages of EDB's RemoteDBA Services5 Advantages of EDB's RemoteDBA Services
5 Advantages of EDB's RemoteDBA Services
EDB
 
Running database infrastructure on containers
Running database infrastructure on containersRunning database infrastructure on containers
Running database infrastructure on containers
MariaDB plc
 
Creating a Kafka Topic. Super easy? | Andrew Stevenson and Marios Andreopoulo...
Creating a Kafka Topic. Super easy? | Andrew Stevenson and Marios Andreopoulo...Creating a Kafka Topic. Super easy? | Andrew Stevenson and Marios Andreopoulo...
Creating a Kafka Topic. Super easy? | Andrew Stevenson and Marios Andreopoulo...
HostedbyConfluent
 

What's hot (20)

Caching for Microservices Architectures: Session I
Caching for Microservices Architectures: Session ICaching for Microservices Architectures: Session I
Caching for Microservices Architectures: Session I
 
Accelerate Business Agility with PaaS
Accelerate Business Agility with PaaS Accelerate Business Agility with PaaS
Accelerate Business Agility with PaaS
 
How Pixid dropped Oracle and went hybrid with MariaDB
How Pixid dropped Oracle and went hybrid with MariaDBHow Pixid dropped Oracle and went hybrid with MariaDB
How Pixid dropped Oracle and went hybrid with MariaDB
 
Recipes for a successful production cloudfoundry deployment - CF Summit 2014
Recipes for a successful production cloudfoundry deployment - CF Summit 2014Recipes for a successful production cloudfoundry deployment - CF Summit 2014
Recipes for a successful production cloudfoundry deployment - CF Summit 2014
 
Proxysql use case scenarios hl++ 2017
Proxysql use case scenarios    hl++ 2017 Proxysql use case scenarios    hl++ 2017
Proxysql use case scenarios hl++ 2017
 
Automating Postgres Deployments on AWS and VMware, with Terraform and Ansible
Automating Postgres Deployments on AWS and VMware, with Terraform and AnsibleAutomating Postgres Deployments on AWS and VMware, with Terraform and Ansible
Automating Postgres Deployments on AWS and VMware, with Terraform and Ansible
 
Getting started in the cloud for developers
Getting started in the cloud for developersGetting started in the cloud for developers
Getting started in the cloud for developers
 
RedisConf18 - Designing a Redis Client for Humans
RedisConf18 - Designing a Redis Client for Humans RedisConf18 - Designing a Redis Client for Humans
RedisConf18 - Designing a Redis Client for Humans
 
Scylla Summit 2018: Scylla Feature Talks - Gains by Using Scylla-Specific Dri...
Scylla Summit 2018: Scylla Feature Talks - Gains by Using Scylla-Specific Dri...Scylla Summit 2018: Scylla Feature Talks - Gains by Using Scylla-Specific Dri...
Scylla Summit 2018: Scylla Feature Talks - Gains by Using Scylla-Specific Dri...
 
Change Data Capture using Kafka
Change Data Capture using KafkaChange Data Capture using Kafka
Change Data Capture using Kafka
 
How to power microservices with MariaDB
How to power microservices with MariaDBHow to power microservices with MariaDB
How to power microservices with MariaDB
 
Einführung: MariaDB heute und unsere Vision für die Zukunft
Einführung: MariaDB heute und unsere Vision für die ZukunftEinführung: MariaDB heute und unsere Vision für die Zukunft
Einführung: MariaDB heute und unsere Vision für die Zukunft
 
Moving Beyond Cache by Yiftach Shoolman Redis Labs - Redis Day Seattle 2020
Moving Beyond Cache by Yiftach Shoolman Redis Labs - Redis Day Seattle 2020Moving Beyond Cache by Yiftach Shoolman Redis Labs - Redis Day Seattle 2020
Moving Beyond Cache by Yiftach Shoolman Redis Labs - Redis Day Seattle 2020
 
Mysql ecosystem in 2018
Mysql ecosystem in 2018Mysql ecosystem in 2018
Mysql ecosystem in 2018
 
How to shard MariaDB like a pro - FOSDEM 2021
How to shard MariaDB like a pro  - FOSDEM 2021How to shard MariaDB like a pro  - FOSDEM 2021
How to shard MariaDB like a pro - FOSDEM 2021
 
Architectural patterns for caching microservices
Architectural patterns for caching microservicesArchitectural patterns for caching microservices
Architectural patterns for caching microservices
 
RedisConf18 - The Intelligent Database Proxy
RedisConf18 - The Intelligent Database Proxy  RedisConf18 - The Intelligent Database Proxy
RedisConf18 - The Intelligent Database Proxy
 
5 Advantages of EDB's RemoteDBA Services
5 Advantages of EDB's RemoteDBA Services5 Advantages of EDB's RemoteDBA Services
5 Advantages of EDB's RemoteDBA Services
 
Running database infrastructure on containers
Running database infrastructure on containersRunning database infrastructure on containers
Running database infrastructure on containers
 
Creating a Kafka Topic. Super easy? | Andrew Stevenson and Marios Andreopoulo...
Creating a Kafka Topic. Super easy? | Andrew Stevenson and Marios Andreopoulo...Creating a Kafka Topic. Super easy? | Andrew Stevenson and Marios Andreopoulo...
Creating a Kafka Topic. Super easy? | Andrew Stevenson and Marios Andreopoulo...
 

Similar to Lamar University CAS HA

Deploying Cassandra Multi-cloud
Deploying Cassandra Multi-cloudDeploying Cassandra Multi-cloud
Deploying Cassandra Multi-cloud
Jeffrey Carpenter
 
Coherence RoadMap 2018
Coherence RoadMap 2018Coherence RoadMap 2018
Coherence RoadMap 2018
harvraja
 
Cassandra Adoption on Cisco UCS & Open stack
Cassandra Adoption on Cisco UCS & Open stackCassandra Adoption on Cisco UCS & Open stack
Cassandra Adoption on Cisco UCS & Open stack
DataStax Academy
 
APIs, STOP Polling, lets go Streaming
APIs, STOP Polling, lets go StreamingAPIs, STOP Polling, lets go Streaming
APIs, STOP Polling, lets go Streaming
Phil Wilkins
 
01282016 Aerospike-Docker webinar
01282016 Aerospike-Docker webinar01282016 Aerospike-Docker webinar
01282016 Aerospike-Docker webinar
Aerospike, Inc.
 
OSDC 2017 - Christos Erotocritou - Apache ignite in-memory data fabric
OSDC 2017 - Christos Erotocritou - Apache ignite in-memory data fabricOSDC 2017 - Christos Erotocritou - Apache ignite in-memory data fabric
OSDC 2017 - Christos Erotocritou - Apache ignite in-memory data fabric
NETWAYS
 
Introduction to Apache Geode (Cork, Ireland)
Introduction to Apache Geode (Cork, Ireland)Introduction to Apache Geode (Cork, Ireland)
Introduction to Apache Geode (Cork, Ireland)
Anthony Baker
 
Apache Geode Meetup, London
Apache Geode Meetup, LondonApache Geode Meetup, London
Apache Geode Meetup, London
Apache Geode
 
Data Collection & Caching using redis | Swatantra Kumar
Data Collection & Caching using redis | Swatantra KumarData Collection & Caching using redis | Swatantra Kumar
Data Collection & Caching using redis | Swatantra Kumar
Swatantra Kumar
 
VMworld 2013: Virtualizing Mission Critical Oracle RAC with vSphere and vCOPS
VMworld 2013: Virtualizing Mission Critical Oracle RAC with vSphere and vCOPSVMworld 2013: Virtualizing Mission Critical Oracle RAC with vSphere and vCOPS
VMworld 2013: Virtualizing Mission Critical Oracle RAC with vSphere and vCOPS
VMworld
 
Why to Use an Oracle Database?
Why to Use an Oracle Database? Why to Use an Oracle Database?
Why to Use an Oracle Database?
Markus Michalewicz
 
Presto: Fast SQL-on-Anything Across Data Lakes, DBMS, and NoSQL Data Stores
Presto: Fast SQL-on-Anything Across Data Lakes, DBMS, and NoSQL Data StoresPresto: Fast SQL-on-Anything Across Data Lakes, DBMS, and NoSQL Data Stores
Presto: Fast SQL-on-Anything Across Data Lakes, DBMS, and NoSQL Data Stores
Alluxio, Inc.
 
SimplifyStreamingArchitecture
SimplifyStreamingArchitectureSimplifyStreamingArchitecture
SimplifyStreamingArchitecture
Maheedhar Gunturu
 
What's New and Noteworthy on Oracle CAF 12.1.3
What's New and Noteworthy on Oracle CAF 12.1.3What's New and Noteworthy on Oracle CAF 12.1.3
What's New and Noteworthy on Oracle CAF 12.1.3
Bruno Borges
 
Apache Geode Meetup, Cork, Ireland at CIT
Apache Geode Meetup, Cork, Ireland at CITApache Geode Meetup, Cork, Ireland at CIT
Apache Geode Meetup, Cork, Ireland at CIT
Apache Geode
 
Geek Nights Hong Kong
Geek Nights Hong KongGeek Nights Hong Kong
Geek Nights Hong Kong
Rahul Gupta
 
Oracle WebLogic 12c New Multitenancy features
Oracle WebLogic 12c New Multitenancy featuresOracle WebLogic 12c New Multitenancy features
Oracle WebLogic 12c New Multitenancy features
Michel Schildmeijer
 
Confluent Platform 5.4 + Apache Kafka 2.4 Overview (RBAC, Tiered Storage, Mul...
Confluent Platform 5.4 + Apache Kafka 2.4 Overview (RBAC, Tiered Storage, Mul...Confluent Platform 5.4 + Apache Kafka 2.4 Overview (RBAC, Tiered Storage, Mul...
Confluent Platform 5.4 + Apache Kafka 2.4 Overview (RBAC, Tiered Storage, Mul...
Kai Wähner
 
12 Factor Scala
12 Factor Scala12 Factor Scala
12 Factor Scala
Joe Kutner
 
MySQL Transformation Case Study: 80% Cost Savings & Uninterrupted Availabilit...
MySQL Transformation Case Study: 80% Cost Savings & Uninterrupted Availabilit...MySQL Transformation Case Study: 80% Cost Savings & Uninterrupted Availabilit...
MySQL Transformation Case Study: 80% Cost Savings & Uninterrupted Availabilit...
Mydbops
 

Similar to Lamar University CAS HA (20)

Deploying Cassandra Multi-cloud
Deploying Cassandra Multi-cloudDeploying Cassandra Multi-cloud
Deploying Cassandra Multi-cloud
 
Coherence RoadMap 2018
Coherence RoadMap 2018Coherence RoadMap 2018
Coherence RoadMap 2018
 
Cassandra Adoption on Cisco UCS & Open stack
Cassandra Adoption on Cisco UCS & Open stackCassandra Adoption on Cisco UCS & Open stack
Cassandra Adoption on Cisco UCS & Open stack
 
APIs, STOP Polling, lets go Streaming
APIs, STOP Polling, lets go StreamingAPIs, STOP Polling, lets go Streaming
APIs, STOP Polling, lets go Streaming
 
01282016 Aerospike-Docker webinar
01282016 Aerospike-Docker webinar01282016 Aerospike-Docker webinar
01282016 Aerospike-Docker webinar
 
OSDC 2017 - Christos Erotocritou - Apache ignite in-memory data fabric
OSDC 2017 - Christos Erotocritou - Apache ignite in-memory data fabricOSDC 2017 - Christos Erotocritou - Apache ignite in-memory data fabric
OSDC 2017 - Christos Erotocritou - Apache ignite in-memory data fabric
 
Introduction to Apache Geode (Cork, Ireland)
Introduction to Apache Geode (Cork, Ireland)Introduction to Apache Geode (Cork, Ireland)
Introduction to Apache Geode (Cork, Ireland)
 
Apache Geode Meetup, London
Apache Geode Meetup, LondonApache Geode Meetup, London
Apache Geode Meetup, London
 
Data Collection & Caching using redis | Swatantra Kumar
Data Collection & Caching using redis | Swatantra KumarData Collection & Caching using redis | Swatantra Kumar
Data Collection & Caching using redis | Swatantra Kumar
 
VMworld 2013: Virtualizing Mission Critical Oracle RAC with vSphere and vCOPS
VMworld 2013: Virtualizing Mission Critical Oracle RAC with vSphere and vCOPSVMworld 2013: Virtualizing Mission Critical Oracle RAC with vSphere and vCOPS
VMworld 2013: Virtualizing Mission Critical Oracle RAC with vSphere and vCOPS
 
Why to Use an Oracle Database?
Why to Use an Oracle Database? Why to Use an Oracle Database?
Why to Use an Oracle Database?
 
Presto: Fast SQL-on-Anything Across Data Lakes, DBMS, and NoSQL Data Stores
Presto: Fast SQL-on-Anything Across Data Lakes, DBMS, and NoSQL Data StoresPresto: Fast SQL-on-Anything Across Data Lakes, DBMS, and NoSQL Data Stores
Presto: Fast SQL-on-Anything Across Data Lakes, DBMS, and NoSQL Data Stores
 
SimplifyStreamingArchitecture
SimplifyStreamingArchitectureSimplifyStreamingArchitecture
SimplifyStreamingArchitecture
 
What's New and Noteworthy on Oracle CAF 12.1.3
What's New and Noteworthy on Oracle CAF 12.1.3What's New and Noteworthy on Oracle CAF 12.1.3
What's New and Noteworthy on Oracle CAF 12.1.3
 
Apache Geode Meetup, Cork, Ireland at CIT
Apache Geode Meetup, Cork, Ireland at CITApache Geode Meetup, Cork, Ireland at CIT
Apache Geode Meetup, Cork, Ireland at CIT
 
Geek Nights Hong Kong
Geek Nights Hong KongGeek Nights Hong Kong
Geek Nights Hong Kong
 
Oracle WebLogic 12c New Multitenancy features
Oracle WebLogic 12c New Multitenancy featuresOracle WebLogic 12c New Multitenancy features
Oracle WebLogic 12c New Multitenancy features
 
Confluent Platform 5.4 + Apache Kafka 2.4 Overview (RBAC, Tiered Storage, Mul...
Confluent Platform 5.4 + Apache Kafka 2.4 Overview (RBAC, Tiered Storage, Mul...Confluent Platform 5.4 + Apache Kafka 2.4 Overview (RBAC, Tiered Storage, Mul...
Confluent Platform 5.4 + Apache Kafka 2.4 Overview (RBAC, Tiered Storage, Mul...
 
12 Factor Scala
12 Factor Scala12 Factor Scala
12 Factor Scala
 
MySQL Transformation Case Study: 80% Cost Savings & Uninterrupted Availabilit...
MySQL Transformation Case Study: 80% Cost Savings & Uninterrupted Availabilit...MySQL Transformation Case Study: 80% Cost Savings & Uninterrupted Availabilit...
MySQL Transformation Case Study: 80% Cost Savings & Uninterrupted Availabilit...
 

Recently uploaded

A Deep Dive into ScyllaDB's Architecture
A Deep Dive into ScyllaDB's ArchitectureA Deep Dive into ScyllaDB's Architecture
A Deep Dive into ScyllaDB's Architecture
ScyllaDB
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
saastr
 
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptxPRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
christinelarrosa
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
Ajin Abraham
 
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance PanelsNorthern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving
 
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
Alex Pruden
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
saastr
 
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin..."$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
Fwdays
 
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Pitangent Analytics & Technology Solutions Pvt. Ltd
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
Miro Wengner
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
Javier Junquera
 
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
"Scaling RAG Applications to serve millions of users",  Kevin Goedecke"Scaling RAG Applications to serve millions of users",  Kevin Goedecke
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
Fwdays
 
The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
operationspcvita
 
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
DanBrown980551
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
c5vrf27qcz
 
Christine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptxChristine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptx
christinelarrosa
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
Must Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during MigrationMust Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during Migration
Mydbops
 

Recently uploaded (20)

A Deep Dive into ScyllaDB's Architecture
A Deep Dive into ScyllaDB's ArchitectureA Deep Dive into ScyllaDB's Architecture
A Deep Dive into ScyllaDB's Architecture
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
 
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptxPRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
 
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance PanelsNorthern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
 
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
 
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin..."$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
 
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
 
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
"Scaling RAG Applications to serve millions of users",  Kevin Goedecke"Scaling RAG Applications to serve millions of users",  Kevin Goedecke
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
 
The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
 
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
 
Christine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptxChristine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptx
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
Must Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during MigrationMust Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during Migration
 

Lamar University CAS HA

  • 1. High Availability in Hurricane Alley Multi-site multi-node CAS Deep in the Heart of Texas Srinivas Varadaraj & Bill Thompson Jasig Sakai Conference 1
  • 2. Agenda 1. Strategy 2. Technical requirements 3. Constraints 4. Stuff at hand 5. Architectural decisions 6. Cluster & production architecture 7. Challenges and solutions 8. Multi-site routing 9. Production experiences 10. Questions & Comments Jasig Sakai Conference 2
  • 3. Strategic requirements Single Identity Single Sign On/ Single Sign Off Maximize self service tools Improved user experience Jasig Sakai Conference 3
  • 4. Technical requirements • Application Compatibility • High Availability • Rolling maintenance • Transparency • Scalability • AD integration • Customization(branding) Jasig Sakai Conference 4
  • 5. Constraints • Limited budget , use existing resources. – Power in the datacenters – Single internet – High latency connectivity • Limited in-house development & experience – Stay close to release code • Aggressive timeframe Jasig Sakai Conference 5
  • 6. Stuff we had at hand • SAN infrastructure with replication to DR • VM clusters • Site-to-site VPN based connectivity to DR • F5 loadbalancers • Dedicated firewalls • Opportunity Jasig Sakai Conference 6
  • 7. Decisions ! Decisions ! Decisions ! • Virtual Machines • SAN based storage • The great ticket registry debate • To replicate tickets or NOT ! • Building by cloning • “Appliance” like • SSL Local vs Offloading • Cluster VS Standalone application servers • Timeout ! Jasig Sakai Conference 7
  • 8. Cluster components Jasig Sakai Conference 8
  • 9. Final Architecture Jasig Sakai Conference 9
  • 10. “Holy troubles, Batman!” • SSL offloading – Tomcat offloading workaround • Authentication and Validation persistence – User and application can go to either site. – Enter site identifiers • Multi-site ticket replication. – Latency in WAN • Algorithm usage in phpCAS clients and Java CAS clients • Slow performance of mod_auth_cas on VMs Jasig Sakai Conference 10
  • 11. Routing logic • HTTP_REQUEST • HTTP_REQUST_DATA • HTTP_RESPONSE Jasig Sakai Conference 11
  • 12. HTTP_REQUEST(Request from the client) HTTP_REQUEST{ 1) Grab header length to determine payload size 2) If both sites are down, redirect to a branded service unavailable page 3) If URI has siteID of other site and other site is up, route to other site 4) Otherwise default route to local site } Jasig Sakai Conference 12
  • 13. HTTP_REQUEST_DATA(Payload manipulation) HTTP_REQUEST_DATA{ 1) Grab <samlp:AssertionAtrifact> from payload , this may contain siteID 2) if we have a siteID of the other side { If the siteID is Loadbalancer introduced { blank the loadbalancer extension } Route to other side else { if we have a siteID of the local side { If the siteID is Loadbalancer introduced { blank the loadbalancer extension } Route to local side } } Jasig Sakai Conference 13
  • 14. HTTP_RESPONSE(Response from the server) HTTP_RESPONSE{ 1) Grab server’s response headers 2) If SiteID is not in the response header { Introduce a loadbalancer siteID to compensate for java CAS client } Release HTTP to client } Jasig Sakai Conference 14
  • 16. Experiences in Production • Approx. 8 months in production • 7 Applications in production 10 in development • Survived two power outages at DR • Survived multiple internet outages • Successful rolling upgrades to MySQL & CAS • Flow based redesign. • LPPE • Re-visit ticket registry Jasig Sakai Conference 16
  • 17. Questions/Comments • Credits: – CAS developers and community – F5 & F5 devcentral – Unicon – LU & Txstate • Thank you for your time !! • Contacts: – Sri: Sri@lamar.edu – Bill: wgthom@unicon.net Jasig Sakai Conference 17

Editor's Notes

  1. Consolidate identities on campus and standardize on a single LDAP service that provides that identity.Provide Single Sign On (SSO) standard to the campus compatible with a vast majority of existing applications, (Zimbra email, Self Service Banner, Blackboard LMS, payment gateway system, degree audit system, Library systems etc.)Introducing a self-service mechanism for account management and include this into the login flow process.Provide capabilities for a light weight portal which can be replaced with a full portal in the future. 
  2. Solution had to be compatible with majority of application. So, solution with open standards were most favorable.Solution had to highly available, resilient to both local disasters (datacenter  outage, LAN and WAN outages, application service failures) and regional disasters ( Hurricanes).No single points of failureAbility to do maintenance work on the system without outage (rolling maintenance).This availability has to transparent to the user to keep the SSO process seamless.System had to easily scalable with load (horizontal or vertical).Tie into pre-existing AD with Attributes release to applications. Branding to match university standard requirements for regular browser access and mobile browser access.Active-active, or active-failover delivery model with automated failover of services.
  3. Had to use existing network resources as much as possible ( existing LAN , WAN equipment and connections)Limited in house developers and experience led to very good partnership with Unicon to provide installation and ongoing support for install baseDesire to keep as close to the release code as possible without heavy customization.Latency link between the datacenters.Short timeframe :)
  4. SAN based infrastructure , with VM clusters.A replication of core/mission critical data to the DR site from SAN to SAN over a site-to-site VPN tunnelLoadbalancer infrastructure (LTM) that supported SSL offload to a wildcard certificate.Dedicated datacenter firewalls at both primary and DR datacenters.Opportunity ! 
  5. VMs clusters provided protection from hardware failures and ability to scale horizontally via cloning.SAN storage provided storage redundancy and protection from hardware failures with offline backup capabilitySSL offloading to the loadbalancers allowed us to save money by using the wildcard certs.Choice of ticket registry was much debate, it was down to EHCache and Database ticket registry.Chose to horizontally scale it to protect against service failures.To eliminate database failures taking down CAS, we chose an ndb cluster which allow, in memory data with periodic writes to disk, built in replication between nodes, multiple access points to the same data allowing building of VM like &apos;appliances&apos; where each application instances
  6. SSL offloading from Tomcat requires special setup in Apache + AJP , not a true solution but a workaround , &lt; insert configuration here&gt;To replicate tickets between sites or not  ?Maintain persistence within the site ( options, source address vsjsession id)Maintain persistence across sites ?Authentication and Validation can happen at different sites, enter site identifiers.Routing traffic based on site identifiers. Site identifiers are all over the place,  /serviceValidate is in the URI, /samlValidate its in the SAML payload,  Java CAS client is unique !! unique ID is not generated using the same algoritms. So had to add and remove site identifiers on the loadbalancers