Краткий очерк о способе и результатах оценки количества серверов, размещенных на сетях крупнейших российских операторов связи.
Пользователь
Функциональное программирование на Groovy
Функциональное программирование подразумевает стиль кодирования, акцентирующий внимание на использовании функций и минимизации изменений состояния с помощью неизменяемых структур данных. В Groovy, который изначально разрабатывался как более гибкая альтернатива Java, функциональное программирование представляет собой не только стиль, но и хороший инструмент для решения сложных задач.
В этой статье мы разберём, как реализовано функциональное программирование в Groovy.
Фильтры Ansible: превращаем сложное в простое
Используя Ansible в качестве инструмента автоматизации, часть приходится сталкиваться с задачей обработки и фильтрации структурированных данных. Как правило, это набор фактов, полученных с управляемых серверов, или ответ на запрос к внешним API, которые возвращают данные в виде стандартного json. Многие неопытные инженеры, используя Ansible в таких случаях, начинают прибегать к помощи привычных консольных команд и начинают городить то, что среди специалистов получило название bashsible. В общем, вспоминается известный мем:
Переизобретаем файловую систему: (Open)ZFS
Хранение данных — это всегда боль, у которой может быть больше 50 оттенков: железо, кэш, гарантии, производительность, скорость восстановления при проблемах, удобство и прочее. Как решить большинство из них, при этом получив что-то легко обслуживаемое, да ещё бесплатно? Сегодня поговорим про файловые системы на примере не совсем дефолтной OpenZFS.
Запуск Линукс на TV-боксе на чипе RK3528
Мне удалось запустить Armbian сборку Ubuntu на TV-боксе с новым чипсетом RK3528. Используя конфиги для Hinlink H28K, первого поддерживаемого в Armbian устройства на этом чипе.
Это продолжение статьи, где я описал несколько способов достать Device Tree файлы из Андроид установленного на TV-боксе. Нужно для запуска на конкретном устройстве, даже для одной и той же модели - компоненты устройства могут отличаться, эти детали есть в Device Tree. Эта инструкция рассказывает как собрать и запустить Armbian используя полученный Device Tree файл. Написано для пользователей Линукс, средней сложности - почти всё подробно описано по шагам.
Инструкция для запуска в том числе с USB накопителя, что по умолчанию отключено в загрузчике U-Boot.
Превращаем TV-box в мини-компьютер: установка Linux Armbian на примере X96 Max+ 100W
Одноплатные компьютеры своим появлением взяли на себя огромное количество задач и с каждым днём решают всё больше наших проблем. Но многие окружающие нас бытовые устройства являются одноплатными компьютерами с практически с идентичной многим привычным SBC (single board computer) начинкой и телевизионные приставки классический тому пример.
Когда-то я приобрел ТВ приставку X96 Max Plus 100W на Android чтобы потестить ее вдоль и поперек и пришел к тому что классическое ее применение для просмотра мультиков и Android игр мне не интересно.
Гайд в 2 шага по созданию нейро-продавца машин на AVITO на базе LLM моделей
Тема нейро-сотрудников на базе LLM моделей уровня ChatGPT 3.5 и выше набирает обороты. Я уже постоянно слышу термины типа нейро-продавец, нейро-психолог, нейро-консультант и подобные.
Давайте попробуем разобраться как это устроено внутри и собрать для примера нейро-продавца автомобилей, выложенных на AVITO.
Механика сотрудника такая: мы берем ссылку на любое объявление о продаже машины в AVITO и наш нейро-продавец должен отвечать как бы "подсматривая" на эту страницу и убеждать потенциального покупателя купить автомобиль.
Почти всё о Carbonio MTA
Carbonio MTA (Mail Transfer agent) - это ключевой узел инфраструктуры Carbonio, обеспечивающий работу его главной функции - отправки и получения электронной почты. В сердце Carbonio MTA лежит Postfix, который в связке с Amavis, ClamAV и SpamAssassin обеспечивает надежную и безопасную работу с потоками электронной почты, защищая почтовые ящики пользователей от спама и зараженных вирусами писем. В этой статье мы расскажем о том, как грамотно настроить Carbonio MTA и как администратор может взаимодействовать с ним.
Как начать тестировать Ansible, отрефакторить проект за год и не слететь с катушек
Это расшифровка выступления на DevOps-40 2020-03-18:
Начиная со второго коммита любой код становится legacy, т.к. изначальные задумки начинают расходиться с суровой реальностью. Это не хорошо и не плохо, это данность с которой сложно спорить и необходимо уживаться. Частью этого процесса является рефакторинг. Рефакторинг Infrastructure as Code. Да начнется история как отрефакторить Ansible за год и не слететь с катушек.
Создаем свой загрузочный диск Linux
В статье описывается способ, как создать собственный загрузочный диск Linux (оптический диск или флешку), добавить в него только нужные программы и убрать все лишнее. Полученный образ в экспериментах занял менее 25 Мб. Он позволяет быстро загружаться, работать в текстовом режиме, создавать, редактировать, удалять файлы на разных файловых системах, имеет поддержку русского языка. За основу взят Debian.
Как мы запускали сервис по продаже подписок на Spotify, Netflix, PlayStation
Меня зовут Рома Васильев, я дата-инженер. В марте 2022 года мы с коллегой создали стартап — сервис-посредник, через который в России можно купить подписки на Netflix, Spotify, PlayStation, Steam и другие площадки, которые ушли с рынка.
В этой статье расскажу, как это всё работает: где закупаем подписки, как подключили эквайринг, чтобы людям не заморачиваться с оплатой чат-ботам, как облажались с отправкой подарочных кодов через API. И как мы стартанули, совмещая бизнес с восьмичасовой основной работой.
Резервное копирование репозиториев с github, gitlab
Резервное копирование репозиториев с git серверов на основе github и gitlab по токену. Скрипт скачивает все Ваши репозитории доступные по токену и архивирует их. Давно хотел написать такой инструмент т.к. использую и те и те сервера в работе и личных целях. У меня полно старых проектов которые хранятся только на git, если с ним что-то случится, то их уже не будет.
Запускаем Vagrant на MacOS Apple M1/M2
Очень часто в разработке возникает необходимость поднять локальное окружение для отладки каких-либо рабочих моментов. В своей работе я постоянно пользуюсь Vagrant для тестирования инфраструктурного кода, например ansible-ролей.
Vagrant остаётся одной из самых популярных утилит для подобных задач, имеет гибкий синтаксис и поддержку базовых алгоритмических структур – можно поднимать N и K машин в цикле, используя заранее вводимые переменные, а потом еще и ansible-inventory генерировать на выходе, разбивая машины по группам.
Долгое время я оставался пользователем MacBook на процессоре Intel, но больше так продолжаться не могло – пришлось сменить компьютер, хотя я и знал о некоторых особенностях работы М1 с виртуальными машинами.
В этой статье я расскажу, как настроить и запустить Vagrant на процессорах Apple M1/M2 и вернуться в привычный рабочий режим.
Паттерны отказоустойчивости приложений в Kubernetes
Другое дело, что даже в условиях постоянных рисков отказа отдельных элементов нам нужно обеспечить работоспособность инфраструктуры в целом. Клиент не должен заметить, что где-то отказал контейнер с php-fpm или одна из серверных стоек выпала из сети.
По роду деятельности мне постоянно приходится сталкиваться с проблемами отказоустойчивости, так как я руководитель разработки в отделе Газпромбанка, обеспечивающем эксплуатацию ML и Big Data-решений. Поэтому сегодня я хочу рассказать о нескольких паттернах отказоустойчивости и типовых решениях при эксплуатации приложения в кластере Kubernetes. Разберём основные паттерны, ну и, конечно, рассмотрим варианты, при которых неправильные настройки прострелят вначале одну ногу, а потом — другую, потому что она слишком медленно стала шагать.
КриптоПро в Linux контейнере для использования КЭП от ФНС
С Нового Года в России от Индивидуальных Предпринимателей (ИП) и директоров Обществ с Ограниченной Ответственностью (ООО) требуют использовать Квалифицированную Электронную Подпись (КЭП) выданную Федеральной Налоговой Службой (ФНС).
В этой статье речь пойдёт о том, как работать с КЭП от ФНС под Linux без головной боли.
Обзор топ-5 полезных утилит для Docker
Проект Docker, запущенный в 2013 году, стал одним из самых популярных инструментов в области контейнеризации. Спустя почти 10 лет Docker активно развивается, однако, не только сама компания Docker Inc привносит улучшения в свой продукт – обычные пользователи тоже вносят свой вклад, создавая различные инструменты, которые совершенствуют взаимодействие с системой Docker.
В статье мы рассмотрим топ-5 полезных утилит, которые упростят работу с Docker.
Практическое руководство по реализации Observability в DevOps
В ходе этой статьи мы развернём следующий стек инструментов Observability (наблюдаемости) Grafana:
- Loki (логи);
- Promtail (агент логов);
- Tempo (трассировка);
- Prometheus (метрики);
- Cortex и Grafana Mimir (долгосрочное хранилище для данных Prometheus);
- Alertmanager (обработка оповещений Prometheus);
- Grafana (визуализация).
Приступим!
Укрощаем одноглазого змея. Разбираемся с WireGuard и делаем свой умный VPN
Забавная ситуация: сайтов и сервисов, доступных только через VPN, все больше, но при этом многие российские компании закрывают доступ из-за границы. В результате приходится целыми днями теребить ползунки «вкл-выкл», что утомительно. Я расскажу, как с помощью магии маршрутов и WireGuard, решить эту проблему и сделать «умный» VPN, который не надо отключать.
Если ты пользуешься VPN, то и сам наверняка сталкиваешься с блокировками зарубежного трафика. К примеру, могут не открываться pochta.ru, leroymerlin.ru, rt.ru, avito.ru.
Получается мем.
Каждый с этим борется как может. Например, на устройствах Apple родными средствами можно настроить автоматизацию, которая будет запускать VPN, когда открываешь определенные приложения (например, Twitter), а когда выходишь из них — выключать обратно. Но это костыль, а хочется все сделать красиво, да еще и прокачать навык работы с сетью.
Поэтому мы сейчас попробуем «включать VPN чуть-чуть».
12 схем архитектуры английской грамматики
Я предприняла попытку смоделировать в 12 схемах и 16 пунктах пояснительных заметок английский как систему: общую структуру его уровней, логику и принципы, по которым он, в рамках моего подхода, функционирует. Мне хотелось, насколько это возможно, в своём описании грамматики придерживаться формата технической документации.
Данная раскладка может быть полезной для предварительного ознакомления с устройством предмета освоения - английский как иностранный, для упорядочения фрагментарных грамматических знаний и выведения их на осмысленный уровень, или, возможно, для применения в NLP.
Логирование в Kubernetes: как собирать, хранить, парсить и обрабатывать логи
Разберём основы логирования в Docker и Kubernetes, а затем рассмотрим два инструмента, которые можно смело использовать на продакшене: Grafana Loki и стек EFK (Elasticsearch + Fluent Bit + Kibana).
Материал статьи — выжимка из открытой лекции школы «Слёрм». Если есть желание и тем более производственная необходимость можно пройти полное обучение — записывайтесь на курс по Мониторингу и логированию инфраструктуры в Kubernetes.
Information
- Rating
- Does not participate
- Registered
- Activity