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

Adding Terraform to Azure App Service setup #10

Open
Jerenaux opened this issue Mar 22, 2022 · 4 comments
Open

Adding Terraform to Azure App Service setup #10

Jerenaux opened this issue Mar 22, 2022 · 4 comments
Labels
enhancement New feature or request

Comments

@Jerenaux
Copy link

For the Darts demo, Tanguy added code to Terraform the app through the Gitlab CI/CD.

Would it be valuable to have an Azure App Service Terraform setup included in Cookiecutter (maybe as an optional choice when initializing a new project)? I see a lot of value in having an automated way to deploy e.g. Streamlit apps to App Service, but maybe it’s too much, wdyt?

@lsorber
Copy link
Member

lsorber commented Mar 25, 2022

I think that's a great idea: there's definitely a gap that Poetry Cookiecutter doesn't fill yet with regards to infrastructure provisioning. Another gap that we can fill is being able to manage multiple packages simultaneously, such as an API server and its associated API client – i.e. a 'mini' monorepo.

That being said, I think we should discuss (on- or offline) whether we should include this functionality as part of Poetry Cookiecutter, or on a different level.

@lsorber lsorber added the enhancement New feature or request label Mar 25, 2022
@lsorber
Copy link
Member

lsorber commented Nov 19, 2022

@JWuzyk let’s give this some thought. I’d like to see how we can make infra more easy. For AI we also have to consider the training phase, which I’d like to be able to run on on-demand cloud infrastructure.

@JWuzyk
Copy link
Collaborator

JWuzyk commented Nov 20, 2022

Would indeed be nice to get infra for free as well. Adds a lot of complexity to an already complex cookiecutter though. Especially since you'd probably want a few different deployment options. Some example code with setup instructions would probably be almost as good. Also would be easier to add to existing projects.

For ML training I see a few options:

  1. Training in CI - Remote training could be handled by the same infra running our CI pipelines. We could add special training runners by extending the Runners Terraform without adding too much to the cookiecutter directly. CML looks like another easy way to do it. Probably also need to integrate DVC (more infra for storage) or something like that to manage data then. Pretty clunky to use for experimentation though IMO.
  2. Use an ML/pipelining framework - many framework allow you to define pipelines and easily run these on cloud resources just by specifiying runners. Some also automate deployment so app service wouldn't be necessary in many cases. Could be really powerful but requires us to commit to a framework. We also give up the level of customisation we have managing infra ourselves.
  3. Custom infra - A basic version of this would be including setup for using a VM with a GPU (very easy to do with AzureML) or using AzureML experiments purely as a task runner. More complicated would be something like scripts to send jobs to Azure Batch. (I think Jerome already did this?). Probably the most work but could be very flexible. Could even build a basic package out of it and import it in the cookiecutter.

@lsorber
Copy link
Member

lsorber commented Nov 24, 2022

Great, thanks for the input, I'll plan a meeting with you to discuss next week!

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
Development

No branches or pull requests

3 participants