Virtual Machines and Monoliths can be valid. It is untrue that every application must be decomposed into microservices, and containers. Decomposed microservices architectures are difficult to build and operate, leading to higher costs. Not all use cases demand a rewrite and containerisation. Many firms also do not have the requisite skills to build or operate a distributed container architecture. It might be better to modularise, not containerise the monolith.
An example is given below of moving an on-premise monolith to Azure and rebuilding it, into modules.
Use cases for Modularity
Time Estimate for Modularity
Functional Views – an example
Logical view in Azure