-
Notifications
You must be signed in to change notification settings - Fork 196
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
Move storage off of local disk #84
Comments
In a slight improvement, I've now moved the storage to a single data directory, which can be symlinked where ever you like, including (in theory, anyway) a shared network volume. |
Should be made easier by commit 0a82241, which now builds from a temporary directory rather than in-place. I'm waiting on fix to be pushed to hackage from brendanhay/gogol#35, before I can move everything over to GCS. When I do this, I'll make a pluggable storage layer, so that it's still possible to develop locally with storage on disk. |
I poked at this a little this weekend. The gogol bug is fixed, and I can successfully read and write to/from cloud storage from a test app. Great! I've started to build a compatibility layer now, so that it becomes possible to run on cloud storage, or from local disk. Getting there! I'm focusing on this, because it seems to be the next step to moving off of Google Compute Engine, and onto Google Container Engine. I expect that will help a lot in scalability, and hopefully in cost, as well. |
See #448 |
Rethinking the approach here. We really just want a network drive, and switching to Google Cloud Storage for it is not worth the bother. There are now other people running CodeWorld servers, and I can't trust them all to run it on Google Cloud. So I should just use a shared network drive. Too bad Google Cloud doesn't make that easy... |
This is done. CodeWorld data is now stored on an NFS volume. |
As is, the CodeWorld server reads and writes files on local disk, in the user/ and projects/ directories. This makes it impossible to scale up to more than one server. Instead, we should use some kind of shared storage API (database, etc.) that can be scaled, and shared by many front end systems. Existing projects will need to be migrated into the new store.
The text was updated successfully, but these errors were encountered: