Как стать автором
Обновить
16
0
Беляев Ростислав @elve

Эволюционировавший в SRE/DevOps

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

Как мы в RuStore на docs as code переходили

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

Приветствую всех! Меня зовут Катя Фролова, я работаю техническим писателем в RuStore.

В прошлом году документация RuStore переехала на новый движок.

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

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

В далекой-далекой Galaxy: как организовать общее пространство для Ansible-контента

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

Привет! Меня зовут Павел, я DevOps-инженер в YADRO. Где бы я ни работал, я был девопсом и использовал Ansible — где-то активнее, где-то меньше. В YADRO с этим инструментом работают почти все департаменты — от enterprise, где разрабатывают серверы, СХД и другое оборудование, до телекома. 

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

В статье я расскажу, с какими проблемами мы столкнулись (признаюсь, их было немало), какие варианты решения рассматривали и к чему в итоге пришли.

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

Telegram Desktop и Compose Multiplatform

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

Всем привет! В своей прошлой статье я рассказывал как можно запустить Telegram клиент в качестве backend‑сервиса. В описываемой там библиотеке с тех пор были внесены некоторые оптимизации, и в целом, я остался доволен возможностями, которые получил. После чего возникло желание добавить визуальную часть к имеющемуся бэкенду и заодно изучить что‑то новое для себя. Выбор пал на фреймворк Compose Multiplatform. Давайте сделаем десктопную версию Telegram!

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

Создание своего UEFI приложения

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

Привет, Хабр! Мне 16 лет, я студент, учусь на первом курсе колледжа на программиста. Начал увлекаться низкоуровневым программированием на Ассемблере и C/C++

Я заметил что на Хабре есть множество статей о написании своих простых "загрузчиков" для BIOS-MBR, которые выводят на экран "Hello World!". И при этом практически нет ни одной статьи о создании того же самого, но только для UEFI, хотя будущее именно за ним, ведь BIOS уже давно устарел! Это я и хочу исправить в этой статье.

Читать далее
Всего голосов 72: ↑71 и ↓1+84
Комментарии80

IAX2 one love (межASteriskные транки)

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

Это короткое продолжение серии про Asterisk.
Пердыдущие части Часть 1, Часть 2, Часть 3

Я расскажу как и почему я ограниченно применяю IAX2 в контексте предыдущих записей.

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

Как настроить миграцию etcd между облачными кластерами Kubernetes и избежать простоев

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

Допустим, вам нужно перенести хранилище данных из одного кластера в другой. А выключать его нельзя, потому что это может вызвать незначительный (или значительный) коллапс сервисов, которые с ним работают. В статье мы расскажем о не самом очевидном и популярном способе переноса etcd из одного облачного кластера Kubernetes в другой. Такой способ поможет избежать простоя и связанных с ним последствий. Согласно стартовым условиям, оба кластера находятся в облаке, а потому нам предстоит столкнуться с некоторыми ограничениями и трудностями — им мы уделим особое внимание.

Примечание: Сразу оговорим, что речь идет про миграцию не того etcd, в котором Kubernetes хранит все состояние кластера. В статье описана миграция отдельной инсталляции etcd, которая используется сторонними приложениями и находится внутри кластера k8s.

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

Алгоритмы балансировки нагрузок

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

Рано или поздно веб-приложения перерастают среду одного сервера. Компаниям требуется увеличить или их доступность, или масштабируемость, или и то, и другое. Чтобы сделать это, они развёртывают своё приложение на нескольких серверах и ставят перед ним балансировщик нагрузок для распределения входящих запросов. Чтобы справляться с нагрузками, большим компаниям могут потребоваться тысячи серверов, на которых запущено веб-приложение.

В этом посте мы рассмотрим способы, которыми один балансировщик нагрузок может распределять HTTP-запросы на множество серверов. Мы начнём снизу и проделаем весь путь вверх до современных алгоритмов балансировки нагрузок.
Читать дальше →
Всего голосов 88: ↑87 и ↓1+105
Комментарии16

