Обновить
261.22

DevOps *

Методология разработки программного обеспечения

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

Зачем нужен ArgoCD, если можно поставить cron с git pull?

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

Инфраструктура как код, GitOps, автоматизация — все эти слова давно перестали быть модными терминами и стали частью повседневной жизни инженера. Но вместе с этим появляются и вопросы: а всегда ли нужно внедрять тяжелые инструменты? Например, зачем нужен ArgoCD, если можно просто настроить cron с git pull на нужный сервер?

Попробуем разобраться, в чём разница между этими подходами, какие задачи они решают, где их границы применимости и, главное, в каких случаях cron — это «дешево и сердито», а когда он становится «дешево, но больно».

Читать далее

Infrastructure-as-Code — разбираемся в терминах и смотрим на реализацию в Яндексе

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

Привет! Это Николай Гриценко, ведущий технический менеджер в Yandex Infrastructure — команде, которая создаёт и развивает внутреннюю инфраструктуру Яндекса, от сетей и дата‑центров до инфраструктуры разработки. Я занимаюсь направлением Internal Developer Platform (IDP). Вместе с коллегами мы много разрабатывали наши собственные инструменты по оркестрации выкладки кода.

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

Читать далее

Proxy MCAL для Микроконтроллера

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

При продолжительной разработке на одном семействе микроконтроллеров получается так, что приложение намертво привязано к конкретному семейству микроконтроллеров и его SDK, так как напрямую использует HAL от вендора.

Это особенно явно проявляется в таких случаях, когда надо срочно переносить прошивку на другой микроконтроллер.

Получается, что приходится заново писать всю прошивку, всё приложение, драйвера всех ASIC-ов. Драйвер светодиодов, драйвер кнопок, драйвер ASICов c I2C SPI управлением. В общем всё переписывать. Поменяли MCU и пришлось переписать все файлы в репозитории. Нормально так да?

В этом тексте я написал, как можно обойти эту проблему.

Читать далее

Опыт применения Terraform для управления сервером Hyper-V через HTTPS WinRM

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

Какие инструменты приходят вам на ум, когда заходит разговор о создании виртуальных машин под управлением Microsoft Hyper-V? Уверен что ими окажутся - Hyper-V Manager и командлеты PowerShell, т.к. они поставляются в комплекте с ролью Hyper-V и суммарно дают достаточно мощный инструментарий для управления виртуальными машинами и виртуальными сетями.

Однако, в какой-то момент мне стало интересно, а можно ли подружить Hyper-V с таким инструментом как Terraform? Этот вопрос и стал отправной точкой, за которой последовало несколько дней поисков, размышлений, экспериментов и набивания шишек.

В настоящей статье я попробую рассказать о своём опыте работы с Hyper-V провайдером для Terraform, поделиться опытом настройки WinRM для HTTPS, затронуть не самые очевидные механизмы, которые могут быть задействованы при администрировании операционных систем семейства Windows и описать свои ошибки и неудачи. Статья не претендует на то, чтобы стать полноценным руководством к действию, но может дать новые идеи энтузиастам и сэкономить время новичкам.

Читать далее

Лечим проблемы Kubernetes на лету по мере масштабирования проекта: опыт команды VK Cloud

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

Производительность etcd-кластера со множеством объектов — головная боль команд, которые любят и ценят Kubernetes. И вот почему: чаще всего для роста производительности кластера используют горизонтальное скалирование, а это приводит к нагрузке на кластер из-за увеличения времени согласования записи данных. В результате вместо шустрого кластера получается неповоротливый тяжеловес. 

Меня зовут Алексей Волков. Я менеджер продукта Cloud Containers в VK Cloud. В этой статье я расскажу о кейсе одного из наших клиентов: с каким запросом он пришел и с какими сложностями сталкивался, как мы провели тюнинг etcd-кластера и какие настройки нужны, чтобы повысить производительность Kubernetes. 

Читать далее

SRE в инженерии данных: профессия и ее перспективы

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

