Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cmwylie19/data-migration-app
Loosely coupled Architecture for Migration app POC
https://github.com/cmwylie19/data-migration-app
Last synced: about 1 month ago
JSON representation
Loosely coupled Architecture for Migration app POC
- Host: GitHub
- URL: https://github.com/cmwylie19/data-migration-app
- Owner: cmwylie19
- Created: 2023-04-14T19:50:12.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-04-18T13:45:27.000Z (over 1 year ago)
- Last Synced: 2024-04-22T00:21:27.423Z (8 months ago)
- Language: Go
- Homepage:
- Size: 6.24 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Data Migration App POC
![architecture.png](architecture.png)
The idea behind this POC is to show how a _loosely coupled architecture is easier to maintain and enhance because it reduces the interdependence between components_, which makes it easier to modify or replace individual components without affecting the overall system.
Generally, in a microservices architecture, the goal is for the services to have one major task. The "migration service" is a metaphor for the Python services that is actually doing the migration. The idea, is that services is fully locked down by network policy, not accessible by any other service other than the authentication service.
The Authentication service is spoken to via a frontend. The Authentication services exchanges credentials for JWT tokens, and relies on [middleware](auth/pkg/server/middleware.go) to enforce AUTHN-Z.
Each user will have a role in the claims of the JWT, this role will dictate what the user is authorized to see.
**Need to haves**
- Open Telemetry - This user has an error access this data at this time. (Help us get ahead of errors)**Nice to haves**
- Gitops Server - Nowadays manual deployment is not considered a best practice. A gitops server pointing to a repo, where the repo has CICD checks that tests, statically analyses, and builds the code before allowing the push or merge to be added to the repo is a much safer way to deploy. It will save us time and headaches.
- OpenMetrics/Prometheus Metrics would be nice to see the load the users are putting on the system at large. It could give us insights into what could be going wrong