История о жрущем память API-сервере Kubernetes

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

Несколько месяцев назад коллеги, работающие с одним из кластеров Kubernetes в dev-окружении, обратились с проблемой недоступности API-сервера Kubernetes. Dev-среды обычно не подключены к дежурной смене, и решением проблем занимаются владельцы или, если проблемы нестандартные, обращаются к профильным специалистам. В ходе диагностики оказалось, что kube-api стал потреблять значительно больше памяти. Это приводило к возникновению ошибки с OOM.

Давайте будем честными — если бы это произошло в production-окружении, мы, скорее всего, закинули бы больше памяти и успешно бы забыли про проблему. Но dev-стенд не имеет жёстких SLA с финансовой ответственностью, и это дало нам возможность и время разобраться с прожорливым kube-api.

Всех, кому интересно, что из этого вышло, прошу под капот.

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

Как работают объектные хранилища: OpenStack Swift

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

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

Раз меньше времени работе, то больше — знаниям. Меня зовут Рома, и я работаю в объектном хранилище — самой высоконагруженной услуге Selectel. Здесь мы непрерывно трудимся над улучшением и развитием архитектуры, удовлетворяя спрос на пропускную способность, функциональность и надежность.

В первой части я поделился сложностями, которые возникают при попытке построить распределенное и отказоустойчивое хранилище для объектов. Та система, которую мы позволили себе нафантазировать, очень похожа на OpenStack Swift. С него начиналась история нашего продукта, так что мы можем не только разобрать принцип его работы «на пальцах», но и погрузиться в скрытые особенности OpenSource, которые проявляются лишь в больших масштабах.
Читать дальше →
Всего голосов 42: ↑42 и ↓0+42
Комментарии6

STM32 Часть 1. Как поморгать светодиодиком

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

Приветствую!

Данная статья открывает цикл статей о программировании микроконтроллеров STM32 для новичков.

Сегодня я расскажу как написать моргание светодиодом двумя способами с использованием инструментов, труднодоступных в 2023 году.

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

LGT8F328P: импортозамещение по-китайски (окончание)

Время на прочтение13 мин
Количество просмотров15K
В первой части рассказа о контроллере LGT8F328P китайской фирмы Logic Green рассказывалось об этом контроллере, как замене классического Arduino, а также об использовании в Arduino-среде некоторых его расширенных возможностей. В этой части пойдет речь о программировании LGT8F328P на самом низком уровне: на AVR-ассемблере. Это лучше позволит понять его устройство, отличия от AVR и тонкости программирования тех или иных составляющих.


Для написания и загрузки ассемблерных программ, как в AVR, так и в LGT8F328P необходимо обзавестись некоторыми специальными инструментами. Здесь не очень важно, какую именно среду использовать (любую из привычных вам, если вы справитесь с интеграцией в нее LGT8F328P), лишь бы она умела производить hex-файлы.
Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии10

OSPFv3 для P2P связности VM по IPv6

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

OSPFv3 - это версия OSPF для IPv6. Его основные функции по-прежнему аналогичны функциям OSPFv2, используемым в сетях IPv4

# enable ospfv3
Всего голосов 5: ↑5 и ↓0+5
Комментарии2

Сертификаты K8S или как распутать вермишель Часть 2

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

Всем привет. Меня зовут Добрый Кот Telegram.

От коллектива FR-Solutions и при поддержке @irbgeo Telegram : Продолжаем серию статей по сертификатам k8s.

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

Читаем ключевой контейнер КриптоПро

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

Речь пойдет о PFX, который можно экспортировать из КриптоПро, однако данный контейнер нельзя использовать в OpenSSL и в других криптографических средствах из-за некой PBE с OID 1.2.840.113549.1.12.1.80.

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

Установка универсальной прошивки OpenIPC на примере IP камеры с процессором HI3516DV100 и сенсором OV4689

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

