A few weeks ago we published an honest note about our finances. We said the proposal was not funded, revenue did not cover costs and rather than let the service quietly rot, we would make deliberate decisions about what to keep, what to move and what to let go. We also named the services most at risk if things did not improve. Image hosting was one of them.
This is the follow up. Image hosting has now been rebuilt and it runs on a fraction of what it used to cost.
Every image you see on Ecency passes through our image service. It does two jobs. It stores what you upload and it fetches, resizes and caches images that posts point to somewhere else on the internet.
That second job is the expensive one. Over nearly a decade, the cache grew into an enormous archive 240M files (46TB). Most of it was images we could fetch again at any time, because the original source is still online. But some of it was different: images whose original home no longer exists anywhere. For those, our copy was the last one on earth.
That archive was sitting on a large, expensive machines. Keeping it was becoming hard to justify. Deleting it blindly was not an option.
We rebuilt image hosting on a much smaller machine and we did the careful work first.
Before moving anything, we went through the history of posts on Hive and checked, image by image, what could still be fetched from its original source and what could not. That gave us a clear picture instead of a guess.
The images that can be refetched are no longer stored forever. They are fetched when someone asks for them, resized and cached for as long as they stay in demand. That is what makes the smaller machine viable.
The images that cannot be refetched were treated as irreplaceable, because they are. Two groups mattered most:
Photos uploaded through our older app, from the eSteem era. That host is long gone and no public mirror kept them. Every one we still had is now archived in durable storage.
Images from services that have shut down over the years. Old photo hosts, dead gateways, projects that closed. Where we held the only surviving copy, we kept it and marked it so that our own cleanup can never remove it (12M files).
Before switching over, we tested. We took a large sample of the images people actually request and checked each one against both the old setup and the new one. Everything that worked before works now. That was the condition for going ahead.
Here is the trade we made, stated plainly.
The new setup leans harder on public infrastructure. When a post points to an image somewhere else, we fetch it from there. If that source is unreachable, we fall back to public mirrors in the Hive ecosystem. Only what we could not recover anywhere is stored permanently by us.
That is more efficient and it is also more exposed. It means our image serving now depends on other people's servers staying up. If a public mirror disappears, or an image host we relied on shuts down, some older images could become harder to serve and in the worst case, unrecoverable. We have kept the copies that only we had, so the irreplaceable content is protected. But we are carrying less redundancy than before and we are not going to pretend otherwise.
We would rather run a leaner service honestly than run a fragile one while insisting everything is fine.
This is what cost cutting actually looks like when the money is not there. It is not painless. Each cut removes a little more slack from the system. We are choosing which risks to take, deliberately, in the open, instead of letting the bill decide for us.
Image hosting stays free for everyone for now. Uploads still work the same way. Your existing posts still render. The service costs us a small fraction of what it did, which buys us more room to keep everything else running.
The rest of the picture has not changed. Revenue still does not cover costs and the gap is still being closed by cutting rather than by growing. That can only go so far.
If you want to help keep the slack in the system:
Vote for the Ecency proposal on Hive. It is the single biggest lever and it is free to you. https://ecency.com/proposals/379
Use the paid features. Points, boosts and Pro all fund the servers directly.
Delegate Hive Power to @ecency if you have stake sitting idle.
Keep posting. An active community is the argument for everything else.
We are still here, still open source and still building. The lights are on, the images load and we will keep telling you the truth about what it takes to keep them on.
Thank you for being part of Ecency. With your support, we will keep building.
Status: https://status.ecency.com
Transparency: https://trust.ecency.com
The Ecency Team