Research if adding caching (Redis, other) to VA Forms API would positively impact the Veteran experience.
Background
The VA Forms API gets heavy traffic spikes at times, which has caused some issues with the API returning 5xx responses, causing Veterans the inability to access their necessary forms.
[todo: link to issues, slack threads, etc].
User story
AS A Veteran or other user of forms available via VA.gov
I WANT to have access to the forms I need without encountering any errors
SO THAT I can complete them without frustration and get the services/aid/etc. that I need
Engineering notes / background
With no caching in place, each and every request to the VA Forms API is routed through Lighthouse and ultimately to the postgres database.
In order to understand what our caching options are, we need to explore the path a request takes from browser to Lighthouse. We may find that implementing a Redis cache at the /v0/forms endpoint could greatly impact the Veteran performance. Or, we may find that the path to the /v0/forms endpoint takes won't allow for an in-memory cache. In that case, perhaps there is an HTTP proxy cache we could leverage.
Analytics considerations
Quality / testing notes
Acceptance criteria
[ ] Explore the path a request takes from the browser to Lighthouse
[ ] Determine if in-memory cache is possible, and if not
[ ] Determine if there's an HTTP proxy cache, or other method of caching, we can use
[ ] Create additional ticket for the actual work if necessary
Description
Research if adding caching (Redis, other) to VA Forms API would positively impact the Veteran experience.
Background
The VA Forms API gets heavy traffic spikes at times, which has caused some issues with the API returning 5xx responses, causing Veterans the inability to access their necessary forms.
[todo: link to issues, slack threads, etc].
User story
AS A Veteran or other user of forms available via VA.gov I WANT to have access to the forms I need without encountering any errors SO THAT I can complete them without frustration and get the services/aid/etc. that I need
Engineering notes / background
With no caching in place, each and every request to the VA Forms API is routed through Lighthouse and ultimately to the postgres database.
In order to understand what our caching options are, we need to explore the path a request takes from browser to Lighthouse. We may find that implementing a Redis cache at the /v0/forms endpoint could greatly impact the Veteran performance. Or, we may find that the path to the /v0/forms endpoint takes won't allow for an in-memory cache. In that case, perhaps there is an HTTP proxy cache we could leverage.
Analytics considerations
Quality / testing notes
Acceptance criteria