Продолжаем цикл статей о протоколе HTTP: расскажем, что нового привнесла версия HTTP/1.1 и какие у нее принципиальные отличия с версией HTTP/2.
Администрирование
«Сначала на себя, потом на ребёнка»: как мы запустили DevOps для себя, а потом начали продавать клиентам
Из-за того, что наша компания занимается аутсорсом разработки, в работе одновременно много проектов. На разработку и поддержку каждого требуется много времени и ресурсов.
Мы уделяем большое внимание инфраструктуре и различным способам повышения эффективности разработки. В общем, по сути это и есть DevOps — Development & Operations. Только отдельных специалистов для этого у нас не было, и задачи закрывали хаотично и силами лидов.
В какой-то момент основатели KTS поняли, что услуга может быть актуальна на рынке: если у нас есть такая проблема, значит и другие компании с ней сталкиваются.
В статье рассказываю, как запустить новую услугу в компании по уму, а не как это обычно бывает.
Запуск самодиагностики на платформе МТС OmniChannel
Привет! Мы в МТС Digital умеем и любим создавать высоконагруженные IT-решения. Для вывода таких продуктов в промышленную эксплуатацию необходимо научиться решать задачи постоянного самоанализа работоспособности, мониторинга, проверки соответствия заявленным SLA.
Меня зовут Глеб Тильтиков, я технический руководитель омниканальной платформы MTC OmniChannel, и о внедрении самодиагностики в IT-продукте большой цифровой экосистемы и пойдёт речь в этой статье.
Ключевое звено всего производства: прокатный стан длиной 1,5 км — и как мы его немного доработали
У нас есть прокатный Стан-2000. 2 000 — это не год создания, а длина бочки рабочего валка в миллиметрах, а значит, ширина стальной полосы. Стан раскатывает металлический слиток под названием сляб (примерно 25 тонн, толщиной 25 см и длиной — 10–12 м) в стальную полосу длиной до 1,5 км.
Всё, что входит в стан с одной стороны, проедет целых 1 500 метров до самых моталок, будет раскатано и смотано в готовый рулон. На выходе толщина полосы — минимум 1,45 мм, а в среднем — около 3 мм. Поскольку стан длиннющий, на нём едет сразу несколько слябов/полос: пока одна полоса в конце стана сматывается в рулон, другая катается, и ещё пара слябов уже выходит на стан из печи.
Это ключевое звено всего производства. Производительность цеха во многом определяется тем, насколько хорошо мы загружаем прокатный стан.
Естественно, что мы хотим загрузить на стан как можно больше слябов, но при этом точно вовремя, чтобы они не помешали друг другу. Поэтому важно:
1) Чтобы слябы не догоняли друг друга, потому что тогда будет пробка и всё остановится.
2) Чтобы разрыв между слябами был минимальным, то есть подаваться они должны почти впритык.
Задача сводится к пониманию того идеального момента, когда надо подавать на стан следующий сляб.
До появления ИТ-системы, о которой и хотим рассказать, люди в общем неплохо справлялись, но они всегда перестраховывались и закладывали несколько дополнительных секунд паузы между слябами (такой пессимистичный прогноз вместо оптимального).
Ведь сложность ещё и в том, что в зависимости от того, какой типоразмер полосы нужно получить, прокатывать нужно с разной скоростью. А ещё есть совершенно неалгоритмизируемые факторы типа «как-то не так дрожит полоса» и «что-то мне звук не нравится» — их мы пока не можем выделить для полной автоматизации.
То есть нам нужна система, которая работает в паре с человеком (точнее, командой из четырёх человек): модель принимает решение, а люди могут вносить корректировки, если их опыт подсказывает, что нужно поступить иначе.
Истории
Контроллер в металлическом корпусе, быстрый Modbus и другие новости
Транскрипт доклада Wiren Board с конференции и выставки WBCE 2023.
Мы расскажем о быстром Modbus, который значительно ускоряет хорошо знакомый всем протокол, о новых устройствах и планах разработки.
Как настроить миграцию etcd между облачными кластерами Kubernetes и избежать простоев
Допустим, вам нужно перенести хранилище данных из одного кластера в другой. А выключать его нельзя, потому что это может вызвать незначительный (или значительный) коллапс сервисов, которые с ним работают. В статье мы расскажем о не самом очевидном и популярном способе переноса etcd из одного облачного кластера Kubernetes в другой. Такой способ поможет избежать простоя и связанных с ним последствий. Согласно стартовым условиям, оба кластера находятся в облаке, а потому нам предстоит столкнуться с некоторыми ограничениями и трудностями — им мы уделим особое внимание.
Новые рубежи для IPv6 — что происходит на уровне законодательства
Ранее мы рассказывали об иностранных госкорпорациях, которые начали давать рекомендации по миграции на протокол нового поколения. Сегодня продолжим тему и посмотрим, какие дискуссии ведут на законодательном уровне.
Современные радиорелейные станции: общее представление
В этой статье я постараюсь достаточно полно и популярно объяснить, что из себя представляют современные радиорелейные станции, исходя из десятилетнего опыта эксплуатации. Исторический очерк о становлении будет в следующей статье.
Ранее мне попадались фрагменты лекций, которые читаются в ряде профильных ВУЗов. И должен заявить, что они имеют мало общего с реальностью и скорее напоминают не всегда качественный перевод европейских стандартов связи. Это является очередным свидетельством отсутствия взаимодействия между научными учреждениями и отраслевыми предприятиями в нашей стране.
Так как отраслевые предприятия до последнего момента были ориентированы на импорт, то в этом нет ничего удивительного. Не удивительно и то, что в свою очередь, на предприятиях сформировалось немало пагубных заблуждений технического характера, которые до сих пор имеют негативные последствия.
Предлагаю вам вместе пройтись по основам и разложить все по полочкам.
Версия GitLab 16.0: искусственный интеллект, новые дашборды и облачные решения
Привет! На связи Максим Рязанцев, DevOps-специалист в AGIMA. В начале недели GitLab выпустил новую версию — версию 16.0. Всего в ней более 55 новых фич и доработок. Мы с коллегами изучили этот список, разобрались, как нововведения повлияют на работу с Git. И теперь делимся коротким обзором. Как водится, большая часть изменений в облачной Ultimate-версии, но рано или поздно доступны они будут всем.
Контейнерная разработка в 2023 году, вебинар по Kubernetes и личные размышления
Всем привет! Меня зовут Максим Еремин, я занимаюсь развитием платформенных продуктов в beeline cloud. В этой статье поговорим про контейнерную разработку в облаках, рассмотрим, в каких реалиях живут облачные провайдеры, включая российских игроков и гигантов зарубежного рынка.
Отдельно расскажу про особенности serverless-подхода. А если вы хотите узнать о serverless больше, погрузиться в DevOps-практику и посмотреть демо по управлению контейнерами — жду вас на вебинаре «Easy to use: управление контейнерами в облаке», который пройдет 30 мая в 11:00 мск. Приходите — пообщаемся в онлайне 🙂
Адаптируем код .NET Core под Linux
Введение
Однажды перед нами была поставлена задача: портировать набор приложений на C# с Windows/.NET Framework на Linux/.NET Core. Я полагаю, что для Microsoft мы были клиентом с рабочими нагрузками, которые было бы интересно поддерживать с помощью .NET Core. В то время я не понимал, насколько сильным было их стремление работать с нами. Наш подход к Open Source был решающим фактором.
Насколько сложной она может быть? Ну… в этом посте мы расскажем вам о трудностях, с которыми нам пришлось столкнуться, чтобы запускать, контролировать и отлаживать наши приложения.
ЦИМ как инструмент повышения надежности работы системы электроснабжения предприятия
Информационное моделирование различных объектов все больше и больше внедряется в нашу жизнь, а методологии и инструменты для проектирования постоянно совершенствуются, появляется больше возможностей для повышения эффективности процессов проектирования, строительства и эксплуатации. Как и за счет чего при внедрении цифровой информационной модели (ЦИМ) происходит улучшение показателей работы технологических систем?
Цель данной статьи – рассмотреть решение проблем, связанных с проектированием, строительством и эксплуатацией электроэнергетического оборудования при внедрении ЦИМ.
Немного о ЦИМ…
Цифровая информационная модель (ЦИМ) – объектно-ориентированная параметрическая 3D-модель, представляющая в цифровом виде физические, функциональные и прочие характеристики объекта (или его отдельных частей) в виде совокупности информационно насыщенных элементов.
Мёртв ли последовательный ввод-вывод в эпоху накопителей NVMe?
Две системы, которые я хорошо знаю (Apache BookKeeper и Apache Kafka) проектировались в эпоху дисковых накопителей: жёстких дисков, или HDD. Жёсткие диски хорошо справляются с последовательным вводом-выводом, но не очень хороши в произвольном вводе-выводе из-за относительно большого времени поиска. Неудивительно, что и Kafka, и BookKeeper проектировались с расчётом на последовательный ввод-вывод.
И Kafka, и BookKeeper — это распределённые системы логирования, поэтому можно представить, что последовательный ввод-вывод будет стандартным режимом для системы хранения логов с возможностью только дополнения. Но последовательный и произвольный ввод-вывод находятся в спектре, где на одном краю расположен чисто последовательный, а на другом — чисто произвольный ввод-вывод. Если у вас есть пять тысяч файлов, которые вы дописываете небольшими циклическими операциями записи, и выполняете fsync, то это не такой уж последовательный паттерн доступа, он находится ближе к произвольному вводу-выводу. То есть если вы только дополняете логи, это не означает автоматически, что вы получаете последовательный ввод-вывод.
eBPF в руках атакующего: обнаружение вредоносных модулей
Привет, Хабр!
Технология eBPF становится все более популярной и используются во многих приложениях для Linux. В нашей статье Анализ и обнаружение Dirty Pipe мы коснулись темы eBPF и как он может помочь при обнаружении эксплуатации уязвимостей ядра. Но инструмент с такими возможностями непременно заинтересует и злоумышленников. В этой статье мы рассмотрим, каким образом атакующие могут использовать eBPF и как можно их обнаружить.
Для загрузки eBPF модуля необходимы права root
или привилегии CAP_BPF
. Поэтому в основном злоумышленники используют данные программы для закрепления или сокрытия вредоносного ПО в системе. Для этого используются различные наборы инструментов, основанных на eBPF. В данной статье мы рассмотрим известные вредоносные eBPF инструменты и возможные способы детектирования.
В открытом доступе есть различное вредоносное ПО, основанное на eBPF, мы выбрали наиболее многофункциональные:
https://github.com/Gui774ume/ebpfkit
https://github.com/pathtofile/bad-bpf
https://github.com/krisnova/boopkit
https://github.com/h3xduck/TripleCross
Данные инструменты имеют множество различных функций, которые вы бы вряд ли хотели увидеть у себя в инфраструктуре. Их возможности могут вас удивить, так как они могут:
Как задеплоить своего телеграм-бота (почти) бесплатно — Quickguide в облачный Serverless
Всем привет! Меня зовут Антон Брехов. Я инженер в Yandex Cloud. Сегодня хочу рассказать о том, как дешевле всего задеплоить своего телеграм-бота. Возможно, этот опыт пригодится и для других решений.
Готовых фреймворков для телеграм-ботов уже достаточно много на любых языках. Однако после написания кода встает вопрос: а как теперь заставить бота работать постоянно, сделать доступным 24/7?
Новички оставляют персональный компьютер работающим и опрашивают сервер телеграма с некоторой частотой. У опытных, скорее всего, есть свой VPS-сервер с reverse proxy для деплоя приложений. Первое решение не является высокодоступным, а отдельный сервер, даже в облаке, — это слишком дорого для деплоя одного бота. В статье расскажу об альтернативном решении.
Mela: асинхронный фреймворк на Python для сервисов, работающих с RabbitMQ
WARNING: длинная вступительная часть. Если хотите перейти сразу к делу - листайте до Getting Started.
Реализация функции потерь Triplet Loss в Python (функция тройных потерь)
Большинство из нас думают о машинном обучении как о "черном ящике", который принимает некоторые данные и выдает отличные результаты. В последние годы этот черный ящик работает как имитация человека в соответствующих областях, где он используется, и достигает выдающихся результатов.
Логи из Linux в Zabbix. Подробнейшая инструкция
Не смог найти нормальную актуальную инструкцию по мониторингу линуксовых логов заббиксом - сделал свою, под 6.4.
И отвлекусь на установку агента - не зря же писал скрипт...
Как на Московской бирже работает система генерации отчетов для участников рынка
Наверное, многим знакомо ощущение, когда приходит время переделывать хорошо отлаженный продукт. Он работает, стабилен, предсказуем и знаком, но что-то изменилось в воздухе, выросла сложность решаемых задач, разрослась инфраструктура, появились новые вызовы, и вот приходится решительно садиться и все переделывать. В этой статье мы расскажем про эволюцию нашей системы генерации отчетов aka Отчетницы, которая прошла долгий путь за последние 15 лет. Хочется похвастаться тем, что, невзирая на соблазн взять и переделать все с нуля, вопреки эпиграфу и благодаря ряду удачных решений, развитие системы оставалось эволюционным. Участки системы, ответственные за бизнес-логику работы нашей промышленной системы, сохранялись, и это спасало человеко-месяцы и годы тестирования для другой полезной работы.
Разберемся с тем, что из себя представляют отчеты для участников рынка. Ежедневно на Московскую Биржу отправляются десятки миллионов торговых заявок, совершается несколько миллионов сделок. По результатам торговых и клиринговых сессий наши участники получают больше двух сотен отчетов об итогах торгов, оценке обеспечения, выполнении обязательств маркет-мейкеров и др. Отчеты бывают в основном торговые и клиринговые, и, соответственно, несут информацию о торгах или клиринге. На каждом из наших рынков они отличаются, хотя структурно могут хранить информацию одного типа. Отчеты рассылаются отдельно каждому участнику торгов\клиринга (включая самого главного из них – Банк России). На заре времен отчеты представляли из себя текстовые файлы с таблицами, нарисованными в псевдографике. Сейчас это XML файлы со схемами и стилями на нескольких языках. Кстати, забавный факт – по историческим причинам один из наших отчетов до сих пор отправляется в псевдографике. Ради привычки наших клиентов, которым данный формат наиболее удобен – функционал отрисовки таблиц пришлось заботливо пронести сквозь все метаморфозы системы подготовки отчетов. Впрочем, не будем забегать вперед.
Вас много, а я одна: обзорная система мониторинга на Prometheus и Grafana
Привет, Хабр! Меня зовут Сева, я работаю backend-разработчиком в Doubletapp, а также занимаюсь некоторыми devops-задачами. В этой статье я расскажу о мониторинге наших backend-приложений: сборе метрик, их визуализации и отправке уведомлений. Покажу примеры конфигов с подробными комментами и дам ссылки на гитхаб.
Содержание:
• Конфигурация Prometheus
• Сбор метрик
• Дашборды для визуализации метрик в реальном времени
• Настройка уведомлений