RefRem: JVM to Binary Compiler
Fixing Java Cold Startup For Serverless
Exceptionally I will use this newsletter as a shameful self-promotion channel.
Please welcome to the world RefRem, my new product. It is a ridiculously painless compiler from JVM to native code. Painless because the alternatives are ridiculously hard to use.
Using this tool fixes cold startup for the Java ecosystem running on serverless platforms, the problem I described in my last newsletter.
During our tests, RefRem has reduced RAM usage by x5 and moved cold startup from 10 seconds to 100 ms.
The JVM is built for really fast execution. The drawbacks are that initial program runs slowly and consumes a lot of RAM and storage space. Cold startup is routinely above 10-15 seconds. It is costly (i.e. you pay for 10 seconds of execution) and it creates unpredictable huge latency.
Serverless architectures are quickly becoming the dominant paradigm. It’s a 7B$ market in 2020 projected to reach 21B$ in 2025. To provide some context, AWS annual revenue rate is 40B$ in 2020. To stay relevant, the JVM ecosystem - the largest in the world with 15M developers - must embrace serverless architectures.
RefRem is the missing piece of this puzzle.
We compile automatically your Jar to native code. We are built on top of GraalVM. GraalVM already builds a binary from your Jar but you need to explain all reflection calls in a configuration file. This becomes absurdly complex really fast even if they provide good tooling. We remove this step completely by executing all the program paths containing reflection instructions in your Jar.
There are some cases where it doesn’t work. When it happens we detect it and send back an error. For instance, if you load a class from the Internet and assume the class is changing per request, we cannot extract all reflection paths. Right now, we support only very simple cases but we’re expanding fast.
I am building RefRem with my co-founder Marcus a hugely successful serial entrepreneur whose last company has raised >50M$. This is a problem we are passionate about and we are committed to working on it for the next 10 years.
~/Next Steps ?
For any subscriber of this newsletter, I will offer a lifetime pro account. Offer valid until 8.8.20. To redeem answer me with your account login and we’ll enable it.
Please sign up, play with it, have fun! We are eager to see what you will make of it. At this point it’s slightly more than a toy. With your help it will become so much more!
PS I kept this newsletter short on purpose. If this piques your interest, email me. That will make me very happy.