Наш мир кишит камерами видеонаблюдения, и большинство из нас сами добровольно окружают себя этими устройствами. Камерами, которые имеют как случайные дыры в безопасности, так и намеренно внедренные компоненты которые отстукивают своему хозяину. Одни производители стараются по максимуму предвидеть и решить проблемы, другие же делают вид, что и проблем особо нет, если камера показывает изображение. Но если начать приглядываться, то лишь требование ActiveX и Internet Explorer для пользования камерой в XXI веке это нечто из пучин ада.

Решают проблемы производители каждый по своему. Как вариант, через облако, через своё приложение Android с приватными протоколами. Но через несколько лет после продажи облачной камеры, бесплатное облако вполне может стать платным, приложение обрастает рекламой до безобразия. А если проект производителя не зашел, то прописанные в ней сервера отключаются и ваша камера, возможно даже с отличным оборудованием внутри, становится бесполезным кирпичём, потому как способов использования больше нет.

В случае с зоопарком рутеров, ворох проблем заставил энтузиастов собраться с силами и создать открытую платформу OpenWRT на базе Linux. И ради тех, кто ждет решения для камер, сейчас кипит работа над аналогичным открытым проектом OpenIPC - универсальной встраиваемой платформы на базе Linux для IP камер. Проделан колоссальный труд, и есть уже ряд камер, на которые можно установить новую прошивку, получив базовый функционал.

Дальше рассказываю на какие камеры какими способами и зачем можно установить систему OpenIPC на примерах.

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

Насколько хорошо у вас настроен OSPF/IS-IS или помогатор для сетевых инженеров

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

Коллеги-сетевики, привет. К написанию данной статьи меня сподвигли задачи, с которыми приходилось сталкиваться во время работы с OSPF/IS-IS и тот набор решений, к которому я в конечном итоге пришел. Речь идет о насущном вопросе сетевых инженеров, когда приходится применять настройки на живой сети (пусть и с программируемым откатом на крайний случай) без возможности посмотреть как это отразится на всей сети в целом. Если отдельные команды и сценарии еще можно проверить в лабе, то получить полную реплику сети практически невозможно. В связи с этим я задался вопросом о наличии инструмента, который позволял бы строить слепок сети и рассчитывать её реакцию на ранее примененные настройки. Об этом сегодняшний туториал.

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

Asterisk. Доставка SIP Message после возврата абонента из off-line'а

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

В предыдущих статьях я описал как настроил и собрал GSM <> SIP систему на базе Asterisk. В этой статье расскажу как быть с входящими SMS, если получатель не в сети.

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

Насколько реален самодельный 3D-принтер по металлу?

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

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

Не так давно я понял, что меня очень сильно тормозит в разработках — отсутствие доступного 3D-принтера по металлу, и я стал разбираться, насколько же сложно создать такой принтер самому?
Читать дальше →
Всего голосов 41: ↑39 и ↓2+55
Комментарии56

Сертификаты K8S или как распутать вермишель Часть 1

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

Всем привет. Меня зовут Добрый Кот Telegram.

От коллектива FR-Solutions и при поддержке @irbgeo Telegram : Продолжаем серию статей по сертификатам k8s.

Хочу поделиться с вами некоторым мыслями на тему сертификатов в кубе.

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

Autosupply или как автоматизировать цепочки поставок с помощью ML

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

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

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

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

Задача прогнозирования потребления

Есть очень похожая и более распространенная задача в розничной торговле: сколько каких товаров нужно поставить в магазин Х в момент времени У? Задача решается относительно просто: зная потребление товара во времени из чеков и запасы товара на складе, можно вычислить будущую поставку напрямую. Поставить нужно столько, сколько предположительно продадут, за минусом запаса.

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

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность

Специализация

System Administration, DevOps
Lead
От 350 000 ₽
Ansible
CI/CD
Linux administration
DevOps
Network administration
System administration
Virtualization systems
IT consulting
OpenStack
Shell scripting