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

dimitarvp
Hey everyone, I resumed work on my Elixir <=> SQLite library (which uses a Rust NIF underneath) and I am in a need of small and we...
New
ohm
Does anybody have good learning resources with regards to going into Event Driven Design, Architecture or Sourcing? I got recommended Er...
New
New
New
Fl4m3Ph03n1x
Background I am now trying Gradual type checking, as a consequence I am giving a shot to Gradient. As I see it, this is an alternative to...
New
Fl4m3Ph03n1x
Background While playing around with dialyzer, typespecs and currying, I was able to create an example of a false positive in dialyzer. ...
New
JimmyCarterSon
Hello, I am. very new to Elixir lang I have only been doing it for about 2 weeks. I recently started following this tutorial todo list, ...
New
Fl4m3Ph03n1x
Background I have recently been delving into more functional code. My objective right now is to get something similar to the IO Monad (in...
New
Fl4m3Ph03n1x
Background I have a module that uses TypedStruct to create structs. This is the code: defmodule Shared.Data.Authorization do @moduledo...
New
pillaiindu
Currently reading the book “Programming Phoenix LiveView”. At the end of the Chapter 1, I’m trying to solve the guess game. If the user ...
New

Other popular topics Top

AstonJ
A thread that every forum needs! Simply post a link to a track on YouTube (or SoundCloud or Vimeo amongst others!) on a separate line an...
New
AstonJ
If it’s a mechanical keyboard, which switches do you have? Would you recommend it? Why? What will your next keyboard be? Pics always w...
New
DevotionGeo
I know that these benchmarks might not be the exact picture of real-world scenario, but still I expect a Rust web framework performing a ...
New
brentjanderson
Bought the Moonlander mechanical keyboard. Cherry Brown MX switches. Arms and wrists have been hurting enough that it’s time I did someth...
New
AstonJ
Just done a fresh install of macOS Big Sur and on installing Erlang I am getting: asdf install erlang 23.1.2 Configure failed. checking ...
New
AstonJ
If you are experiencing Rails console using 100% CPU on your dev machine, then updating your development and test gems might fix the issu...
New
New
Help
I am trying to crate a game for the Nintendo switch, I wanted to use Java as I am comfortable with that programming language. Can you use...
New
PragmaticBookshelf
Author Spotlight Mike Riley @mriley This month, we turn the spotlight on Mike Riley, author of Portable Python Projects. Mike’s book ...
New
PragmaticBookshelf
Get the comprehensive, insider information you need for Rails 8 with the new edition of this award-winning classic. Sam Ruby @rubys ...
New