Bookmarks migration


I migrated Bookmarks off of Heroku.  Heroku generously offers one free dyno that you can use to try out their services.  I found the Heroku environment, tooling, and documentation excellent.  Unfortunately, when you are only using a single web dyno and it hasn't seen any traffic in one hour,  the dyno is idled out.   The next request requires restarting the dyno process, which takes seconds.   I understand why they do it, and there's no way I'm going to complain about something that is free, but it is unworkable for Bookmarks.  Since I'm the only one using my web app, it would idle frequently throughout the day.  Trying to save a bookmark required a frustrating wait.  Since I already have a VPS with Linode, I migrated Bookmarks over there.

I have several web apps already running on Linode, and a few of them are now years old.  Moving Bookmarks made me revisit the dated setup.  I was running apache + mod_wsgi and nginx with all web apps using the global Python install.    Many Django folks recommend using nginx + gunicorn or uwsgi these days.  I chose gunicorn since it is popular and easy to set up.  Each web app now runs in its own virtualenv and is managed using Supervisor.   This setup makes it much easier to maintain and grow, and now Bookmarks is more responsive. 

No comments: