My company have recently embark on a platform architecture change from monolithic to microservice architecture. The entire migration might take years so as of now, we would still need to maintain the current monolithic application while slowly dismantling the application.
We dismantle the monolithic application via service oriented architecture in interim for some module (where database is still connected to the monolithic application's database) while some we directly transition to a microservice (the microservice owns its own database if applicable).
We practice releasing feature whenever it is ready instead of following a release window. Each team have their own stagings to manage this thus we have multiple stagings environment (11 in total) each with its own set of the legacy monolithic application.
While transitioning to the microservice architecture (while i understand that when we fully transition to microservice architecture there will only be 1 staging for the entire company), we would need to maintain all those stagings which that means we would need to have a copy of the microservice in each staging environment.
(Did not mean to guide the answers in the direction of this solution. Preferable if there are any answers in a different direction so we can have more options and variations to consider the pros and cons) One of the idea we have is that for each db, we have an additional column to mark which staging this row of data is for. Therefore we can maintain 1 single instance of the microservice for multiple staging. The issue is that for every API call, client side need to specify which staging it is for. It complicates the development of each service (need to cater for which staging's database to filter out), makes the endpoint harder to call (since you need to specify which staging database you need to access) and more important is these are redundant code that is not suppose to be there in production.
The issue we face is as the number of microservices grow, that would take up a lot of server resources (we decided to use on premise server to host our kubernetes and Proxmox VM for the legacy monolith). Is there any infrastructure architecture that would reduce the resources that is required for this?