Как стать автором
Поиск
Написать публикацию
Обновить

Администрирование

Сначала показывать
Порог рейтинга
Уровень сложности

Построение долговечного хранилища данных с помощью HDFS

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров2.7K

Привет! Меня зовут Роман Чечёткин, я разработчик в команде «Платформа коммуникаций» в Ozon Tech. Наша платформа предоставляет возможность другим командам отправлять различные сообщения в личные кабинеты пользователей.

Сегодня хочу рассказать о задаче, которая встала перед нами — долгосрочное хранение всех сообщений (смс, электронные письма, пуши, уведомления), которые пользователь получил от Ozon.

Читать далее

Релиз ядра Linux 6.16: Baby Opossum Posse. Что нового и улучшенного?

Время на прочтение7 мин
Количество просмотров3.6K

27 июля 2025 года Линус Торвальдс представил релиз ядра Linux 6.16 под кодовым названием Baby Opossum Posse. Новый релиз вышел спустя два месяца после версии 6.15, строго по графику, и включает множество улучшений, оптимизаций и поддержку нового оборудования. Релиз Linux 6.17 ожидается в октябре 2025 года и станет основой для дистрибутивов, таких как Ubuntu 25.10 и Fedora 43. Исходный код Linux 6.16 доступен на kernel.org, а коммит релиза можно найти на GitHub и в Makefile.

В Linux 6.16 принято 15 924 исправления от 2 145 разработчиков, размер патча составил 50 МБ: изменено 13 793 файлов, добавлено 655 451 строк кода, удалено 316 441 строк. По сравнению с Linux 6.15 (15 945 исправлений, 59 МБ), изменения чуть менее объемные, но затрагивают ключевые подсистемы. Около 45% изменений связаны с драйверами, 16% — с архитектурным кодом, 13% — с сетевым стеком, 4% — с файловыми системами и 3% — с внутренними подсистемами ядра. Исходный код включает 38,4 миллиона строк в 78,4 тысячах файлов (по данным cloc).

Одновременно выпущено ядро Linux-libre 6.16-gnu, очищенное от несвободных компонентов. В нём нейтрализована загрузка блобов в новых драйверах, таких как Intel QAT 6xxx crypto, ST vd55g1 sensor, ath12k AHB WiFi, Aeonsemi AS21xxx и MediaTek 25Gb Ethernet. Также обновлена чистка блобов в драйверах Nova Core, Nouveau, Realtek r8169 Ethernet, Qualcomm Iris, Venus, Mediatek mt7996 WiFi, Qualcomm ath11k и ath12k WiFi, Texas Instruments tas2781 и Renesas R-Car gen4 PCIe.

Узнать подробности

Автоматизация B2B-продаж дистрибьютора сырья: внедрили enterprise CRM-систему с кастомным workflow

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров264

Для сложных продуктов характерен длительный цикл продаж с участием разных отделов. Без системного контроля легко упустить сроки или забыть связаться с клиентом. Показываем, как решили эту задачу путем создания единого цифрового контура для управления продажами химического сырья.

Читать далее

Новости виртуализации Deckhouse: готовность к продакшену, автоматическая перебалансировка ВМ по узлам и другие фичи

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров692

За последние два месяца в Deckhouse Virtualization Platform (DVP) вышло пять новых релизов (0.19–0.23). За это время в платформе появилось много важных улучшений, о которых мы расскажем в этом обзоре. Среди них — готовность к продакшену, улучшенная безопасность, автоматическая перебалансировка ВМ по узлам, оптимизация миграции и вложенная виртуализация. Подробности в обзоре.

Читать далее

Гайд по timeout, watch и at: управление временем выполнения команд в Linux

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров2.9K

Как часто вы запускали какую-нибудь штуку в терминале — и она зависала навсегда? Или наоборот: вам нужно было увидеть, как что-то меняется каждую секунду, а вы упорно жали стрелку вверх и Enter? А может вы хотели запланировать задачу через 5 минут, но cron — это уже overkill?

Для всех этих сценариев в Linux есть три проверенных утилиты: timeout, watch, at. И, да, можно было бы обойтись скриптами и велосипедами, но... мы же не зря используем Unix-подход, где всё уже давно придумано.

Сегодня мы рассмотрим: как управлять временем выполнения команд в Linux с помощью timeout, watch и at.

Читать далее

Что если бы в Аэрофлоте были ИБМ МФ и z/OS

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров23K

