Regional Deployments + Scheduled Deployments

In our scenario, we have a situation where we have multiple regions (Latin America, Europe, Asia Pacific, Americas, etc). We have a separate set of environments for each and the deployment schedules are different for each (different maintenance windows for production, for instance).

I saw two choices here:

  1. Create region-specific projects (My Project - EU, My Project - LA, etc). This is terrible for a number of reasons, including the need to duplicate all config and create a new identical deployment for each project for each deployment.
  2. Create region-specific Environments. This is the most natural thing. It forces me to create a lot of Environments, though (Dev, QA - EU, Staging - EU, Production - EU, QA - LA, Staging - LA, Production - LA.

My questions/Suggestions:

  1. This makes the deployment table in the dashboard a bit wide. It’s fine. It just seems like there might be a better way.
  2. It would be nice to define maintenance windows for each environment so that someone is warned before they do a deployment outside the maintenance window for that environment.
  3. Schedule a deployment. Do I have to be awake for my software to go out to an environment? I think not! It’d be nice to schedule a deployment for 2:00 AM so that it goes out automatically during that environment’s maintenance window. In our case the combination of project and environment would determine the maintenance window (some projects can be deployed in a very broad window, some cannot). My workaround for this is Windows Scheduler and your Powershell tools, but I wanted to pass along that suggestion.