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

Research persistent storage options in Azure #1312

Closed
3 tasks
thekaveman opened this issue Mar 13, 2023 · 2 comments
Closed
3 tasks

Research persistent storage options in Azure #1312

thekaveman opened this issue Mar 13, 2023 · 2 comments
Assignees
Labels
deliverable Work that ends with a non-code deliverable (e.g. Google doc)

Comments

@thekaveman
Copy link
Member

thekaveman commented Mar 13, 2023

We're starting to talk about an administrative interface for the Benefits app, to simplify app configuration and content management.

In order to make this happen, we need to transition the app from using a Sqlite database that is recreated locally every time the container restarts, to a more stable persistent storage mechanism.

Options could include:

  • A real database service e.g. Postgres
  • A lighter-weight key/value store
  • Some kind of syncing to maintain the Sqlite database between container restarts

In addition, we need to think about maintaining 3 separate environments of configuration, and potentially wanting to migrate between those environments.

Acceptance Criteria

  • The setup and configuration of the solution can be defined in code/terraform
  • The solution can segregate different environments of app settings
  • Minimal if any code/logic changes to the Benefits app (some settings/config changes are expected)

Additional context

  • Meeting notes from kick-off requirements gathering / scoping call

What is the definition of done?

A write-up (a comment on this issue is fine) that describes one or more options that meet the above criteria, with pros/cons and any special considerations.

@thekaveman thekaveman added the deliverable Work that ends with a non-code deliverable (e.g. Google doc) label Mar 13, 2023
@thekaveman thekaveman moved this to This Sprint (Month) in Digital Services Mar 13, 2023
@thekaveman thekaveman added this to the Admin interface milestone Mar 13, 2023
@angela-tran angela-tran moved this from This Sprint (Month) to In Progress in Digital Services Mar 14, 2023
@thekaveman
Copy link
Member Author

thekaveman commented Jun 30, 2023

Some kind of syncing to maintain the Sqlite database between container restarts

This is probably the simplest approach with the fewest number of changes, and could be done with no additional services in Azure (cost may increase slightly for additional blob storage).

We know we can mount an Azure storage container into the app's filesystem at runtime. Questions:

  • Can we change the path where the django.db database is (initially) created, to the mount?
  • As of now we've only mounted for reading files; is it possible to write to files in the mount?

@thekaveman thekaveman moved this from In Progress to Paused in Digital Services Jul 3, 2023
@thekaveman
Copy link
Member Author

Closing this issue for now and will create a new one to implement the idea above: #1312 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
deliverable Work that ends with a non-code deliverable (e.g. Google doc)
Projects
Archived in project
Development

No branches or pull requests

2 participants