Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve deploy in studio #14660

Open
mirkoSekulic opened this issue Feb 13, 2025 · 0 comments
Open

Improve deploy in studio #14660

mirkoSekulic opened this issue Feb 13, 2025 · 0 comments

Comments

@mirkoSekulic
Copy link
Collaborator

mirkoSekulic commented Feb 13, 2025

Current Flaws in the Deployment Flow

1. Non-Atomic Resource Management During Deployment

The current process upserts application metadata, policy files, and test resource files before executing the deployment pipeline. If the pipeline fails, applications may end up with out-of-sync resources in storage.

Possible solutions

  • Revert storage resources automatically if the deployment pipeline fails.
  • Delay storage updates until the pipeline completes successfully (might be the issue if the apps loads the resources on startup).

2. Non-Transactional Deployment Flow

The deployment workflow involves three sequential steps:

  1. Triggering the Azure DevOps pipeline
  2. Creating a database record based on the initial response
  3. Scheduling a polling job that updates the state in our db.

If the studio container terminates between these steps, it may result in:

A succeeded pipeline with no corresponding database record
A stalled deployment state if polling fails to initialize

Proposed Solution

Introduce a pre-queued state for deployments before pipeline execution, or possibly more states and
implement a background reconciliation job to detect and resolve inconsistent states (e.g., completed pipelines without database updates).

@mirkoSekulic mirkoSekulic converted this from a draft issue Feb 13, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: No status
Development

No branches or pull requests

1 participant