DEV Community

Cover image for To 30 Billion and Beyond

To 30 Billion and Beyond

Randall Degges on January 22, 2018

Several years ago I created a free web service, ipify. ipify is a freely available, highly scalable ip address lookup service. When you query its ...
Collapse
 
peter profile image
Peter Kim Frank

Awesome write-up, thanks for sharing the journey of this project. It's very cool to see how you evolved and improved the API to support the growth over time.

Collapse
 
rdegges profile image
Randall Degges

Thanks! Glad you enjoyed it :D

I thought it'd be fun to recap the story of how things have been growing.

Collapse
 
notjulian profile image
Julian

Hi Randall,
great and useful apis ... I don't know if you have seen this two post ... with incredible benchmark
ayende.com/blog/181505-C/handling-...
dizzy.zone/2018/01/23/Kestrel-vs-G...

Collapse
 
vkuznecovas profile image
Viktoras • Edited

I did get a lot of slack for using Iris though!

Collapse
 
andrewchou profile image
Andrew Chou

This was a great read! I remember going to a NodeJS meetup in Chicago this past summer where you were the guest speaker. That was an awesome talk, and I can't wait to read more of your stuff on Dev.to!

Collapse
 
rdegges profile image
Randall Degges

Thanks! Glad you enjoyed it ^

Collapse
 
thejohnstew profile image
John Stewart

Great job!

I can't believe Node was having serious trouble at such a low number of requests per second.

Collapse
 
rdegges profile image
Randall Degges

Yah, pretty crazy right? One of my friends was interested in this (and is fan of Crystal lang), so he cloned ipify in Crystal to perform benchmarks.

You can see his results here: github.com/crcastle/ipify-api

His results make Crystal look pretty appealing from a performance standpoint (note: we are on different boxes, so things aren't 100% similar). But it looks like Crystal performs pretty close to Go =)

Collapse
 
dellerbie profile image
Derrick Ellerbie

Cool info! Can you recap what your production setup ended up being (the full stack, number of dynos, link to the source)?

Collapse
 
rdegges profile image
Randall Degges

Sure. The code is all open source (it's extremely simple): github.com/rdegges/ipify-api

Currently, it runs on between 4 and 6 1x dynos on Heroku depending on load. Nothing special.

Collapse
 
piotroxp profile image
Piotr Słupski

Great Piece. Nice to see that you can actually get to this level being just one developer. Kudos Man, great work!

Collapse
 
rdegges profile image
Randall Degges

Thanks!

Collapse
 
skatkov profile image
Stanislav(Stas) Katkov

Cool story, thanks for posting! Very impressed by all the API business.

I found your story very similar to ipinfo.io, that i found here blog.ipinfo.io/

Collapse
 
zeerorg profile image
Rishabh Gupta

One of the good articles I've read. Also, this excites me about go :P

Collapse
 
yigitgursoy profile image
Yiğit Gürsoy

Ayende wrote a blog post about this:
ayende.com/blog/181505-C/handling-...

Collapse
 
mtbsickrider profile image
Enrique Jose Padilla

Awesome read. Really interesting journey of building something that does one thing great and sounds like the new de facto package for what it does.