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

RFC: Single Node Instance #1456

Open
LtChae opened this issue Sep 2, 2022 · 0 comments
Open

RFC: Single Node Instance #1456

LtChae opened this issue Sep 2, 2022 · 0 comments
Labels
enhancement New feature or request question Further information is requested

Comments

@LtChae
Copy link
Contributor

LtChae commented Sep 2, 2022

Is your feature request related to a problem? Please describe.
While UrbanOS scales up well, it does down scale down. This is an issue for small scale deployments for local, civic, and non-profit instances.

Describe the solution you'd like
I would like to propose a way to run UrbanOS as a single image, with all the microservices running together in parallel. External dependencies could be replaced with in memory or disk versions, especially with elixir libraries. This small-scale installation would handle Curation to Ingestion to Discovery. I recommend keeping Postgres as a dependency, shared between all the apps that need it and playing host to the persisted data storage as well.

The end goal would be an architecture of UrbanOS <-> Postgres. This is far more maintainable both from cost and technical expertise, while the postgres database would allow the user to easily swap to the clustered version with a simple process if later scaling demanded it.

Describe alternatives you've considered
At the moment, UrbanOS can scale down by cutting out microservices. This reduces the capabilities of the platform however and is not preferable.

Additional context
Dependencies to be swapped out:
Kafka -> Something like https://github.com/fredwu/opq (The event stream could be done relatively easily by customizing Brook!)
Redis -> Cachex
Elasticsearch -> https://github.com/heywhy/ex_elasticlunr

@LtChae LtChae added enhancement New feature or request question Further information is requested labels Sep 2, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request question Further information is requested
Projects
None yet
Development

No branches or pull requests

1 participant