Spotify’s Love/Hate Relationship with DNS
labs.spotify.com
labs.spotify.com
However there is no requirement that the MNAME host be willing to answer queries. There is an expectation that the host in the MNAME field accepts dynamic DNS updates, if one is using RFC2136-style dynamic DNS, although I didn't get the sense Spotify were doing so.
I don't think running your own DNS is too uncommon, especially if you have a lot of on-premise hardware that changes somewhat frequently. However, if you do this don't run BIND. We found PowerDNS to be much better in terms of features, user-friendliness, and documentation. Having backends that aren't zonefiles is a huge win. I've heard good things about Unbind, but haven't used it in a big environment yet (>1000 machines).
Also, unless there's a huge amount of DNS data changing every 15 mins, they might gain some speed-ups from sending dynamic DNS updates to the authoritative nameservers and/or using IXFRs instead of AXFRs.
(n.b.: unbound only handles recursive DNS, not authoritative.)
Yeah, but as you probably also know the PowerDNS recurser is separate, so there's no reason PowerDNS + Unbound couldn't also be a great combination. Heck, I might even choose that combo so resolvers only have unbound installed and can never act as authoritative servers.
4 minutes seems like an awful long time for what I'm assuming is a fairly simple transformation. Any insight as to why? Is named just slow?
In that case, I am surprised git is a good fit. SVN might have been better, though some commercial solutions like ClearCase or Perforce would actually be right for that sort of work-load.
(1) Keep binary/data files elsewhere.
(2) Keep large files in Large File Store/Annex.
(3) Use Git Virtual File System by MS.
They exist, but you have to be monumentally huge to have that.
git pull [--rebase] && git push
takes a few seconds. Doing it server-side (say, through any off-the-shelf code review system) is even faster.If you're insisting on running tests every single change before fast-forwarding into trunk....yes that will get prohibitive very fast. A bot would hardly help though. If you have 4 commits a minute applied and verified serially, you need to build and test in 15 seconds.
Assuming you've locally build-tested each commit, the bot only needs to build-test the combination. And some bots even pull in a set of merges at a time, and keep them if they all pass, only falling back to serial testing if they fail.
Some big companies do successfully use Git for monorepos though (e.g., Microsoft – search for "GVFS").
Note: I haven't been there for two years so of course some things may have changed.
But in general I've never seen any commercial source control system beat an open source I've.
Disclaimer: it's been several years since I've used Subversion, this may have changed.
> Upon the migration of the final nameserver – you guessed it – DNS died everywhere. The culprit turned out to be a difference in firewall configuration between the two OSes: the default generated ruleset on Trusty did not allow for port 53 on the public interface.
Deploy a new service on a Linux box in the last decade? Poke it through whatever the distro uses to manage iptables.
It's like a webdev saying "it turns out DROP deletes tables".
If I split the two windows side by side, the difference is marginal. If I do them fully maximised, the difference is more pronounced (at least on Windows)
edit: downvotes? really? Do I need to post screenshots or something?
That’s very weird.
They are probably using a WYSIWYG editor that auto generates so when you press return it creates a new paragraph. I agree the output is weird but I could see how this would happen.