net·devs
← Work
Ben-Gurion University of the NegevHigher Education

BGU Public Web Platform

BGU Public Web Platform screenshot 1
BGU Public Web Platform screenshot 2
BGU Public Web Platform screenshot 3
BGU Public Web Platform screenshot 4
BGU Public Web Platform screenshot 5

The central public digital platform for one of Israel's leading universities — 80,000 pages, ~1,000 content editors, ~300 requests per second at peak. We led the architecture, built a custom Lucene-based search across 10+ specialized page types, implemented a rule engine for benefits eligibility logic, designed a per-subtree access control system for the editorial team, and completed a full infrastructure migration from Azure to AWS (ECS Fargate, RDS, S3) without downtime.

Challenges

Search across 80,000 pages at 300 RPS

The platform has 10+ specialized search pages, each with custom filters, grouping, and ranking logic. We built custom Lucene indexes with optimized query structures so search stays fast even under sustained peak load — without caching everything into staleness.

Custom caching with dependency tracking

Standard Umbraco caching wasn't granular enough for this scale. We built a custom cache layer that tracks dependencies between pages — when a staff profile updates, only the pages that reference it are invalidated, not the whole cache.

Zero-downtime Azure to AWS migration

The migration covered containerization, ECS Fargate deployment, RDS and S3 setup, load balancer configuration, and a separate EC2 bastion for import services. Traffic was cut over gradually with no interruption to the 300 RPS production load.

Access control for 1,000 editors

With this many editors, a flat role model wasn't workable. We built a per-subtree access system with custom Umbraco back-office components so admins can restrict which pages and descendants each editor can touch — without code changes per editor.

Our approach

01

Architecture and search design

Defined the Lucene index structure for 10+ content types, designed custom query patterns for each specialized search page, and planned the caching layer with dependency tracking before writing production code.

02

Custom caching and performance baseline

Built the dependency-aware cache layer that invalidates only affected pages when content changes. Established performance baselines and tested under simulated 300 RPS load to verify stability before migration.

03

External integrations

Implemented the daily incremental import of 15,000+ staff profiles from the external HR API, tracking changes to avoid unnecessary writes. Added the CRIS research publications sync and mapped publications to staff profile pages.

04

Azure to AWS migration

Containerized the application, deployed to ECS Fargate, configured RDS and S3, set up the load balancer, and deployed the import service on a separate EC2 bastion. Traffic was cut over gradually with live monitoring throughout.

05

Rule engine and access system

Built the configurable rule engine for benefits eligibility with AND/OR/NOT operators and time interval checks, then delivered the per-subtree access control system with custom back-office components for the editorial team.

Result

Stable at 300 RPS. 15,000+ staff profiles updated daily via incremental sync. Complex eligibility rules managed by editors without code changes.

By the numbers

~80,000

Pages in production

~300 RPS

Peak load handled

~1,000

Content editors supported

15,000+

Staff profiles synced daily

Tech stack

C#.NETUmbraco CMSVue.jsAWSLuceneDocker

We want to hear your thoughts.

our CTO Kyrylo Osadchuk, will reply within 24 hours. No SDR funnel.