15 applications. 5 million lines of code. Time for a proper Spring cleaning.

Credit-Suisse - AURA

Brief

Full-stack migration of Credit Suisse's central Identity & Access Management system (15 applications, a central job processing system, and over 5 million lines of code) to Java 21, Spring Boot 3.4, and Docker on OpenShift.

Technology

Java 21, Spring 6.3, Spring Boot 3.4, Jakarta Faces, JoinFaces, Spring Security 6.3, OAuth2, Docker, OpenShift / Kubernetes, Jenkins, Maven.

Legacy JavaServer Faces 2.0 applications were migrated to Jakarta Faces with JoinFaces, while CDI and Apache DeltaSpike were replaced by Spring. WebLogic servers were retired in favor of embedded Tomcat on OpenShift.

15

applications migrated

5M+

lines of code

8 months

March to November 2024

Starting Point

By 2024, AURA had grown to over 15 applications and components, a central job processing system, more than 5 million lines of code, and 1,000+ UI screens. A business-critical system at enormous scale.

Under the hood: Java 8, Spring 4.x, JavaServer Faces 2.0, AngularJS, and WebLogic application servers. A stack that had served its purpose well, but with these tools all past their end-of-life, the time had come to move to a modern, supported foundation. Irian got the call.

Screenshot of the AURA access rights management interface on a laptop, showing a list of entitlement codes with scope parameters and status indicators.

Development

We started by unifying the Maven build and dependency structure across all core libraries, then systematically upgraded every component in the Spring and Spring Boot ecosystem to the latest versions. JavaServer Faces 2.0 gave way to Jakarta Faces with JoinFaces. CDI and Apache DeltaSpike were replaced with Spring. The security architecture was rebuilt from the ground up: Spring Security 6.3 with OAuth2 login, in addition to the existing certificate-based authentication.

Deployment infrastructure was migrated from proprietary WebLogic rollout systems to Docker containers on OpenShift / Kubernetes, including load balancer configuration, Jenkins CI/CD integration, and acceptance testing across all environments using an Agile Scrum approach.

Screenshot of the AURA Joiner/Leaver/Mover provisioning queue on an iPad, showing workflow status, SLA tracking, and provisioning steps per employee.

Result

Eight months. Fifteen applications. Five million lines of code. Java 21, Spring Boot 3.4, Jakarta Faces, OAuth2, and OpenShift, all running in production. No lingering legacy. No extended post-launch fire-fighting.

The migration modernized the stack and laid the foundation for Credit Suisse's IAM to evolve: faster delivery cycles, a homogeneous codebase, improved security posture, and a deployment pipeline ready for the next decade. Irian provided operational support after go-live, ensuring a stable handoff.

Screenshot of the AURA system audit log on a desktop monitor, showing a filtered event log with timestamps, action types, IP addresses, and severity indicators.

Feeling inspired?

More Projects