jaimeiniesta

jaimeiniesta

Screenshots as a service

I maintain a project that lists hundreds of thousands of web pages, and I’d like to show a screenshot for each web page. There are already some services out there that give you this service, and are very easy to integrate in an app - all you need is use an IMG tag, basically, but I’m worried about the costs.

So, I’m evaluating building this in-house to reduce costs. I think that it would be pretty easy to set up an AWS Lambda with Puppetteer that, given the URL of the page and some options like size, takes a screenshot and maybe caches it to S3?

Do you have any experience with this? Is there already an open source solution that I can easily set up?

Most Liked

AstonJ

AstonJ

I would think it’d be significantly cheaper to create and run you own than use AWS Lambda :slight_smile:

You could use something like:

…and host the service on a very cheap dedicated server (you can get them for about $40 a month now I think). You could them simply copy them over to your app or hotlink to them from a sister-domain or subdomain on that server. Large hard drives are very cheap now, so you could easily host up to 2TB for around that cost I reckon.

There are lots of good dedicated server suggestions in this thread on EF btw: https://elixirforum.com/t/deploying-elixir-opinions-on-heroku-digitalocean-bluemix-etc/289

Where Next?

Popular Backend topics Top

pillaiindu
Cross posting from HashNode. A friend of mine is creating Uber-like app for a small company with 200 to 1000 cars. The app will operate ...
New
Rainer
Is there somewhere a good introduction to rust for experienced programmers (with years of C++/C#/Java experience)? Wanted to give it a t...
New
mrmurphy
I’ve run into a situation where I’ve got a list of posts inside of a container that uses phx-update=“prepend”, and the posts on the socke...
New
Fl4m3Ph03n1x
Background I am trying out polymorphic typing with dialyzer. As an example I am using the famous Option type (aka, Maybe Monad) that is n...
New
Fl4m3Ph03n1x
Background So, I am playing around with a concept named “NewType” and I am taking inspiration from languages like F# and Scala. My objec...
New
Manish_bose
Can anyone help me how to convert a long data to wide data in SQL without using hard coding? Regards Manish
New
Fl4m3Ph03n1x
Background I am moving towards defined data structures in my application, and I find that TypedStruct is quite useful. Questions Howeve...
New
sona11
I’m having a difficulty. I want to modify an attribute’s data type from String to Array. { “id”: “trn:tarb:tradingpartner:uuid:00000...
New
sona11
If isReachable throws an IOException in Java, what is the right step to do and why? The application, I believe, should halt the process ...
New
apoorv-2204
Anyone know how to get in golang? I am from elixir background?.
New

Other popular topics Top

Devtalk
Hello Devtalk World! Please let us know a little about who you are and where you’re from :nerd_face:
New
PragmaticBookshelf
Learn from the award-winning programming series that inspired the Elixir language, and go on a step-by-step journey through the most impo...
New
dasdom
No chair. I have a standing desk. This post was split into a dedicated thread from our thread about chairs :slight_smile:
New
DevotionGeo
I know that -t flag is used along with -i flag for getting an interactive shell. But I cannot digest what the man page for docker run com...
New
New
PragmaticBookshelf
Rust is an exciting new programming language combining the power of C with memory safety, fearless concurrency, and productivity boosters...
New
PragmaticBookshelf
Learn different ways of writing concurrent code in Elixir and increase your application's performance, without sacrificing scalability or...
New
AstonJ
If you get Can't find emacs in your PATH when trying to install Doom Emacs on your Mac you… just… need to install Emacs first! :lol: bre...
New
New
PragmaticBookshelf
Fight complexity and reclaim the original spirit of agility by learning to simplify how you develop software. The result: a more humane a...
New