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

[ENHANCEMENT] Enable Parallel Deployments #124

Closed
movchan74 opened this issue Jun 26, 2024 · 0 comments · Fixed by #148
Closed

[ENHANCEMENT] Enable Parallel Deployments #124

movchan74 opened this issue Jun 26, 2024 · 0 comments · Fixed by #148
Labels
enhancement New feature or request

Comments

@movchan74
Copy link
Contributor

Enhancement Description

The current deployment process for AanaSDK in the AanaSDK.deploy function deploys each Aana Deployment sequentially. This process can be time-consuming as it requires waiting for one deployment to finish before starting the next one. The proposed enhancement is to modify this process to allow simultaneous deployments, thereby increasing efficiency. This parallel deployment approach is already utilized when deploying with serve config files, but it has not yet been implemented for aana deploy.

Advantages

  • Reduced Deployment Time: By deploying multiple instances simultaneously, the total deployment time can be significantly reduced.
  • Improved Efficiency: Parallel deployments can make better use of available resources, leading to more efficient operations.
  • Enhanced User Experience: Faster deployments can lead to quicker updates and less downtime, improving the overall experience for users and developers.

Possible Implementation

  • Concurrency Management: Utilize concurrency libraries such as concurrent.futures in Python to manage and execute multiple deployments in parallel.
  • ServeSubmissionClient: Another possibility is to use ServeSubmissionClient similar to how serve config files are deployed (see serve deploy code).
  • Error Handling and Rollback Mechanism: Ensure robust error handling is in place to manage any failures during the simultaneous deployment process.
  • Testing and Validation: Implement comprehensive testing to validate the functionality and performance of the parallel deployment process before full-scale deployment.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
1 participant