Four panellists seated at a conference table with microphones, one of them speaking

Case study · Membership

ICGN

A Drupal 10 migration for the International Corporate Governance Network, with the hosting architecture redesigned at the same time.

Client
International Corporate Governance Network
Scope
Drupal 10 migration and AWS architecture
Platform
Drupal 10 on AWS
Users
Members, event delegates, course students

The problem

ICGN brings together investors, companies and policymakers around corporate governance and investor stewardship. Its policy work, global events programme, member resources and education courses all run through the website, for a membership spread across every time zone.

The site had to move onto Drupal 10. Doing that alone would have carried the same hosting limits onto a newer CMS, so ICGN treated the upgrade as the moment to fix the architecture underneath it as well.

What we had to solve

01

A membership with no quiet hours

Members, delegates and students use the site from every time zone, so there was no overnight window in which an outage would go unnoticed.

02

Nothing lost in the move

Content, member data and every custom feature had to arrive on Drupal 10 working as before, or the upgrade would cost more than it saved.

03

Architecture decided on purpose

Instance sizing, database set-up and failover had to be designed and written down, so the platform could be reasoned about after launch.

04

Security at the edge

Protection had to sit in front of the application, filtering traffic before it reached Drupal, not only inside it.

Two moves at once

The CMS upgrade and the hosting redesign were planned together, so the site moved once, onto a platform designed for it, rather than twice.

01

Architecture review

We reviewed the existing set-up and wrote a high-level design for the target AWS platform, agreed before any infrastructure was built.

02

Low-level design

Instance sizing, database configuration and failover behaviour, each decided and documented so the platform can be reasoned about later.

03

Validated on Drupal 10

Content, member data and every custom feature were checked against the new codebase before cutover, not after it.

04

Cutover onto the new platform

The site moved onto load-balanced AWS servers, with the database on RDS and a read replica, and AWS WAF in front.

What we built

The ICGN website's events page, with links to ICGN Events 2026 and the events calendar

A Drupal 10 site on an AWS platform designed for it: load-balanced application servers, a managed RDS database with a read replica for resilience and reporting, and AWS WAF filtering traffic before it reaches Drupal.

Every decision behind it is written down, from instance sizes to failover behaviour, so the platform can be changed with confidence rather than by trial and error.

Drupal 10

Content, member data and custom features moved across with nothing lost.

Load-balanced AWS

Application servers behind a load balancer, sized from the low-level design.

RDS with a read replica

A managed database with a replica for resilience and reporting.

AWS WAF

Application-layer protection in front of the site.

An open book whose pages turn into a laptop, in front of classroom blackboards

The outcome

A clean move to Drupal 10 with no loss of content, member data or functionality. On the new platform the site has run at 99.99% uptime, with average page loads under two seconds.

Got a process like this?

Applications, assessments, panels and deadlines. Thirty minutes on the phone is usually enough to tell you whether it is a six month job.