RNDSOFT Technology Blog
@rnds
Software development / Ruby-on-Rails
54 posts
infra
Статьи и заметки по различным техническим темам, сопровождающим наш процесс разработки

Nginx Rate Limiting. Как не быть назойливым

Обычно программист озабочен производительностью собственных серверов и как сделать так, чтобы его не заDDoSили собственные пользователи. Мы же столкнулись с обратной проблемой — как не попасть под бан от DDoS-защиты внешнего API?

Prometheus

В интернетах легко можно найти статьи о том, как из Ruby on Rails приложения отдавать метрики в формате, совместимом с Prometheus, и есть готовая библиотека Prometheus::Client, которая решает эту задачу. Однако, если вы делаете не какую-то курсовую работу или простенький MVP проект, то вы обнаружите, что в реальном боевом продакшене кишки намотает на вентилятор всё не так просто. Вот об этом я расскажу в статье и в конце дам ссылку на шикарнейший гем :)

Распределенный отказоустойчивый мониторинг через бастион хост

Бесконечно можно смотреть на 3 вещи: как работает разработчик, как бежит пайплайн в gitlab и как появляются данные на графиках в grafana.

Чистка build-агентов Gitlab

Спешим поделиться с вами нашим инструментом для поддержания чистоты и порядка на наших (RNDSOFT) сборочных серверах gitlab-janitor. О том, как мы к нему пришли, и каков первый опыт - далее по тексту.

FTP? Нет, не слышал

Сейчас будет немного боли и радости от победы над FTP. Мы много и упорно работаем со СМЭВ3. Никакой магии: обычный SOAP поверх HTTP, быстро, надёжно - все банки и гос. учреждения знают, как это делается. И вдруг (никогда такого не было, и вот опять) оказалось, что нам надо забирать большие файлы с FTP, предоставляемого СМЭВ.

Синхронизация файлов без регистрации и СМС - lsyncd

В одном из наших проектов появилась необходимость обеспечить высокую надежность продукта при работе со сторонним софтом. И не просто с софтом, а таким, который работает с файлами - в самом что ни на есть "файловом" виде. Далее я рассмотрю решения и подводные камни, о которые можно распороть пятку…

Infra3: Мониторинг, Event Logging и сбор логов

Сегодня поговорим про то, что мы используем для мониторинга, логирования 👀событий, а также централизованного сбора логов инфраструктуры RNDSOFT. Эта статья продолжение небольшого цикла Infra про нашу инфраструктуру.

Экономим бюджет компании, или как построить ГОСТовский крипто-туннель с минимальными затратами

Для любого системного администратора или DevOps’а построить VPN или пробросить нестандартный метод инкапсуляции пакетов (туннелирование) не очень сложно. Часто для этого используют OpenVPN для постоянного использования, либо ssh-туннелирование на один-два раза. Однако есть организации, которые должны соблюдать строгие рамки передачи данных, установленные законодательством. Под такие организации попадают банки, микрофинансовые организации (да и многие организации, которые так или иначе имеют отношения к финансовым операциям). Защита персональных данных тоже является “защищаемой информацией” во всех законопроектах и положениях.

Вы хочете песен? Их есть у меня! (Poison Message #2)

Самое время рассмотреть “достаточно хороший” алгоритм для борьбы с Poison Message. Здесь будет уже специфика RabbitMQ и к Apache Kafka она не применима, точнее применима только частично - но это уже совсем другая история.

Poison Message #1

У нас в RNDSOFT есть один проект, в котором очень интенсивно используется брокер сообщений RabbitMQ. Под "очень интенсивно" я подразумеваю, что это единственный канал взаимодействия десятков сервисов - никаких вам HTTP и REST. И в этой статье мы рассмотрим понятие "Poison Message" и как с ним можно жить.