Programmer and sysadmin (DevOps?), wannabe polymath in tech, science and the mind. Neurodivergent, disabled, burned out, and close to throwing in the towel, but still liking ponies 🦄 and sometimes willing to discuss stuff.

  • 0 Posts
  • 9 Comments
Joined 3 years ago
cake
Cake day: June 26th, 2023

help-circle

  • $50/month would barely scratch the surface.

    Let’s take a conservative approach, and say there are:

    • only 1 billion links
    • each link only points to a URL of up to 100 characters in length on average (some will be 1000 or longer, but let’s hope some are 50 or shorter)
    • less than 10 billion daily hits total (that’s an average of 10/link)
    • the response time should be well under 50ms.

    Now you’re looking at 100GB of raw data to put into a database, that needs to return 100K answers/second, in less than 50ms each, worldwide, 24/7.

    What is your estimated cloud cost for something like 256GB of RAM, 128 cores, 10Gbps connect, replicated across several zones, and 1TB/day outgoing transfer?

    That’s only for the redirect responses in read-only mode, nothing else. You will also need some maintenance to keep it 24/7, for when the server catches fire, or gets obsoleted, and when new exploits come up against your software stack.


  • How much work is it really to keep goo.gl links around?

    A lot.

    Goo.gl has a namespace for 10 billion entries, it used to keep tracking/analytics data for each link, with a user interface, and it would happily generate them for links to internal stuff.

    Just keeping it running would take some containers of server racks, plus updating the security, accounting for changing web standards, and so on.

    Keep in mind this isn’t some self-hosted url shortener with less than a million entries and a peak of 10K users/second, that you can slap onto a random server and keep it going. It’s a multiple orders of magnitude larger beast, requiring a multi-server architecture just to keep the database, plus more of the same for the analytics, admin interface… and users will expect it to return a result in a fraction of a second, worldwide.