Let's say I have 10 different applications that all have a postgresql database dependency and these applications must be deployed on Azure using Azure managed postgresql instances. Would it be best practice to create a managed database instance for each application and each environment (development, staging, production) (10 x 3 = 30 instances) or should I create one larger managed postgresql instance for each environment? That way I only have three managed database instances (dev, staging, prod)
I'm concerned about performance, security and maintainability. Overall best practices.