When I last posted, I had just submitted a pull request to Heroku. After a bit of deliberation, they accepted and released version
rails12factor. That was somewhat exciting. It's my one and only accepted pull request on github by a stranger.
At work it was mainly a year of writing integrations.
- First we added a web hook to allow other systems to stay in lockstep with us. I really like the web hook pattern. I like that it can be handed off to background workers and run asynchronously. I like that it can scale to integrate with huge numbers of systems. Mostly I love that it doesn't require yet another cron job.
- We added an alerting system for our customers that ties to PagerDuty. I can't say enough nice things about PagerDuty. I have a lot of worries but they aren't one of them. Their API is really easy to work with and we have been able to train our customers on how to get the integration setup in about five minutes via conference call.
- We added a polling interface for the data provided by the web hook because we have customers who want the data but don't want to setup a public end-point on their end to receive the posts from the web hook. We stood up a new web tier for handling API requests and structured the polling interface such that the main request which is made frequently is highly optimized on our end and only returns a very small set of data. The heavier requests for detailed information only appear to happen roughly one to five times for every hundred polling requests. This solution probably wouldn't scale to our biggest theoretical customers. But we would probably be able to get them to use the web hook since they should already have public end points hosted internally.
Right now we have switched to a mode of breaking our existing monolithic app into smaller pieces and integrating them via APIs. This is still in it's very early stages but the implications for scalability and development flexibility are already obvious. We will have to invest more time in managing the various hosting environments but with luck that won't be too onerous.
We lucked out with respect to heartbleed. Heroku manages our SSL servers and had them upgraded at about the same time we heard there was a problem. Heroku also rolled out perfect forward security. We watched our other various accounts and didn't find any strange activity so I guess that's going to be ok. We also turned on two-factor authentication for everything important (at home and at work). And our app should get two-factor capability some time in the next 12 months.
In lighter news, Saints Row 4 was the video game of the year for me. It's so much fun to play. You should absolutely check it out. Unless you are uptight and don't like: swearing, graphic violence, animated nudity, sexual innuendo, animated sex, or nude animated characters swearing while swinging giant wiggling dildo bats.
Also, Greece is rad. If you can scrape together money for airfare just go there. Maybe learn some key phrases of the language first. It's not like spanish, french or any other language you may have bumped into in school. Seriously. Without at least some study you will not even be able to phonetically read signs.
ευχαριστώ for visiting!