As an Engineer on ReportStream,
I want a demo of what Microservices MvP will look like,
so that I can understand how to develop features
Description/Use Case
The Microservice MvP is documented here. The MvP, for the backend, Consists of running the following three applications in docker containers:
Spring Upload/Submission API*
"Legacy" ReportStream Azure Function Application
"*" Denotes a service that does not yet exist. When creating a proof of concept, use dummy services.
The main output of this proof of concept shall be a branch in the RS repo called "microservice-infra" that contains the repo setup for microservices. The assignee of this ticket will need to work through what exactly this will look like, but you can find some initial ideas below:
Create two "dummy" spring apps
Create a "common library" dummy, named rs-api, that will be referenced by the two dummy scripts.
Have all apps (the two dummies and ReportStream Azure Function App) as intelliJ modules
Update the gradle scripts so the apps can be built and run independently
Create the docker scripts (to be used for deployment). Verify these can be built and run locally.
Dummy apps should be able to communicate with the same azure services running in docker as the legacy reportstream app
Should provide the ability to run/debug multiple service at the same time
Note: This is one possible solution. Another could be a separate repo for each service. Consider pros and cons of both.
The other output of this ticket should be developer documentation that answers:
How to run and debug one or more services via intellij
How to run one or more services in a Docker container via gradle
How to pull down and run a previously published image (this probably can be put off for now but the proof of concept should allow for something like pulling previously published services from the Azure Container Registry and running that in a docker container locally)
Risks/Impacts/Considerations
Dev Notes
Acceptance Criteria
Working Microservice Proof of Concept published to branch
Microservice Proof of Concept developer documentation created
User Story
As an Engineer on ReportStream, I want a demo of what Microservices MvP will look like, so that I can understand how to develop features
Description/Use Case
The Microservice MvP is documented here. The MvP, for the backend, Consists of running the following three applications in docker containers:
The main output of this proof of concept shall be a branch in the RS repo called "microservice-infra" that contains the repo setup for microservices. The assignee of this ticket will need to work through what exactly this will look like, but you can find some initial ideas below:
The other output of this ticket should be developer documentation that answers:
Risks/Impacts/Considerations
Dev Notes
Acceptance Criteria