Not only can a monolithic code base be scaleable but you can make it into microservices by adjusting it's startup parameters:
monolith --start-batch-jobs
monolith --start-claim-processor
monolith --start-graphql
And they would be interconnected probably via some clustering protocol with libraries that hide the complexity and runs a bus available in a litany of languages.Need scale?
k8s replica count on the above pods.