В свете ситуации, случившейся с крупнейшим авиаперевозчиком России, приведшей к огромным потерям десятков тысяч пассажиров в первую очередь и самого перевозчика во вторую, уместно порассуждать о "как это было на самом деле", и "что если бы".

Начну с "как это было на самом деле".

Читать далее

Тестируем Kafka с Testcontainers

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров2K

Привет, Хабр!

Сегодня мы рассмотрим, как протестировать Kafka с помощью Testcontainers.

Testcontainers — это библиотека, которая из JUnit-теста запускает Docker-контейнеры как обычные Java-объекты. Вы пишете пару строк — а на фоне поднимается полноценная инфраструктура: база, брокер, Redis, что угодно. После теста контейнер гарантированно останавливается, поэтому окружение всегда чистое, а CI не засоряется процессами.

Kafka в Testcontainers запускается теми же двумя строками. Получаем реальный брокер, который ничем не отличается от продакшен-копии, но живёт ровно столько, сколько идёт тест.

Читать далее

Column Level Security (CLS) в Apache Superset. Jinja + Handlebars

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров720

🔒 Column Level Security (CLS) в Apache Superset: защита данных на уровне столбцов

Узнайте, как гибко ограничивать доступ к конфиденциальным данным с помощью Jinja и Handlebars. Практические примеры и готовые решения для ваших дашбордов.

Читать далее

Data Vault: моделирование хабов, линков, сателлитов в IDE asapBI

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров412

Привет, Хабр!

Всем хорош Data Vault, однако схватиться с ним «врукопашную», используя только SQL, захочет не каждый. Останавливает большой объем ручных операций, а также большой объем деталей реализации. Большое количество join, за которые критикуют Data Vault, не является определяющим моментом, так как уже сейчас базы данных способны их эффективно обрабатывать, а с течением времени мощность серверов только возрастает.

Но творческая мысль не дремлет, постепенно появляются инструменты для автоматизации построения Data Vault. Например, это пакет AutomateDV для dbt, графическая надстройка над ним Datapulse, построение модели DV в BI.Qube.

Data Vault меня заинтересовал — уж много плюшек он сулит, и для его изучения я занимаюсь проектом asapBI — low‑code IDE для моделирования DWH. Требования к создаваемой системе я описал на сайте asapbi.ru. Их достаточно много, поэтому не буду их тут перечислять.

Сегодня я хотел поделиться графическим интерфейсом для создания хабов, линков и стеллитов.

Читать далее

Как защититься и восстановиться после атаки шифровальщика

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров9.1K

Привет, Хабр! Меня зовут Женя Шмидт, я менеджер продуктов информационной безопасности в Selectel. Представьте: вы получили письмо с темой «Специальные условия для сотрудников компании» и файлом во вложении. Отправителем значится ваш работодатель.

Вы кликаете на документ, но вместо бонусов и скидок получаете шифровку всех файлов, сохраненных на компьютере. Это вирус-шифровальщик, а отправил его злоумышленник, который сделал почтовый адрес, почти идентичный с адресом компании... Как с этим справиться? Подробности под катом.

Читать далее

Оценка подхода lock-free списков

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров1.9K

Привет, Хабр. Меня зовут Роман Ескин, я один из C разработчиков проекта Greengage DB. В этой статье я расскажу, как мы реализовали и протестировали lock-free подход в рамках масштабной работы по внедрению функции удаления брошенных файлов. Приглашаю вас заглянуть во внутреннюю кухню работы нашей команды при оценке этой функциональности.

Введение

Позвольте начать с краткой исторической справки: Greengage DB был запущен в 2024 году как open-source форк Greenplum — Massively Parallel Processing (MPP) аналитической системы управления базами данных, основанной на PostgreSQL. Мы начали этот проект, чтобы поддержать open-source сообщество Greenplum, который неожиданно стал проприетарным продуктом в мае 2024 года. Мы гарантируем дальнейшее развитие Greengage DB, следуя принципам открытости и прозрачности.

Так как Greengage DB основан на PostgreSQL, он унаследовал некоторые его известные особенности и проблемы. Одна из таких проблем, особенно актуальная в распределенных средах — это проблема "брошенных файлов" (orphaned files).