Всем привет! Меня зовут Александр Андреев, я старший SRE дата-инженер в компании "Криптонит". Сегодня я хочу рассказать о необычной, но набирающей обороты роли в области обработки данных - SRE Data Engineer: кто это такой, чем занимается, как им стать, куда развиваться и какие перспективы у этой профессии.

Читать далее

Kafka: ребалансировка изнутри

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

Привет! Меня зовут Геннадий, я руковожу командой разработки системы учета товаров в Ozon. Мы активно используем Kafka как основной инструмент для асинхронного взаимодействия между нашими сервисами. Для нас Kafka — это не просто очередь сообщений, а один из ключевых компонентов всей архитектуры. Поэтому мы постоянно погружаемся в его тонкости и нюансы, чтобы грамотно настраивать и использовать его возможности. Думаю, многие из вас сталкиваются с тем же — когда Kafka становится критически важной частью вашего решения.

Хотя информации о ребалансировке Kafka достаточно, она часто либо слишком разрозненная и техническая, либо наоборот — поверхностная и без акцента на важные детали. Я собрал для вас самое важное и объясню это простым и понятным языком.

Читать далее

Живая миграция, мониторинг и безопасность: дайджест обновлений Deckhouse Virtualization Platform 0.15–0.18

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

С начала 2025 года мы выпустили четыре крупных обновления DVP, внедрили более 72 изменений и добавили более 32 новых фич и улучшений. В этом дайджесте — самые важные изменения: живая миграция без простоев, расширенные политики безопасности, новый аудит, автоматизация работы с ВМ и многое другое.

Читать далее

To Docker or not to Docker? Вот в чём JupyterLab

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

Локальная работа в Jupyter-ноутбуках – неотъемлемая часть исследований и экспериментов нашего ML-отдела. Но из какой среды эти ноутбуки лучше запускать?
Мы пользуемся двумя вариантами: запуском из Docker-контейнера и запуском в изолированном локальном poetry-окружении.

В статье соберем минимальный сетап для работы с Jupyter-ноутбуками и ссылки на полезные ресурсы для ознакомления.

Читать далее

DHCP-сервер облачной сети MWS. Как мы одинаковые адреса на разные виртуалки раздаём

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

Привет! При построении overlay-сети MWS Cloud Platform мы столкнулись с задачей: автоматически раздавать сетевые настройки виртуальным машинам на основе VRF — с полной изоляцией и без конфликтов.

Меня зовут Никита Усатов, я занимаюсь разработкой сервисов облачной сети MWS Cloud Platform. В этой статье расскажу, как устроена наша сеть, зачем понадобился DHCP-сервер с поддержкой VRF, как через VPP реализован DHCP Proxy с Option 82, и какие изменения мы внесли в CoreDHCP. Покажу, как передаются настройки от Control Plane к Data Plane, и как CoreDHCP отслеживает конфигурации без перезапуска. В конце — реальные кейсы отладки и мониторинга.

Читать далее

tenv — универсальный менеджер версий для Terraform-стека

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

Когда в 2023 году появился OpenTofu, его моментально подхватило сообщество: идея полностью открытой альтернативы Terraform на тот момент выглядела свежо и многообещающе. Многие захотели попробовать его в деле — но очень быстро столкнулись с типичной проблемой: а как безболезненно переключаться между OpenTofu и Terraform? 

На первый взгляд всё казалось простым: установи два бинарника через любой пакетный менеджер — и готово. Но уже через пару месяцев активного развития OpenTofu, когда компании начали массово делать внутренние POC по миграции, стало очевидно: различий между OpenTofu и Terraform с каждой версией становится всё больше (часть из них хорошо видна, например, на cani.tf) и управлять разными версиями разных инструментов становиться все сложнее.

Именно тогда мы увидели нишу: менеджер версий, заточенный не просто под Terraform, а под весь Terraform-стек, включая OpenTofu.

Читать далее

Миграция с legacy: как werf упростил переезд на Kubernetes и ускорил CI/CD

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

Статья о том, как werf помог упростить переход на Kubernetes, ускорить CI/CD и решить проблемы с кэшированием. Автор поделился опытом внедрения, первыми шагами и преимуществами, которые получила его команда.

Читать далее

Как построить инфраструктуру, которая не подведет: главное с митапа по отказоустойчивости

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

