(geoip.)nekudo.com ist verkauft. Ein Rückblick.

Nach ca. 4 Jahren Betrieb habe ich meine Geolocation API und die zugehörige Domain nekudo.com verkauft. In diesem Artikel habe ich die Geschichte des Projekts von Anfang bis Ende noch einmal aufbereitet.

Aus der Not geboren

Entwickelt habe ich das Projekt Ende 2014, zunächst nicht öffentlicht. Für ein anderes Projekt benötigte ich eine Geolocation API und habe (wie wohl die meisten) zunächst die API von freegeoip.net verwendet. Diese hatte damals jedoch mit ein paar Problemen zu kämpfen und war häufig langsam oder gar nicht erreichbar. Daher habe ich mir kurzerhand eine eigene API mit ähnlicher Funktionalität gebaut, und zunächst nur für eigene Projekte verwendet. Diese erste Version basierte noch auf dem Slim PHP Framework.

Nachdem die API ein paar Wochen stabil lief, habe ich den Sourcecode für das Projekt unter dem Namen ShinyGeoip auf GitHub veröffentlicht und die URL zu meiner API publik gemacht.

Die ersten Jahre

Zunächste schenke ich dem Projekt weiter keine Beachtung. Ich habe die API nicht großartig beworben o.Ä. und der Traffic dümplete dementsprechend vor sich hin.

Mehr Traffic und Refactoring

Ende 2015 ging mit der Telize.com API eine der großen kostenlosen Geolocation APIs von Netz. Die Entwickler suchten nach Alternativen und ein Teil des Traffics landete dementsprechend auch bei mir. Gleichzeitig stieg der Bekanntheitsgrad der API von selbst, da kostenlose Geolocation APIs in diversen Artikeln und Foren verlinkt wurden.

Mitte 2016 beschloss ich daraufhin den Quellcode der API komplett zu überarbeiten um die Performance zu optimieren. Ich verzichtete auf das Slim-Framework und setzte auf eine PHP Lösung ohne irgendwelche Frameworks. Die Änderungen skalierten super und der Code wurde bis zum Verkauf nicht mehr wesentlich verändert.

Zusätzlich verteile ich den Traffic auf zwei Server, um zum einen die Ausfallsicherheit ein wenig zu erhöhen, und zum anderen die Last auf den Servern zu reduzieren.

Anfang 2017 erreichten die API ca. 100 Anfragen pro Sekunde und Server.

Der Siegeszug von SSL

Vorangetrieben von Google und LetsEncrypt gewann SSL in den lezten Jahren extrem an Bedeutung. Dementsprechend erreichten auch meine API mehr und mehr Anfragen über das https Protokoll. Was zunächst harmlos klingt, kann bei hunderten Anfragen pro Sekunde jedoch einen großen Unterschied machen. Mehr Anfragen über https bedeuten zwangsläufig auch mehr CPU Last, denn Crypto ist nicht umsonst ;)

Um diese zusätzliche Last zu kompensieren habe ich zunächst die Schlüssellänge der SSL Zertifikate auf 2048 Bit reduziert, und später Server mit mehr CPU Kernen zur Verfügung gestellt.

Noch mehr Traffic und Verkauf

Im Juli 2018 wurde die API von freegeoip.net in den Service von ipstack.com integriert. Ähnlich wie bereits 2015 mit der Telize.com API sorge dies wieder für einen Anstieg des Traffics auf meinen Servern.

Erster Pfeil: freegeoip.net wird zu ipstack.com. Zweiter Pfeil: Verkauf der API.

In den lezten Monaten vor dem Verkauf erreichten die API dann ca. 400 Anfragen pro Sekunde und Server. Das sind immerhin knapp 70 Millionen Anfragen pro Tag!

Natürlich habe ich mich gefreut zu sehen, dass meine kleine API sich über die Jahre so toll entwickelt hat. Zum Schluss waren es lediglich zwei Gründe die mich dazu bewogen haben das Projekt zu verkaufen, obwohl der Betrieb nach wie vor sehr viel Spass machte:

Die Kosten

Server und Traffic wollen natürlich bezahlt werden. Über Spenden ist ein solches Projekt leider nicht zu finanzieren und ein bezahlter Service kam für mich nie in Frage. Ich habe die Ausgaben immer als "Rückzahlung an die Open-Source Community" betrachtet - aber auch das ist nur bis zu einem bestimmten Punkt möglich.

Aufwand und Veranwortung

Bei einer solchen Menge an Anfragen möchte man eine API natülich stabil und ohne Ausfälle betreiben, um die Betreiber anderer Services nicht in die Bredouille zu bringen. Mir ist es bis zu Schluss gelungen die API ohne Ausfälle oder Performace Probleme zu betreiben, aber das kostet natülich Zeit und machmal auch Nerven.

Goodbye

Damit bleibt mit eigentlich nur noch "Tschüss" zu sagen und der API und den neuen Betreibern alles Gute zu wünschen.

Ich werde mich auf andere Projekte konzentrieren und mit Sicherheit bald wieder ein kostenloses Projekt an den Start bringen. Ideen sind da :)