Answer the question
In order to leave comments, you need to log in
What to use to store photos on the backend?
In the mobile application (android / IOS), it is necessary to make it possible for users to upload photos and then view them. I'm interested in how best to organize the storage of photos on the backend. I see at least 2 approaches:
1) upload all photos directly to AWS S3 and show them from there
2) Use SAAS like cloudinary or imgix. They provide an API + all sorts of cropping, cropping, compression functions.
The requirements also require that the solution be easily scalable as the load increases.
Perhaps there are other approaches? Have you had any experience with these services, what are the pros / cons / pitfalls?
Answer the question
In order to leave comments, you need to log in
I made the imgur.com API. Addressed to js directly from the browser. On my server, I kept only the database of photo IDs. Everything worked and at an acceptable speed. It was a pilot project. If you don’t feel sorry for the money for AWS S3, you want guarantees, support, more control, you are going to scale, then amazon is probably preferable. Paid is always better. The French also launched an interesting hosting (scaleway or something), a dedicated server on an ARM processor for 2-3 dollars. There is no processor, but a 50Gb SSD drive and you can still not expensively bribe. Checked, the channel for Europe is excellent, in Russia it is worse and SSDs are really fast enough.
The first option looks the most correct if the issue is storage.
In terms of scalability, Amazon is relatively expensive, but it scales perfectly.
There are a lot of services that provide the ability to store photos. Besides AWS S3, there are cheaper options like SkyparkCDN or Selectel . All static files can be uploaded to the storage, due to the CDN, all statics from the storage will be quickly loaded all over the world. And in case of lack of space, you can always quickly increase.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question