7 ms·
Lorem Picsum, death by a million pixel-gigabits
- elcomet 7y agoI wonder how much it costs them to maintain this service.
- kenforthewin 7y agoThe article mentions Digital Ocean provides the infrastructure so it seems the only cost is dev time. It reads almost like a promotional for DO with all of their services mentioned, which is probably why they support it to begin with.
- emilfihlman 7y agoI though about that, too, but that's not any different from using AWS specific services. I actually now realized why they use bloody annoying different names: it's free marketing when someone writes about how they implemented stuff instead of having a generic name.
- robocat 7y agoDifferent names are alto useful for negatives. Someone writing about an issue with their CDN is far less useful than saying the issue occurs with Akamai. In general I like to see brand signals: if someone I respect mentions that they use Cloudflare, that is useful information, even without further details. Unsolicited mentions are usually useful, it's just sneaky paid advertising is bad.
- emilfihlman 7y ago>it's just sneaky paid advertising is bad. Not possible to detect under these circumstances, then.
- kingkool68 7y agoI run https://dummyimage.com https://dummyimage.com, the first placeholder image service which has been online since 2007. I use a 1GB, 1vCPU instance from DreamCompute costing $6.00 per month. That's it. To be fair dummyimage.com doesn't do any sort of image reading or resizing. Source doe at https://github.com/kingkool68/dummyimage https://github.com/kingkool68/dummyimage
- haasted 7y agoWhat kind of traffic does your service attract?
- bananocurrency 7y agonice to see a digital ocean site with some popularity not getting nuked or otherwise blacklisted.
- jokowueu 7y agoWhy would it get nuked or black listed ?
- SahAssar 7y agoDO has sometimes been accused of overselling capacity and then terminating services when they are fully used. I have never actually heard a first-hand account of this, but I assume that is what the parent is talking about.
- penagwin 7y agoI'm not sure if this is what you're talking about, or if the scale just wasn't a problem, but anecdotally I've (accidentally) pegged a 5$/mo instance for at least a month without any issues. EDIT: I do know that DO/Linode/(maybe vultr) have blackholed IPs during large scale DDOS attacks, simply because they don't have the infrastructure to mitigate it, and you affect their other customers.
- Reedx 7y agoDoes that really happen?
- fullwall 7y agonice to see a familiar project still going strong. :)
- wlesieutre 7y agoFunny timing, I was just looking at this over the weekend. Another option if you prefer cat pictures: http://placekitten.com/ http://placekitten.com/
- k2xl 7y agoI wonder how much it would cost to do a similar service and just upload all images and dimension possibilities to S3 + use cloudfront cdn.
- kemyd 7y agoWhat's the point? You'll create dimensions never used by users (CPU sensitive), you'll store files not used by users (storage), you'll miss some configurations for sure. They're creating files once and store them in a cache (CDN and local cache). Basically, they are doing something similar to your suggestion minus creating unnecessary files.
- overcast 7y agoOr just use Amazons serverless image handler, to server up requested sizes, and cache them. https://aws.amazon.com/solutions/serverless-image-handler/ https://aws.amazon.com/solutions/serverless-image-handler/
- bwilliams18 7y agoThis is what I use in production right now. It works well once you figure it out, but backwards compatibility with the previous Thumbor based version isn't as good (or at least correctly documented) as they say. And the previous Thumbor based processor just stopped working one day. It's not as robust as a system as I expected.
- overcast 7y agoThat's unfortunate, I've only just begun rolling into a new project, so I can't comment on how it used to be.
- jontro 7y agoThis broke unexpectedly in July. Hot fix came about a month later. Upgrading to v4 completely broke backwards compatibility. Wasn't expecting that from an aws created lambda solution
- 7y ago
- roddux 7y agoSeems like a hell of a lot of engineering effort for something that could easily be replaced by a gradient...
- bytematic 7y agoThis describes at least half of all programming efforts
- tiborsaas 7y agoIt's a good exercise to test these technologies and how to run things at scale. A real image from third party is valuable since gradients don't have onload events for example.
- AstralStorm 7y agoAn image gradient then. 1 px wide perhaps, or high. Few problems resizing it (even on client) and it should be reusable.
- tiborsaas 7y agoI think the point is not to get away with the scaling problem. Here's one service I used in a project's development mode: https://dummyimage.com/2500x2000/000/09f.png&text=HackerNews https://dummyimage.com/2500x2000/000/09f.png&text=HackerNews In the production build I changed it to the real host.
- boyter 7y agoImage resizer scaling is one of the more interesting problems I have worked on in the last 10 years of so. I was part of a small team that designed and built the resizer that powers the nine.com.au network of sites. Modest by USA standards it gets close to hundreds of millions of views a day across the whole network. We ended up using shared nothing architecture. The whole thing ran on 6 T2 large AWS instances using a slightly modified version of Thumbor where if you rotated the key the disk cache would be shared so avoid a large scale cache invalidation. It worked quite well and we rotated the key every few weeks. Things I learnt. Pretty much all image resizers have the same performance as all the good ones call out to C libraries in the end. Akamai (the CDN we used) despite having site-shield on would still hit the back-end ~100 times for the same image on occasion as I suspect all of the whitelisted machines could request the same image if their internal sharing didn't kick in fast enough. Long tail images were the ones that brought the resizer to its knees. The hot images would quickly enter the local disk cache and were not an issue. Purge the whole cache though and the long tail images would quickly overwhelm the instances. The last thing I learnt was to have a backup cloud-front ready to flip over to. At one point Akamai had issues and the resizer was facing origin load. It capped out at about 300 RPS which couldn't keep up with what was expected. It got even worse when the T2 instances ran out of credit. Spinning up cloud-front solved that issue once the DNS flip kicked in. One good thing to come out of it was I helped write the C# thumbor library as we had one site that was using C# and nobody could move over to the new resizer without it.
- N_A_T_E 7y agoSix t2.large instances sounds pretty efficient. For high volume image resizing on mobile devices we have access to GPU libraries. I wonder if something CUDA or openCL powered would help increase efficiency in a cloud based service.
- baybal2 7y agoI once tried to pitch a one "mobile ecommerce website as a service" company in Vancouver to go for GPU based image rescaler at around 2011. A very dumb proposal: no caching, resize on the fly, the gpu has many gigabits of resizing performance for as long as JPEG is involved. One GPU works in decoding with VDPAU, one in encoding with CUDA. That knocked down any google app engine based "elastic" service on economic basis, but the catch is that you have to send that GPU resizer to every colo. That did not work out as with google app engine you were getting access for google's POP network for almost free, and they were already paying for gigantic amount of CDN traffic. ---- When I worked as sub-subcontractor for the Alibaba's RDMA wired DC project, there was one demo by another team where they got DSP devs involved and they got a 10GB/s JPEG transcoders for under 100W. I think, most of power budget was going to the FPGA that was linking it all with the NIC :/ An expensive toy, but it again demonstrated to me just how powerful is the "lockdown" power of all those "cloud" companies. You can not buy anything like this on the open market. Imagine what it could've been if they offered something more cash worthy over the RDMA there. I said long ago that the killed product during the Bitcoin boom was not the mining itself, but leasing and renting the rigs. Your capital costs get covered near instantly, and you can cash out the next week. I believe that all that "cloud" thing will eventually follow this path.
- narven 7y agoAwesome, its one my fav places for random images :D
- hinkley 7y agoOne of the mysteries of my career is that everyone seems to be using Varnish except for the companies I work for. We are always using some other solution. Like pure CDN or our own poor man's S3.
- siscia 7y agoIs there any economical margin in running a similar service? People do it just for fun or have some monetisation strategy?
- davidu 7y agoMore interestingly, the github repo is just a wonderful example of a fully built application using modern techniques in a microservices architecture: https://github.com/DMarby/picsum-photos https://github.com/DMarby/picsum-photos It's so hard to always find how all the pieces fit together and this repo has it all. Really impressive.
- cc81 7y agoIs it really a microservice architecture? It looks like it is a web application with a frontend, backend api and normal modules/packages for the functionality?
- classics2 7y agoWhy would a stateless service need a database?