microsoft / bedrock

Automation for Production Kubernetes Clusters with a GitOps Workflow
MIT License
129 stars 12 forks source link

Create Azure DevOps Prometheus Deployment Gate #213

Open evanlouie opened 5 years ago

evanlouie commented 5 years ago

For an ideal Canary deployment scenario, there should be 1+ Azure DevOps deployment gates which connects to the monitoring source related to the application health to determine whether or not to proceed with the next phase of deployment (i.e. to increase canary % of traffic or deploy from staging to prod).

To best accomplish this, a Prometheus deployment gate extension should be created which is similar to the Azure monitor deployment gate extension. This would query the Prometheus API.

Related articles: https://docs.microsoft.com/en-us/azure/azure-monitor/app/continuous-monitoring https://github.com/Microsoft/azure-pipelines-tasks/blob/master/docs/authoring/gates.md https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/utility/azure-monitor?view=azure-devops https://docs.microsoft.com/en-us/azure/devops/pipelines/release/approvals/index?view=azure-devops

https://github.com/CatalystCode/kubemalt/issues/45

evanlouie commented 5 years ago

@edaena: after talking a bit w/ @andrebriggs, we should probably shelve this for a bit until we scope out what Azure DevOps is able to do overall (and what it can facilitate for us in a workflow).

evanlouie commented 5 years ago

@andrebriggs This seems to be getting quite stale. Is this something we still want to look into?