Эта проблема возникает, когда таблица создается и данные загружаются в рамках активной транзакции. Если происходит критический сбой до того, как транзакция будет закоммичена или отменена (например, внезапное отключение питания или неожиданное завершение работы узла базы данных), система проходит процесс восстановления после падения (crash recovery). При этом логическая таблица откатится, но физические файлы данных, связанные с этой незакоммиченной таблицей, могут остаться в файловой системе. Со временем такие брошенные файлы могут накапливаться, занимая место и приводя к ненужному расходу ресурсов. В настоящее время их удаление происходит вручную.

Недавно мы представили новый функционал, который позволяет автоматически удалять такие брошенные файлы. Полная информация об этой возможности доступна в статье Удаление брошенных файлов в Greengage DB.

Читать далее

Когда лень проверять порты вручную: магия Nmap

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров11K

Привет, Хабр! В современном мире сети растут крайне быстро, устройств становится всё больше, в связи с чем растёт и количество уязвимых мест. Ручной мониторинг открытых портов, сервисов и дыр в безопасности — схоже с поиском иглы в стоге сена, когда в кармане лежит магнит.

Чем полезна автоматизация и какие проблемы она решает:
— Время — сканирование сотен IP вручную может занять часы
— Человеческий фактор — пропустить критичный порт или уязвимость очень легко
— Регулярность — безопасность требует постоянного контроля и мониторинга, а не разовых проверок

Читать далее

Как мы внедряли Service Mesh и не утонули в сложностях: реальный кейс Orion soft

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров728

Артём Еремин, системный инженер Nova Container Platform в Orion soft.

Всем привет! Недавно я выступал на мероприятии СНОВА О КУБЕРЕ и рассказывал о Service Mesh. Тема достойна и поста на Хабре, потому что Service Mesh стал распространенной фишкой, но при этом не самой простой. 

Мы в Orion soft решили внедрить ее в нашу платформу оркестрации Nova Container Platform, и по пути столкнулись с целым рядом «подводных камней»: от выбора самого решения до нюансов настройки MTLS и организации точек входа трафика в наш кластер. В этой статье я расскажу, как мы выбирали реализацию для Service Mesh, почему остановились на Istio, какие вопросы решали и что из этого получилось.

Читать далее

Ближайшие события

Артефакты интернета: GeoCities, «Народ», uCoz и другие хостинг-экспонаты нулевых

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров8.8K

Нескончаемые гостевые книги, яркие анимированные баннеры и счётчики визитов… В нулевых каждый компьютерный энтузиаст мечтал о «своём месте» в интернете — даже если это был крохотный персональный сайт. Для этого существовали бесплатные хостинги: GeoCities, Tripod, FortuneCity, «Народ.ру», uCoz и им подобные. Сейчас это web-артефакты, но без них вряд ли были бы возможны современные соцсети и CMS. Я решил немного поностальгировать и вспомнить, как они работали и чем запомнились. Приглашаю под кат.

Читать

Через тернии к звездам: настраиваем сетевую связность Kubernetes на физическом сервере в ЦОД

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров1.5K

Привет, Хабр! С вами Антон Паус. Я четыре года проработал системным инженером в российском офисе Cisco, а сейчас работаю DevOps-инженером в Cloud.ru — занимаюсь облаком собственной разработки

С 2024 года я веду проект по разработке новой архитектуры кластера виртуализации Evolution IaaS на базе Kubernetes. Раньше мы использовали связку Ansible и Docker, и это отлично работало на существующем масштабе, но с ростом клиентской нагрузки столкнулись с рядом сложностей, что в конечно итоге и сподвигло нас на обновление архитектуры. 

Проект получился довольно объемным и со множеством нюансов и сложностей, о которых я, возможно, напишу в следующих статьях. В этой же хотел остановиться на нюансах сетевого взаимодействия в кластере bare metal Kubernetes — в ходе работы возник ряд сложностей (например, с первоначальной установкой K8s на сервер с несколькими интерфейсами), о решении которых я и расскажу. 

Если развернуть кластер Kubernetes на железе — в ваших обозримых планах, надеюсь, мои изыскания будут полезны. А еще в статье довольно много сетевки, так что приготовьтесь!

Читать дальше

Angie 1.10: разбор фич, планы на 1.11

Уровень сложностиПростой
Время на прочтение17 мин
Количество просмотров1.7K

Следуя устоявшемуся квартальному ритму выпуска значимых релизов, мы выпустили стабильные версии Angie и Angie PRO 1.10 — форка nginx, развиваемого в основном бывшими ключевыми разработчиками оригинального проекта.