23 апреля на OMNI Infrastructure Meetup эксперты из Авито, Магнит OMNI, Лаборатории Касперского и Cloud.ru обсудили, как создавать системы, устойчивые к любым сбоям. Рассказываем о самых важных инсайтах.

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

Делимся видео и презентациями докладов.

Читать далее

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

От контейнеров до кода: инструменты для поиска уязвимостей на все случаи

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

Всем привет

Меня зовут Сергей. Работаю в небольшой компании. Помимо прочих обязанностей, также анализирую код и docker-образы, написанные нашими разработчиками, на предмет различных уязвимостей. В этой статье хотел бы поделиться нашими подходами и open-source инструментами, которыми я использую в своей работе.

Быть может кто-то найдет что-то полезное или новое для себя.

Найти что-то полезное или новое для себя

Опыт внедрения Multus CNI в MWS

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

Привет, Хабр! Меня зовут Глеб Когтев, я руководитель команды VPC Host Components, которая занимается разработкой виртуальной облачной сети для MWS Cloud Platform. C этой статьёй мне помогал Юрий Кондратов — SRE в команде Kubernetes Operations, Research & Engineering (KORE). 

Сегодня поговорим об устройстве сети в Kubernetes-кластере, немного о нашем подходе к обеспечению связности сервисов и чем нам был полезен Multus CNI. Статья будет полезна тем, кто использует Kubernetes в своих задачах и хочет разобраться в устройстве сети, а ещё во взаимодействии компонентов K8s с контейнерами.

Читать далее

DLQ-first: учим Kafka-консьюмера падать красиво и поднимать поток за секунды

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

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

Сегодня рассмотрим, как построить Kafka-консьюмер, который не падёт при первой же проблеме, а аккуратно сложит битые события в Dead Letter Queue (DLQ).

Читать далее

Всегда используйте target_session_attrs=read-write (или primary) при подключении к кластеру PostgreSQL по FQDN в YC

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

При работе с кластерами PostgreSQL, особенно в конфигурациях с высокой доступностью (High Availability, HA), разработчики часто сталкиваются с ошибками типа "cannot execute INSERT in a read-only transaction". Эти ошибки возникают, когда приложение пытается выполнить операцию записи на узел, который в данный момент является репликой (read-only). Особенно остро эта проблема проявляется в моменты переключения мастера: пул соединений вашего приложения может все еще содержать коннекты к бывшему мастеру, ставшему репликой, или же балансировщик может направить новый запрос на запись к реплике.

К счастью, драйверы PostgreSQL предоставляют элегантное решение этой проблемы – параметр строки подключения target_session_attrs. В версии PostgreSQL 14 были добавлены новые значения для target_session_attrs: read-only, primary, standby и prefer-standby. Этот параметр позволяет указать, какого типа сессию ожидает ваше приложение. Наиболее полезным значением для приложений, выполняющих операции чтения и записи, является read-write. В этой статье мы подробно разберем, почему это так важно, продемонстрируем проблему на практике и покажем, как target_session_attrs=read-write спасает ситуацию. Использование target_session_attrs=primary, включая его специфические отличия от read-write, будет подробно рассмотрено далее в статье.

Читать далее

Хаос-инжиниринг — свежие научные работы и гайды

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

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

Сегодня мы собрали статьи и научные работы, посвящённые фреймворкам и инструментам для хаос-инжиниринга. Рассказываем о решениях ChaosETH, ChaosEater, CHESS и паре других, предложенных специалистами ведущих исследовательских институтов и корпораций.

Читать далее

Опыт работы с Serverless-архитектурой для Telegram-бота на Vercel и Timeweb Cloud

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

В последнее время активно занимаюсь разработкой Telegram-бота с использованием Serverless-подхода в Timeweb и Vercel сервисах.

Читать далее

Основы по GNU Make

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

GNU Make - это консольная утилита, которая запускает другие консольные утилиты в желаемой последовательности согласно скрипту. Только и всего.

В этом тексте я показал, как можно организовать самостоятельно написанные make скрипты для микроконтроллерных проектов.

Читать далее

Вклад авторов