← Back to home

Modernising a Legacy Java Platform at SureCloud

Java · Spring Boot · AWS ECS · Jenkins · Grafana · Gradle

Overview

SureCloud develops risk and compliance software used by organisations operating under strict regulatory requirements. As a result, reliability and deployment safety were critical for their Java platform.

The Problem

The platform was a monolithic Java application maintained by a small team, with manual deployments and tightly coupled infrastructure that limited scalability. This architecture made it increasingly difficult to scale to meet growing demand.

  • Application startup relied on fragile manual scripts
  • Deployments were manual and performed by a single developer
  • The system couldn't run multiple instances safely
  • Infrastructure depended on fixed on-premise hardware

Modernisation Approach

I proposed a step-by-step modernisation strategy to the Development Director. While still delivering features, I made sure any new Java code was cleanly written, testable, and followed modern Spring patterns.

Soon, I understood the system well enough to make some bigger changes:

  • Migrated from legacy Spring to Spring Boot for simpler configuration
  • Introduced Gradle, enabling reproducible builds and one-step local startup
  • Decoupled application state, enabling horizontal scaling

I proposed a gradual migration towards AWS to enable elastic scaling, reproducible environments, and low-risk deployments. After evaluating the approach with leadership, the team adopted AWS as the long-term direction.

I led the design and delivery of several initiatives that modernised the platform:

  • A new Jenkins build pipeline enabling automated deployments
  • A containerised application running in AWS ECS with the ability to scale horizontally
  • Multi-region deployments, enabling rapid expansion to US markets
  • Increased visibility into load, errors, and uptime with Grafana dashboards
  • Moving functionality into microservices, starting with a Jira integration service

Summary

By the end of my time at SureCloud, the platform had transitioned from a fragile, manually operated system to a scalable cloud-based architecture supporting faster delivery and future growth.

Before

  • Risky manual deployments
  • Single-instance application
  • Limited operational visibility
  • Fixed on-premise infrastructure

After

  • Automated CI/CD deployments
  • Horizontally scalable services
  • Centralised monitoring and alerting
  • AWS-based elastic infrastructure

This work established a scalable foundation that enabled the engineering team to continue expanding the platform after my departure.