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

As a developer, I can have azd generate all the required assets to deploy my web application with/without a database to Azure #705

Closed
6 tasks done
savannahostrowski opened this issue Sep 20, 2022 · 7 comments
Assignees
Labels
cli feature golden-path Improvements to the getting started experience + golden path (local dev -> first deploy) roadmap

Comments

@savannahostrowski
Copy link
Contributor

savannahostrowski commented Sep 20, 2022

v1 goal: Fingerprint JavaScript/Python web apps with/without Mongo/PostgreSQL databases, hosted on ACA w. Buildpacks

Right now, we sort of leave the exercise of figuring out what services are needed to move an app to Azure up to the developer. We should be able to provide them with more of an opinionated take so that we can decrease the cognitive load. We should also do this in approachable, non-Azure language so that folks without deep background can get started.

User flow:

  • Run azd init in a codebase dir (non-templatized)
  • User is provided with a series of prompts to walkthrough and accept the "suggested" services needed to move their app to the cloud (e.g. azd sees React and so we suggest Static Web Apps), with smart defaults + configurations
  • At each prompt, user is provided with the opportunity to either accept the default suggestion or amend an azd-suggested service and choose another option (maybe I don't want Cosmos and actually want Azure SQL)
  • As a result of the command executing, the user receives all the appropriate IaC assets in their project written in Bicep to run azd up with little to no amendments

We will evaluate both an AI and non-AI powered version of this.

Important Links

Design Artifacts

Tasks

  1. user-study
    gkulin savannahostrowski
  2. design
    Austinauth
  3. feature telemetry
    ellismg
@savannahostrowski savannahostrowski added this to the Backlog milestone Sep 20, 2022
@savannahostrowski savannahostrowski added the golden-path Improvements to the getting started experience + golden path (local dev -> first deploy) label Oct 6, 2022
@savannahostrowski savannahostrowski changed the title As a developer, I am provided with an opinionated take on the infrastructure I need for my project As a developer, I am provided with an opinionated take on the infrastructure I need for my project (application fingerprinting) Oct 7, 2022
@savannahostrowski savannahostrowski added the pm Requires PM spec or in-depth input before implementation label Oct 12, 2022
@wbreza
Copy link
Contributor

wbreza commented Jan 19, 2023

In addition to forming an opinionated infrastructure folder we should also explore generating default github actions / azdo pipeline files to help enable pipeline configuration as mentioned in #1420

@rajeshkamal5050 rajeshkamal5050 changed the title As a developer, I am provided with an opinionated take on the infrastructure I need for my project (application fingerprinting) Application Fingerprinting(BYO-repo) Jan 20, 2023
@rajeshkamal5050
Copy link

@savannahostrowski @ellismg Not in scope for GA. Moving this to Gallium.

@savannahostrowski savannahostrowski removed the pm Requires PM spec or in-depth input before implementation label Apr 7, 2023
@weikanglim
Copy link
Contributor

With fingerprinting, we may be able to add a subsequent feature. as @vhvb1989 suggests here:

services:
  web:
    project: ./src/web
    language: auto # may be omitted

Detecting the project file based on the folder would be fairly trivial. If we can't, we can simply emit an error.

@Austinauth
Copy link

Austinauth commented Jul 7, 2023

07/07/2023 | End of week design update

This week

  • Created initial Application Fingerprinting golden path prototype in Figma
  • Reviewed prototype with @savannahostrowski
  • Reviewed prototype with design team during crit and captured feedback

Next week

  • Present Golden Path scenario prototype during team demo time (cc: @rajeshkamal5050)
  • Incorporate feedback from design crit and team demo
  • Create initial flow explorations for language detection failure and DB config [See blocker below]

Blockers

  • Unable to create designs for the incorrect language detection, DB configuration, and other edge-case scenarios until we have a better understanding of how the language detection will work and how accurate it will be (cc: @weikanglim)

Team, feel free to comment here or in the prototype linked above if you have feedback, thoughts, or concerns

@savannahostrowski savannahostrowski changed the title Application Fingerprinting(BYO-repo) Application Fingerprinting v1 Jul 25, 2023
@savannahostrowski
Copy link
Contributor Author

Other scenarios to prioritize for Ignite:

  • Support for Dockerfiles - today, we are leveraging buildpacks when targeting ACA. We should also allow a developer to define their own Dockerfile
  • Managed add-ons - Running Redis in a container on ACA is faster to provision. We should lean on managed add-ons where possible

@savannahostrowski savannahostrowski changed the title Application Fingerprinting v1 As a developer, I can have azd generate all the required assets to deploy my web application with/without a database to Azure Aug 3, 2023
weikanglim added a commit that referenced this issue Sep 5, 2023
Add initialize from an existing app option to `init` (alpha).

Initialize from an existing application will:

1. Detect projects in the existing app. (using `appdetect`)
2. Provide prompt options to customize, troubleshoot, or fill in additional details (`detect_confirm.go` and `infra_confirm.go`)
3. Finally, generate `azure.yaml` and scaffold infrastructure based on the spec.

V1 implementation of #705
weikanglim added a commit that referenced this issue Sep 6, 2023
Capture relevant usage information for understanding feature usage.

Usage telemetry part of #705
@savannahostrowski
Copy link
Contributor Author

Closing this for now in favour of smaller items. Will discuss with @weikanglim

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cli feature golden-path Improvements to the getting started experience + golden path (local dev -> first deploy) roadmap
Projects
None yet
Development

No branches or pull requests

5 participants