Как и в прошлый раз, расскажем подробнее о нововведениях, приводя примеры. Вы узнаете, в чём ключевая фишка нового релиза (картинка под заголовком намекает); также слегка приоткроем завесу тайны над тем, что у нас припасено на будущее.

А пока — краткий список нововведений, которые будут разобраны ниже:

— автоматическое проксирование и балансировка веб-сервисов в Docker-контейнерах (или Podman);
— автоматическое получение TLS-сертификатов для потокового модуля (stream);
— прием соединений Multipath TCP (MPTCP);
— контроль перегрузки CUBIC в QUIC-соединениях;
— привязка сессий с внешним хранилищем в модуле stream;
— новые режимы привязки сессий при проксировании HTTP-запросов;
— режим постоянного перехода на резервную группу в модуле stream.

Читать далее

Обзор платформы M2M от СберМобайла

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров561

M2M (Machine-to-Machine) — технология автоматизированного обмена данными между устройствами по сотовой сети. Она используется в системах, где требуется непрерывный контроль и передача информации без участия человека: в датчиках, терминалах, счётчиках, банкоматах и других IoT-устройствах.

Рассказываем, где эта технология используется и каковы её возможности.

Читать далее

SVACE по-взрослому: как мы перенесли лицензирование в облако без костылей (ну или почти)

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров722

Привет, Хабр! Меня зовут Максим Сыропятов, я отвечаю в Arenadata за безопасную разработку. В этой статье расскажу, как мы перенесли систему лицензирования инструмента статического анализа SVACE в облако — без костылей, туннелей и физического железа. Поделюсь, какие ограничения нам пришлось обойти, зачем это вообще понадобилось и что дало такое решение в контексте безопасности и стабильности разработки.

SVACE позволяет проводить углублённый анализ зависимостей функций и путей, через которые данные могут попасть в программу. Само решение и предлагаемый функционал вполне нас устраивают, но в то же время есть нюансы, связанные с системой лицензирования — по умолчанию лицензия приезжает на HASP-ключе. Мы подробно разберем процесс миграции в облако OEM-лицензии, трудностях, с которыми мы столкнулись, и преимуществах, которые это решение дало для тестирования и разработки.

Как мы ушли от токена

6 приёмов, которые я использую, создавая отличный UX для Shell-скриптов

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров6.1K

Обязательно посмотрите shell-скрипт в репозитории — он чудо как хорош. Раскрашивает выходные данные, надёжный как скала… настоящий мастер-класс по созданию shell-скриптов.

Спасибо Гуннару Морлингу за добрые слова!

В январе 2024 года меня, вместе с несколькими дюжинами других гиков, повёрнутых на производительности, что называется, «заснайпили», заинтересовав участием в конкурсе Гуннара One Billion Row Challenge (1BRC).

Гуннара, оценивающего результаты работы конкурсантов (бесплатно), очень быстро буквально завалил непрерывный поток решений. Я рискнул помочь ему автоматизировать оценку работ и написал Shell-скрипт, за что и получил от него вышеприведённый хвалебный отзыв. Он это сказал в выступлении на конференции JavaZone (# 1BRC‑Nerd Sniping the Java Community — Gunnar Morling). Посмотрите это выступление, если хотите узнать о подходах к повышению производительности кода, применённых на конкурсе.

Здесь я расскажу о 6 приёмах, которые я использовал в Shell-скрипте для конкурса. Эти приёмы позволили сделать скрипт надёжным, безопасным и приятным в использовании для Гуннара.

Читать далее

Йети на яхте и при чем тут карате: как в YADRO тестируют телеком-продукты

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров1.5K

Добро пожаловать на борт нашего корабля. Сегодня отправляемся в небольшой круиз по загадочным водам тестирования в телекоме. Мы бросим якорь в самых интересных местах, чтобы изучить глубоководный мир, а также закинем сети в поисках самых интересных артефактов, созданных QA-инженерами. Ну а перед тем как сойти на берег — проведем короткую тренировку по карате прямо на палубе.

На связи Иван Политов и мой коллега Антон Васин, инженеры из департамента разработки и проектирования опорной 5G-сети в YADRO. В статье мы подробно расскажем о подходах к тестированию телеком-продуктов в нашей компании и инструментах — как сторонних, так и собственных. 

Читать далее