My team wants to have its own personal file server and needs to have similar features like dropbox, we only need to dump the files there and access it whenever needed (not really that much). Actually we can just get a dropbox plus subscription 99$/year as a solution for this. But we would like to explore other alternatives maybe it can lower down the cost.
So Now my plan is to leverage AWS's free tier by creating a single instance (t2.micro)with nextcloud installed and having an external storage S3 mapped into it(data is around 1TB).
Now the challenge i see is we have roughly around 40+users uploading and editing some files, but this i believe is not simultaneous maybe the average is just 20+ accessing. Would you think that the t2.micro can still handle the MYSQL queries and nextcloud? Or it is really suggested that i would have to create a separate RDS instance for the DB. If this is the case then we would revert back to dropbox since i think the cost will be much higher hosting up 1 t2.micro instance + 1 RDS
I also tried seafile which is the fastest in terms of syncing capabilities compared to nextcloud and its very lightweight, but one feature is lacking in the free edition which is the s3 mount. The paid version on the other hand has it but you need to pay extra per user which is a bit pricy.
Let me know your thoughts.
I dont think that you can run nextcloud with a MySQL-Instance on a t2.micro instance for 40+ users.
The simple reason is: t2.* instances are burstable instances, this means you cant use 100% CPU for a longer time-period. In fact you can only use 10% of CPU in average, if the instance use more CPU, your CPU-Credits will run out.
See this link for a more detailed explanation of CPU-Credits and burstable instances: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-credits-baseline-concepts.html
Here is a cloudwatch metric of a t2-instance I used in production some while ago, shit hit the fan pretty fast: