Как стать автором
Обновить
3
0
Andrey Dudin @DuD

Infrastructure & DevOps

Отправить сообщение

Как разбить GPU на несколько частей и поделиться с коллегами: практическое пособие по работе с MIG

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

Привет, Хабр! Меня зовут Антон, я — DevOps-инженер в отделе Data- и ML-продуктов Selectel. Последние три месяца исследовал интересную проблематику — шеринг GPU между конкурентными процессами и пользователями. В русскоязычном сегменте не смог найти ни одного оригинального материала — только переводы англоязычных статей.

После посещения пары докладов понял, что тема особенно актуальна: компании знают о шеринге GPU как о технологии, но пока не применяют ее. У меня же накопилось достаточно материалов, чтобы осветить эту тему более подробно и показать, как работает шеринг GPU на практике. Интересно? Самое время погрузиться под кат!
Читать дальше →
Всего голосов 46: ↑46 и ↓0+46
Комментарии11

Кто продаёт спутниковые фотографии и сколько они стоят

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


Статья содержит ответы на ряд популярных вопросов, о возможности строительства и запуска космических спутников, способах и стоимости заказа космической фотосъёмки и о ресурсах, на которых можно найти бесплатные спутниковые фото, а также о том, какую пользу приносит использование спутниковых фото в разных сферах жизни.
Читать дальше →
Всего голосов 61: ↑59 и ↓2+57
Комментарии24

Как переехать из Slack в Mattermost — личный опыт

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

Как переехать из Slack в Mattermost — личный опыт

Приветствую, уважаемые читатели Хабра. Меня зовут Иван, я руковожу направлением омниканальных решений в Лиге Цифровой Экономики. На старте одного из проектов около шести лет назад мы с заказчиком решили, что будем вести все проектные коммуникации в Slack. На тот момент для нашей небольшой команды стоил он не так дорого, да еще и был удобнее, чем альтернативные мессенджеры.

Summary: Из-за проблем со Slack нам нужно было искать альтернативу, а терять накопленные наработки не хотелось. Мы нашли способ переехать относительно безболезненно и с сохранением данных — рассказываем, как это сделали.

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии24

Автоматический подбор параметров для Spark-приложений

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

Всем привет! Меня зовут Валерия Дымбицкая, я технический руководитель команды дата-инженеров в OneFactor. В этой статье я расскажу о том, как мы научились автоматически подбирать параметры для Spark-приложений на основе логов.

Проблема, которую мы решали, может встретиться при регулярном, предсказуемом, интенсивном использовании Hadoop-кластера. Я расскажу, как мы простыми средствами сделали рабочую автономную систему тюнинга, сэкономив в итоге 15-16% ресурсов кластера. Вас ждут детали с примерами кода.

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

Зачем нам вообще понадобился автоматический тюнинг?

Начнём с инфраструктуры. Сетап у нас "классический": ограниченный Hadoop-кластер из купленных серверов. В нём на тот момент, когда мы начали всё это делать, было около 30Тб RAM и 5к CPU. В этом кластере запускается множество разноплановых приложений на Apache Spark и в какой-то момент им стало тесновато. Всё больше приложений висели в PENDING значительное время, потребление памяти утроилось за последние 4 месяца. Сохранять такую тенденцию не хотелось.

Довольно много приложений были от продукта Лидогенерация. Базово он устроен так: есть список номеров телефонов (база) и есть Spark ML Pipeline, который каким-то образом отбирает из этой базы лидов абонентов для некоего целевого действия – например, для предложения продукта клиенту. База может меняться от раза к разу. Вот такую пару из

Читать далее
Всего голосов 9: ↑9 и ↓0+9
Комментарии10

Как уменьшить размер образа Docker для JVM

Время на прочтение8 мин
Количество просмотров10K
image

Если вы уже достаточно долго пишете на Kotlin, или Scala, или на любом другом языке, основанном на JVM, то могли заметить: начиная с Java 11 среда Java Runtime Environment (JRE) больше не поставляется в виде отдельного дистрибутива, а распространяется только в составе Java Development Kit (JDK). В результате такого изменения многие официальные образы Docker не предлагают вариант образа «только для JRE». Таковы, например, официальные образы openjdk, образы corretto от Amazon. В моем случае при использовании такого образа в качестве заготовки получался образ приложения, завешивавший на 414 MB, тогда как само приложение занимало всего около 60 MB. Мы стремимся к эффективной и бережливой разработке, поэтому такая расточительность для нас непозволительна.

Давайте же рассмотрим, как можно радикально уменьшить размер Docker-образа для Java.
Читать дальше →
Всего голосов 19: ↑19 и ↓0+19
Комментарии16

Моя попытка сделать Wi-Fi-флешку и что из этого получилось (а что нет)

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

Что такое WiFi-флешка? Это флешка, которая опознается, как флешка, пахнет, как флешка, крякает, как флешка, но на самом деле никакая она не флешка, она эмулирует файловую систему, а данные берет по WiFi с сервера.

Читать далее
Всего голосов 203: ↑203 и ↓0+203
Комментарии100

Подборка фильмов и сериалов об OSINT

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

Всем привет! В этом обзорном посте собрал для вас подборку всевозможных произведений кинематографа, так или иначе затрагивающих тему OSINT-исследований. Среди почти двух десятков вариантов найдутся кинокартины на любой вкус: от документалок по следам громких расследований и скандалов в информационную эпоху до художественных сериалов, по-разному обыгрывающих заданную тему.

Безуспешные поиски угонщика самолётов, бесследно растворившегося в небесной лазури с мешком денег полвека назад. Захватывающая история одного из первых сайтов с порноместью и противостояния простых людей с ним. Охота на убийц и сваттеров, культовая классика и неочевидные картины, заслуживающие особого упоминания, — в посте найдутся произведения с большого и малого экранов на любой вкус. Так что всем интересующимся OSINT, не знающих чем занять себя на выходных, добро пожаловать под кат!

Читать далее
Всего голосов 7: ↑4 и ↓3+1
Комментарии2

LINSTOR — это как Kubernetes, но для блочных устройств (обзор и видео доклада)

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

В июне я выступил на объединенной конференции DevOpsConf & TechLead Conf 2022. Доклад был посвящен LINSTOR — Open Source-хранилищу от компании LINBIT (разработчики DRBD). Основной идеей выступления было показать [на примере Kubernetes], как работает и устроен LINSTOR, какие проблемы решает, как его правильно настроить и использовать. Эта статья — основная выжимка из доклада (его полное видео см. в конце).

Читать далее
Всего голосов 41: ↑39 и ↓2+37
Комментарии5

Отслеживание сетевого трафика в Kubernetes: примеры кода и практические советы

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


Команда VK Cloud перевела статью об основных принципах работы сети в Kubernetes: как кластер принимает и отправляет пакеты начиная с исходного веб-запроса и до размещения приложения в контейнере.

Требования к сети в Kubernetes


Сначала давайте проясним требования к сети Kubernetes:

  • Под в кластере должен свободно взаимодействовать с любым другим подом без использования Network Address Translation (NAT).
  • Любая программа, работающая на узле кластера, должна взаимодействовать с любым подом на том же узле без использования NAT.
  • У каждого пода есть собственный IP-адрес (IP-per-Pod), и любой другой под может обратиться к нему по этому адресу.

Эти требования и ограничения описывают свойства сети кластера в целом и вынуждают отвечать на следующие вопросы: 

  1. Как убедиться, что контейнеры в одном и том же поде ведут себя как на одном хосте?
  2. Может ли под обращаться к другим подам в кластере?
  3. Может ли под обращаться к службам? Обрабатывают ли службы запросы о балансировке нагрузки?
  4. Может ли под получать трафик извне кластера?

В этой статье мы рассмотрим первые три пункта, начиная со взаимодействия на уровне подов и контейнеров.
Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии0

17 убойных репозиториев GitHub, которые нужно сохранить

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

Здесь собраны лучшие и самые полезные репозитории Github, которые будут служить вам долгое время.

Читать далее
Всего голосов 174: ↑144 и ↓30+114
Комментарии44

NLP. Проект по распознаванию адресов. Natasha, Pullenti, Stanza

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

Многие аналитики данных сталкиваются с задачей распознавания адресов, напечатанных на документах. Для решения этой задачи я обратился к инструментам выявления сущностей в тексте с помощью NLP: NLTK, Spacy, Flair, DeepPavlov, Polyglot, AdaptNLP, Stanza, AllenNLP, HanLP, PullEnti, Natasha и тд. Глаза начали разбегаться. И что же делать? Конечно, выбрать самое лучшее. Я принял решение выбрать несколько самых популярных библиотек, поддерживающих русский язык, и сравнить, какую же из них использовать? Natasha, Stanza и PullEnti привлекли мое внимание. Далее пойдет речь именно об этих библиотеках.

Читать далее
Всего голосов 3: ↑3 и ↓0+3
Комментарии1

Автоматизируем iOS-сборку c помощью Jenkins

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

Всем привет! Меня зовут Иван Чечиков, я QA-инженер в МТС Digital, работаю в проекте WASD.TV. В этой статье я расскажу о своем способе автоматизации iOS-сборки в TestFlight через Jenkins. С помощью такого метода можно настроить автоматизацию как локально, так и на удаленной машине. Поможет в этом Jenkins – это простой в использовании CI/CD-инструмент. Я рассмотрю локальное применение Jenkins.

 Подробности – под катом.

Читать далее
Всего голосов 9: ↑9 и ↓0+9
Комментарии0

Cам себе облако: установка ELK и TICK стеков в Kubernetes

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

Казалось бы простая задача - развернуть Kubernetes кластер и в нем запустить централизованный мониторинг TICK стек и логирование ELK стек. Но для меня она осложнилась тем, что с этим технологиями я столкнулся впервые. Чтобы понять, как все работает, хотел пройти простые Quick Start инструкции. К своему удивлению, не нашел детальных актуальных описаний - либо отдельные статьи со своей спецификой, либо многостраничные книги по Kubernetes. Пока собирал пазл из многочисленных материалов, решил написать статью, в которой рассмотреть общую концепцию развертывания TICK и ELK стеков в Kubernetes. 

Для чего, вообще, решать задачу централизованного мониторинга и логирования в Kubernetes? 

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии10

cors-anywhere на чистом конфиге nginx

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

Если вы сталкивались с CORS, то знаете всю ту боль, которую испытывает разработчик, когда нужно сходить к API на другом домене. Если конфигурация сервера не доступна для настройки, то использовали какое-нибудь решение на основе не менее популярного решения cors-anywhere.

Не одним CORS едины
Всего голосов 11: ↑10 и ↓1+9
Комментарии12

Собственные метрики JFR и их анализ

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

Недавно я описывал как осуществлять запуск и управление Java Flight Recorder (JFR). Теперь решил затронуть тему записи в JFR метрик, специфичных для приложения, а так же способов их анализа в Java Mission Control (JMC). Это позволяет расширить понимание происходящего с приложением и значительно упростить анализ производительности и поиск узких мест.

В предлагаемой статье мы рассмотрим пример создания своих событий, записываемых в JFR и то как эти данные могут помогать в анализе работы приложения. Будет рассмотрен только один частный пример, не претендующий на полноту описания всех возможностей и нюансов использования JFR и JMC.

Читать далее
Всего голосов 6: ↑6 и ↓0+6
Комментарии0

Управление Java Flight Recorder

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


Не так давно в мире Java случилось грандиозное событие. Во всех актуальных версиях OpenJDK стал доступен Java Flight Recorder (или просто JFR).


Что такое Java Flight Recorder?

JFR – это механизм легковесного профилирования Java-приложения. Он позволяет записывать и в последствии анализировать огромное количество метрик и событий, происходящих внутри JVM, что значительно облегчает анализ проблем. Более того, при определённых настройках его накладные расходы настолько малы, что многие (включая Oracle) рекомендуют держать его постоянно включённым везде, в том числе прод, чтобы в случае возникновения проблем сразу иметь полную картину происходившего с приложением. Просто мечта любого SRE!


Раньше этот механизм был доступен только в коммерческих версиях Java от корпорации Oracle версии 8 и более ранних. В какой-то момент его реимплементировали с нуля в OpenJDK 12, затем бекпортировали в OpenJDK 11, которая является LTS-версией. Однако вот OpenJDK 8 оставалась за бортом этого праздника жизни. Вплоть до выхода апдейта 8u272, в который наконец-то тоже бекпортировали JFR. Теперь все (за редким исключением) пользователи OpenJDK могут начинать использовать эту функциональность.


Но вот незадача: большая часть документации в интернете относится к старой, коммерческой, версии JFR и во многом не соответствует версии, которая присутствует в OpenJDK. Да и та, что есть, весьма скудная и не способствует пониманию того, как это всё использовать.


В предлагаемой вашему вниманию статье я расскажу, как управлять работой JFR и как его настраивать.

Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии2

Для мониторинга CronJob в Kubernetes нужен простой советский…

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

Привет, Олимпийский Хабр! Меня зовут Аня, я работаю в Ozon: строю и развиваю инфраструктуру мониторинга в Observability-платформе. Моя команда помогает разработчикам следить за своими сервисами и своевременно получать алерты, если что-то идёт не так.


На Хабре довольно много статей о том, что такое кроны, как и где можно запускать их по расписанию, о плюсах и минусах каждого варианта и о том, как запускает кроны Kubernetes. Поэтому в моей статье об этом мы говорить не будем.


Я расскажу, как мы решали конкретную проблему мониторинга CronJob, запущенных в Kubernetes.


Танец Анри Матисса

Читать дальше →
Всего голосов 58: ↑56 и ↓2+54
Комментарии10

Вячеслав Смирнов. Профилирование JVM в Kubernetes

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

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


Вячеславу повезло использовать разные инструменты. И повезло найти разные дефекты микросервисов на основе JVM. Спикер проанализировал, разделил инструменты и дефекты микросервисов на группы, и хочет рассказать о:


  • подборе профайлеров и их настройках под задачу;
  • собранных рецептах профилирования JVM в Kubernetes;
  • моментах, когда профилирование вредит, а когда помогает.
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии7

Мигаем светодиодом по протоколу Zigbee или модуль управления Триколор GS SMH-ZW-I1 с прошивкой PTVO

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

После написания поста Zigbee роутер с WiFi или прокачиваем модуль управления Триколор GS SMH-ZW-I1 меня стали терзать смутные сомнения, что многое осталось недосказанным, недопаянным и недопрошитым.

На самом деле прошить чип CC2351 в координатор или роутер Zigbee довольно тривиальная задача, и гораздо интереснее сделать на его основе END-Device. Большинство читателей Хабра знакомы с Arduino или ESP8266, и знают, что каждый новичок, изучающий основы программирования микроконтроллеров и схемотехники на этих платах для разработки первым делом учится мигать светодиодом. Поэтому предлагаю рассмотреть модуль управления Триколор GS SMH-ZW-I1 в качестве своеобразной платы для разработки и тоже помигать имеющимся на ней светодиодом. Сделать это можно не написав ни единой строчки кода, с помощью конфигуратора замечательной прошивки от ptvo , специально предназначенной для создания своих Zigbee устройств на чипах CC2530, CC2531, да еще и с поддержкой усилителей сигнала CC2590, CC2591, CC2592, RFX2401.

Тем, кому стало интересно - добро пожаловать под кат!

Читать далее
Всего голосов 17: ↑17 и ↓0+17
Комментарии19

Kubernetes и моделирование на minizinc

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

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

Читать далее
Всего голосов 1: ↑1 и ↓0+1
Комментарии26

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность