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
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
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.
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.
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.
#java #microservices #jvm #compilers #interpreter #graal #truffle