return

Что происходит с главной, часть 4: нам нужен металл

1 февраля 2023, 10:01
Всё течёт, всё меняется. linkmeup начинался со скромного шаред-хостинга на площадке xgu.ru, потом был Миран, Даталайн…
Нас мотало в разные стороны — ESXi с виртуалками, облако VMWare, Proxmox с lxc-контейнерами. Со временем накопился багаж костылей и «так-исторически-сложилось»-решений, с которыми очень хотелось расстаться (обычно это называется легаси).
Мы решили опять всё переделать, на этот раз — без облаков, только ржавое голое железо, только хардкор.
В общем, у нас теперь два железных сервера.
Первый — в servers.ru. Спасибо Игорю Мызгину, что нашёл ресурс, даже в такие сложные времена. Тут уже некоторое время (уже полгода) живёт сайт, хранилище файлов и бэкапы (которых много не бывает).
Характеристики сервера, где живёт наш сайт
Второй — по-прежнему в Миране, но уже другой. Компания EdgeЦентр любезно предоставила нам сервер. Здесь будет жить сервер трансляции, зеркало сайта, лаба, бэкапы, и реплика стораджа — теперь наши подкасты будут отдаваться и из Мирана тоже ;). Ну и ещё может чего придумаем — ресурсы позволяют.
В коробке от Juniper лежит HP — всё ж логично, да?

 

Чуть-чуть заглушек не хватает — но это поправимо
Площадки по-прежнему связаны через IPSec+BGP, но сверху теперь есть ещё распределённое s3-like-хранилище (точнее, два), а вся инфраструктура, включая DNS-записи, описана в плейбуках ансибла и манифестах терраформа. Разумеется, всё лежит в приватной репе в гите (разве что CI/CD ещё не прикрутили, и штаны не подвернули).
Вообще хранилище для файлов — это наш давний пунктик. Изначально всё было просто, как два стальных шарика — виртуалка с nfs презентует сторадж виртуалке с сайтом. Схема рабочая, но для веба неудобная: например, чтобы залить файл, нужно было изворачиваться с пробросом портов через ssh, апишки никакой нет, бэкапить неудобно, реплицировать в другой дц тем более.
Подкасты, картинки для анонсов и сами анонсы грузятся с помощью специального скрипта, написанного Маратом — он сказал, что ему лень каждый раз заходить в админку вордпресса и жать на кнопки. Смена стораджа на s3-like позволила этот скрипт значительно упростить, потому что теперь не надо ходить на сторадж по ssh с помощью хитрых заклинаний — всё бегает нативно по https, и, вдобавок, автоматом реплицируется между площадками.  Ещё один плюс — сам сторадж теперь полностью независим от сайта (отдельный домен, отдельные ВМ), т.е. проще проводить обслуживание, переносить при необходимости и т.д.
Как бы мы ни любили Микротик, тут решили обойтись без него — всё на «голом» linux, с минимальным использованием публичных ipv4-адресов, — экономия, знаете ли! — зато воспроизводимо где угодно, хоть у кого-нибудь под столом (тут была шутка про Макса, но Марат сказал, что её никто не поймёт). На эту тему у нас внутри команды было много холиваров, но пришли к тому, что Микротик — это про мелкие энтерпрайзы и операторов, а у нас тут типичный web-scale, так что nginx, iptables и fail2ban — наши лучшие друзья. Опять же, если сделали курс про сети в linux, нужно идти до конца.
Proxmox в качестве гипервизора, потому что всякой проприетарщине веры больше нет. Кто знает, в следующий раз, может, и до OpenStack дорастём? Ну и разумеется, сайт и всё остальное доступно по ipv6 — сетевики мы, или где?
«Зачем так сложно?» — спрашивал Мамонт, а мы (я, Snake), даже и ответить ему ничем не могли. На самом деле всё просто — две площадки, два гипервизора, чутка lxc-контейнеров, StrongSwan, BIRD, minio, nginx… В определённый момент пришлось себя сдерживать и не накручивать MPLS лишнего — вроде, получилось.
Традиционные спасибы:
  • Фёдору Русакову лично и всему коллективу дата-центра «Миран» — за надёжные тылы и долгую дружбу.
  • Игорю Мызгину и servers.ru — за «дом» для нашего сайта.
  • Михаилу Шурыгину и компании EdgeЦентр — за предоставленный проекту сервер.
  • Дмитрию Петрову и Комфортел — за регулярную материальную и моральную поддержку наших начинаний.
  • Сергею Грушко и voxlink — за неоценимый вклад в создание обновлённого сайта.
like 0 views 1811 message 0

0 коментариев

Ещё статьи

Задача №6.5
Маршрутизатор в Москве анонсирует всем остальным маршрутизаторам в сети маршрут по умолчанию. Но на все остальные маршрутизаторы он приходит с одинаковой метрикой равной 1 и метрика не увеличивается по пути ...
like 0 13596 14
29 октября 2012
Анонс подкаста. Выпуск 22
21-го декабря в 15:00 по Мск здесь будет 22-й выпуск подкаста linkmeup. В гостях инженеры из российской компании НТЦ Метротек — Иван Шевчук и Павел Курочкин. Они расскажут о том, ...
like 0 6654 4
15 декабря 2014
Let's Lab. IS-IS routing protocol. Часть 2
Концепции и правила! Они окружают нас повсюду. Что употреблять в пищу, как переходить дорогу, почему не стоит облизывать лягушек и как перекладывать пакеты, если ты маршрутизатор. Очень много всяких штук ...
like 0 12149 19
10 марта 2015