Java

Long-lived services on the JVM: new work, rescue work, modernisation, and the performance tuning that comes with running something for years.

What it is

Java is what most business software in the world is written in, and the reason is not elegance: it is a platform that has stayed compatible for thirty years, runs anywhere, and has a library for almost every problem somebody has already had. If a system has to still be true in ten years, that history is the argument for it.

What we do with it

  • New services, properly started. A service with a build, tests, a configuration story, health endpoints and a way to see what it is doing - rather than a single entry point everything grows around.
  • Modernisation without a rewrite. Versions brought up to a current release, obsolete libraries replaced one at a time, and the older code that is worth keeping kept.
  • Performance work that starts with evidence. A benchmark and a profile before the change, and the same measurement after it: allocation, garbage collection and thread pools are where JVM systems usually lose their time, and where a guess costs a week.
  • Rescue work. The service only one person understands, the leak that appears on a Tuesday, the build nobody can reproduce - read, explained, and stabilised before anything is rewritten.
  • Handover that means something. The architecture written down, the decisions and the reasons for them, and a team able to change it without us.

How it starts

An hour with whoever knows the system best, and a look at the code. You get an honest opinion back: keep it, improve it, or replace the part that is holding the rest back.

  1. 01 Request

    HTTP in, at a framework that gets out of the way of the work.

  2. 02 Service

    The rules, in a process that has been staying up for decades.

  3. 03 Data

    JDBC or JPA, behind a pool that is sized rather than guessed.

  4. 04 JVM

    Heap, GC and threads: the part of performance a profiler settles.

The names and marks above belong to their owners: Oracle, Java and MySQL to Oracle, Azure and SQL Server to the Microsoft group of companies, AWS and DynamoDB to Amazon, and the rest to the companies that publish them. Each is shown only to name a technology the studio works with, and no partnership, sponsorship or endorsement is implied.

A little ambition goes a long way

Got a wild idea?
Let’s make it real.

Start a conversation