In my search for the most optimum container tech, I have been playing around with various combinations of OpenSource and frameworks.

In this blog, I will walk you through what, I think, is one of the most optimum container stacks.

Before I dig into the stack, let me spend some time, walking through what are some of the non-functional requirements of a Container & Serverless/FaaS based MicroServices Architecture


IMHO, the following are some of the key requirements

Smaller Footprint

Eventually, all of these MicroServices are going to run on the cloud, where we “pay for what we use”…What we need is a runtime that has a smaller footprint and runs with optimum CPU cycles so that we can run more on less infrastructure

Quicker Bootstrap

Scalability is one of the most important aspects of container-based MicroServices architecture. So the faster the container bootup, the faster it can scale the clusters. This is even more important for Serverless architectures.

Built On Open Standard

We must have the underlying platform/runtime built on open standards, as it’s easy for me to port or run the workloads in a hybrid multi-cloud world!!, and avoid vendor lock-in.

Faster Build Time

In this agile world, where we roll out fixes/features/updates very frequently, the build and rollouts must be quicker…including real-time deployments of the changes (during development time, to test, as we develop)

Let’s park these requirements for sometime…let me go down the stack, to the foundational elements and work my way up the stack, to build (what I believe is) the most optimum container platform, that would deliver the above requirements.

Since there is a lot to go through, I have divided into 4 episodes.

  • **Episode 1: “The Evolution” **— Java JIT Hotspot & C2 compilers (the current episode…scroll down)
  • Episode 2: “The Holy Grail” — GraalVM: In this blog, I will talk about how GraalVM embraces polyglot, providing interoperability between various programming languages. I will then cover how it extends from Hotspot and provides faster execution and smaller footprints with “Ahead-of-time” compilations & other optimizations
  • Episode 3: “The Leapstep” — Quarkus+CRI-O: In this blog, I will talk about how Quarkus takes a leap-step and provides the fastest, smallest, and the best developer experience in building Java MicroServices. I will also introduce CRI-O, and how it brings its ecosystem of tools.
  • **Episode 4: “The Final Showdown” **— Full-stack MicroServices/Serverless Architecture: In this blog, I will put all the pieces together and talk about how they build a robust, scalable, fast, thin MicroServices Architecture.

#java #microservices #jvm #compilers #interpreter #graal #truffle

“The Evolution” — Java JIT Hotspot and C2 Compilers
1.45 GEEK