How do you deal with moderation? Is it automated, I see you even have comments? Or is it just report buttons and your takedown form? How is the support load?
What is your tech stack? PHP? Python? C#? Java? Golang?
Years ago everyone had to use an image-host (Photobucket, lol…) because all those phpBB instances on shared hosting accounts didn’t support direct image uploads or greatly limited attachments and most people didn’t have their own web hosting account to use instead.
With the rise of Web 2.0, it became important for sites to control their content - I remember the days of hotlinked images being swapped-out with obscene or vomit-inducing content as an act of revenge on bandwidth leeches - and cheap storage meant it wasn’t a problem to host hundreds of gigabytes of content by oneself. Can you image if Facebook and Instagram didn’t host the images posted to them?
It’s 2021 now, web-forums are dead - if people want to share photos to a small circle they’ll likely use Dropbox or OneDrive - or just copy+paste between Signal, Telegram and WhatsApp…
Do guide question: who uses your service and where’s the opportunity for profit? Serving images directly means people can’t see any ads, and browsers now block more and more third-party cookies (until all of them by 2023, I understand) so using image-hosting as a way to track users across the web is gone - is your frontpage traffic enough? Savvy users who use image hosts also tend to the ones to adblock too, even on mobile.
So, well, my estimate of a few grand a month was not completely off.
But being an asshole about insisting that everyone log in so you can target them individually isn't actually a requirement for the business model to work and be profitable.
At most, you can justify being an asshole about insisting that the user not be using an ad-blocker (with the user having the option of logging in with a paid account for an ad-free experience).
p2p cats for teh win
Then people could easily navigate to cat pictures.
That does not seem to be the case.
https://help.backblaze.com/hc/en-us/articles/217667468-B2-Se...
They don't have the cross-DC redundancy like S3 does. If a DC goes offline, so does your data.
I'm updating my comment.
Don't put data you don't want to loose in a single location.
[0] https://www.ovh.com/world/news/press/cpl1787.fire-our-strasb...
Smells like seven figures already.
Well, I was responding to "millions", so maybe "a handful of peanuts" might be more accurate...
I belive there was an open company/OCI post by neocities.org a good while back, detailing their budget - but I can't seem to find it again.
http://web.archive.org/web/20160310015118/https://blog.neoci...
> Our (rough) budget for 2015
(...)
> We have upgraded a lot of our infrastructure to provide for faster, more reliable service with more features, space, and bandwidth capabilities, which has pushed our operating bill to around $300/month (...) To prevent unexpected costs, we have made agreements with our providers to make this a fixed rate, so a sudden flood of traffic shouldn't change this dramatically.
(...)
> In order to become self sustaining with the current system, we will require approximately $3600 in annual recurring revenue. I think this is an achievable goal with our new site (we're almost 1/3 of the way there), and we have plenty of runway incase this takes longer than expected. We also have the ability to scale back on some of our expenses, as I believe I can shave off at least $100-150 from our monthly recurring expenses should we need to without too many problems.
> (...) We can scale a lot (~500k+ sites) with what we have now, and the scaling options we have are simple, predictable and affordable.
Then you can have a local copy and be sure you have every standard cat in existence!
Anyway, you can do anything the hard way, but what’s your point? That serving millions of cats per second requires big investment that must be recouped? I see most of this as rent seeking, and the infrastructure is economy of scale. Maybe you use tensor flow and Kafka inside Kubernetes, I dunno…
I agree that one can expect lame websites to act lame, but it’s out of sheer churlishness rather than necessity
It's the picture intake pipeline that eats most of the resources. If you only want to serve the same collection, or a collection you personally increase by 1-2 cats a day, then it's fine.
How so? Let's say you want to be somewhat competitive with imgur and handle a million images per day, and also that the peak rate is 4x your average. That comes out to 50 images per second. A thumbnail or few shouldn't really take more than a CPU-second, so you can handle that with 2-6 cheap servers. Let alone using spare cores on storage-optimized servers. And it's next to zero database load.
You think they wouldn’t rather have the cash?
Well, yes, serving static HTML is easy. Serving images is kind of not hard either, because you have free unlimited traffic, don't you? Some hosting plans offer it. They just limit the egress bandwidth. So maybe you need a few more servers to cope with it, just like $50 a pop. You're not gonna need any CDN, people further away from your DC will just wait longer. Or run your servers from two regions, it just takes duplicating your collection of cat pictures, should be peanuts.
Then, you need to store these terabytes of cats. On rather fast disks because else the disks will be the bottleneck, and cats will load very slowly for some users. It would be terrible were something to happen to the collection, so you need some backup for peanuts, like some Backblaze, and maybe a second copy because Backblaze has no^W limited redundancy.
Then, well, you need to monitor all that and sometimes fix issues, because cloud infra is highly available but not highly reliable.
Then, where do the cat pictures come from? Allow anonymous uploads! Or register users and allow uploads.
Now analyze each picture so that it's an actual cat picture and not child porn or a warez archive. Resize them to match your standards. Yes, this is simple, just run a RNN that detects cats.
Then, curate the incoming pictures so that they are actually reasonably interesting. Just maybe hire a few people to do that for peanuts somewhere in Africa.
Ah yes, you want to also deduplicate images; run some image hashing algorithms; use maybe just one or two GPU instances to do that efficiently. And you gonna need a DB, a simple one, that will never need any administering or fixing, won't it?
Well, yes, now you can run that site for just several grand a month, making it your day job, because you're well-qualified to maintain every part of it. Enjoy the peanuts.