OctoDNS упрощает любому члену команды GitHub управление записями DNS и позволяет GitHub синхронизировать записи различных провайдеров.
Хрупкость системы DNS стала совершенно очевидна в прошлом году, когда DNS-хост Dyn подвергся мощной DDoS-атаке, которая вывела из строя большие сегменты Интернета. Поскольку ожидается, что угроза DDoS-атак будет только возрастать, эксперты призывают организации обеспечить избыточность их DNS-сервисов.
GitHub, онлайновая платформа для совместного использования кода и разработки ПО, представляет новый инструмент с открытым исходным кодом, упрощающий создание такой избыточности.
OctoDNS — это система, которую GitHub использует на протяжении нескольких месяцев для управления собственными записями DNS, пояснил Росс Макфарленд, ведущий разработчик этого инструмента. «Мы в GitHub имеем множество доменов для различных целей, некоторые из них могут содержать сотни записей, — заявил он. — Процесс управления ими довольно сложен и чреват ошибками, если в него вмешивается человек и производит изменения вручную».
OctoDNS позволяет GitHub синхронизировать свои записи у различных DNS-провайдеров. Таким образом, если у кого-то из них возникнут проблемы, другой по-прежнему сможет обслуживать запросы пользователей. «В сущности, в основе этого лежит избыточность», — сказал Макфарленд.
Это позволяет также практически любому работнику GitHub от инженеров до маркетологов подать заявку на внесение изменений. Например, команда GitHub, обслуживающая различные мероприятия, может работать над созданием веб-сайта для конференции пользователей и добавить его URL-адрес, скажем, universe.github.com.
«Если они придумали название и знают, на что должен указывать этот URL-адрес, — пояснил Макфарленд, — они придут и добавят пару строк в определенный файл, чтобы произвести соответствующие изменения. И когда пользователи введут universe.github.com в адресную строку своих браузеров, они окажутся там, где нужно». Прежде кому-то из его команды пришлось бы вносить эти изменения вручную.
Макфарленд приступил к изучению такого рода решения для «разделения полномочий» при управлении DNS примерно год назад. «Именно в этом направлении следует думать, но об этом знает недостаточно много людей, — сказал он. — OctoDNS устраняет множество причин попасть в неприятную ситуацию».
OctoDNS поддерживает работу с коммерческими провайдерами, включая Cloudflare, DNSimple, Dynect и Route53. Поддерживается также работа с PowerDNS — ПО, которое можно использовать для самостоятельной эксплуатации DNS-серверов (часто во внутренней сети).
GitHub открывает исходный код этого инструмента, сохраняя приверженность своим ценностям, сказал Макфарленд. «Это не то, что дает нам конкурентное преимущество. У нас нет причин использовать его только самим», — заявил он. Философия GitHub, продолжил он, заключается в том, что создаваемые «нами системы должны иметь открытый код, если нет причин его не открывать, а такие причины возникают редко».