Все потоки
Поиск
Написать публикацию
Обновить
351.24

DevOps *

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

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

Переезд в облако рекламного движка с baremetal

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

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

За последние три года рекламная система VK выросла в три раза по количеству кампаний, таргетингов и RPS. При этом мы столкнулись с физическими ограничениями bare-metal инфраструктуры: 128 CPU и 512 ГБ памяти на сервер стали потолком, в который мы упёрлись. Сервис баннерной карусели потреблял всё больше ресурсов, а время деплоя достигало 24 часов.

Меня зовут Артём Букин, я разрабатываю инфраструктурные проекты. В этой статье расскажу о технических деталях миграции ядра рекламной системы VK в облако: как перешли от MySQL-репликации к P2P-доставке снапшотов через торрент-протокол, научились применять данные без downtime и в итоге сократили потребление памяти в 2 раза, а время деплоя — в 4.

Читать далее

Новости

GitOps в Linux: бесперебойное управление инфраструктурой на основе Git

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

Представь мир, где каждый сервер, приложение и сетевая конфигурация тщательно оркестрируются через Git, где обновления, аудиты и восстановления происходят с помощью одного коммита. Эти и другие возможности открывает GitOps. Особенно мощно он проявляет себя в сочетании с универсальностью Linux-систем. Как же преобразить управление инфраструктурой Linux? И каким образом с помощью Git добиться ясности, контроля и уверенности в каждом изменении?

Читать далее

Что такое DevOps и почему он автоматизировал не всё

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

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

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

Читать далее

DevSecOps за 20 миллионов? Я сделал свой сканер и выложил бесплатно

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

Я раньше работал обычным безопасником. Кто-то называет таких «ИБшниками», кто-то — «параноиками», кто-то — «тем самым занудой, который мешает жить».
Каждый день у меня был один и тот же диалог:

Тимлид: «У нас релиз в пятницу, отстань со своим сканированием».
Менеджер: «В бюджете только Jira и пицца, какие ещё 15 миллионов за софт?»
Разработчик: «Код сгенерил AI, билд прошёл, значит, всё норм».

Читать далее

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

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

Представьте, что вы DevOps-инженер и разработчик просит развернуть новое приложение в Kubernetes. В большинстве случаев в нем будут секреты: логин или пароль от базы данных, ключи для S3-бакета и так далее. Эти секреты желательно спрятать.

Есть несколько способов это сделать. Мы в команде используем HashiCorp Vault. Храним там секреты в формате key-value, откуда они попадают в приложения, развернутые в ArgoCD с помощью ArgoCD Vault Plugin или аналогичных решений. Звучит не очень сложно, но кое-что в такой схеме нам не нравилось: ручное добавление или изменение существующих секретов в Vault, а также необходимость периодически создавать руками новые key-value secrets engine. Еще стоит упомянуть, что Vault используется не только DevOps-инженерами, но и разработчиками, например в их Jenkins-джобах, а у разработчиков нет доступа на запись в Vault, поэтому любой запрос на добавление/изменение секретов с их стороны выполнялся в рамках заведенного на DevOps-инженера Jira-тикета. Тикеты не всегда вовремя замечались в бэклоге, поэтому такая простая задачка, как добавление секретов, могла растянуться на пару дней.

Поэтому процесс взаимодействия с Vault мы в YADRO решили автоматизировать. В статье я расскажу, как можно управлять Vault через подход IaC (Infrastructure as a Code) с использованием OpenTofu — open source-форка Terraform.

Читать далее

AI Review: для всех, везде и без боли

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

Раньше вас ревьюил злой коллега — теперь это делает AI. AI Review — open-source инструмент, который сам проверяет код прямо в CI/CD. Поддерживает OpenAI, Claude, Gemini, GitLab и GitHub. Быстро, честно и без боли.

Читать далее

Как мы в Авито автоматически лечим ноды в Kubernetes

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

Привет, Хабр! Это Станислав Егоркин, инженер юнита k8s департамента разработки Infrastructure в Авито. В одной из своих прошлых статей я описал, как мы детектируем проблемы на нодах Kubernetes-кластеров. Логичным продолжением этой работы стала автоматизация их лечения. В этой статье я расскажу, как у нас устроены механики Auto Healing.

Читать далее

Управление результатами статического анализа

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

Статический анализ — это не только запуск проверки. Как обрабатывать отчёты, рассылать предупреждения разработчикам и визуализировать результаты? Рассказываем, как с помощью утилит и интеграций PVS-Studio превратить сырые данные анализатора в эффективный процесс улучшения кода.

Читать далее

Оперативная память: исчерпывающие руководство. Часть 1 – Физическое устройство RAM от атома кремния до реальных чипов

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

Как кусок кремния и немного металла превращаются в память, способную хранить гигабайты данных и оперировать ими за наносекунды?

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

Читать далее

GitOps для начинающих: от открытых материалов для чтения с примерами — к open source-инструментам по теме

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

GitOps — широко известен и востребован, поэтому по теме регулярно появляются новые материалы для начинающих, а также специализированные инструменты. Мы в Beeline Cloud подобрали примечательные вводные статьи, гайды и open source-решения, которые интересно изучить и потестировать: от управления DNS-зонами и секретами до GitOps-инструментов от энтузиастов и крупных фирм-разработчиков.

Читать далее

Я упаковал 10 веб-фреймворков в Docker, чтобы вы могли запустить любой из них одной командой

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

Каждый раз, когда речь заходит о новом проекте, начинается вечный спор: какой фреймворк выбрать? Go или Rust для производительности? Python для скорости разработки? А может, стоит попробовать что-то на Elixir? Муки выбора знакомы многим. Вместо того чтобы в очередной раз теоретизировать, я решил пойти другим путем: взять и протестировать их все.

Так родилась идея проекта Framework DevBox — универсальной песочницы, где десять популярных фреймворков на разных языках упакованы в Docker-контейнеры и готовы к запуску одной командой.

Читать далее

Сначала Agile, потом — агентный ИИ

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

Агентные ИИ-системы обещают ускорить разработку, но ускоряют только там, где уже налажен быстрый поток поставки: автономные продуктовые команды, короткие циклы, непрерывная обратная связь. Реальность же прозаична: по DORA многие организации релизят реже раза в неделю, у четверти change failure rate доходит до 40%, а инциденты чинятся неделями.

В статье разбираемся, почему без «взрослого» Agile и DevOps ИИ-агенты всего лишь делают узкие места заметнее, и как организационная агентность (право и способность команд действовать) становится предпосылкой для реальной выгоды от ИИ.

Agile → ИИ-агенты: что важно

Как победить CMake: отладка CMake-скриптов

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

Отладка больших CMake-проектов часто превращается в боль. Уходит не один час на то, чтобы с помощью message() и бубна найти проблему. Но существуют более удобные и эффективные способы. Например, отладчик, который позволяет пошагово пройтись по CMake-скриптам и посмотреть значение переменных. Или профилировщик, показывающий последовательность вызовов и время их выполнения. Как их использовать? Читайте в статье.

Читать далее

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

Быстрый старт в CI на примере Flutter (под банальный Android и интересную «Аврору»)

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

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

Читать далее

Релизы без DevOps: Как сделать самому, на 1 сервере, за 1 день

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

(Анонс: Привет. Собираю статистику по инженерным процессам — от enterprise до инди‑команд (форма в конце статьи). Результаты агрегирую и опубликую на хабре в ближайшее время. Анонимно, 5–10 минут. Важен каждый.)

В сети очень много информации о том, как работать в большой и многорукой команде, с кучей выделенных ролей и настроенными процессами. Да я и сам отправляю к девопсам, когда на конференции подходят и спрашивают «а как правильно сделать репликацию базы данных?», потому что они (девопсы) сделают это быстрее и правильнее почти любого бэкендера. Но кроме компаний, в которых работают тысячи инженеров и есть отдел «на любой чих», — есть компании, в которых работают три джуна и один мидл (кстати, они-то и задают этот вопрос). Я и сам когда‑то с такой компании начинал… И эта статья для них.

Авто деплой с ролбэком за пару часов

Как мы подружили Tarantool с Kubernetes

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

Привет, Хабр! Я — Калашников Сергей, DevOps‑инженер в Центре Перспективных Разработок (ex. R&D) компании Bercut. Cегодня поделюсь опытом внедрения систем на базе Tarantool и Tarantool Vshard в оркестратор Kubernetes.

Tarantool — платформа, которая включает в себя in‑memory базу данных, а также встроенный сервер приложений. На базе этой платформы наша команда разрабатывает различные информационные системы, расширяя функциональность с применением языков Lua, Rust, C\C++.

Несмотря на все очевидные плюсы Tarantool, он не является тривиальным в части конфигурирования и bootstrap. Это привело нас к разработке Operator для Kubernetes, который обеспечивает развертывание и конфигурирование кластеров на базе Tarantool и Tarantool Vshard.

Читать далее

Мы запускали майнинг-пул на десятки тысяч ASIC-ов. Вот что пошло не так (и почему это было гениально)

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

Запускать в 2025 году свой майнинг-пул? Серьёзно? Все крупные игроки уже поделены, битва за хешрейт давно закончилась. Но наш клиент пришёл не за «очередным пулом». У него был парк в десятки тысяч ASIC-ов, разбросанных по разным уголкам планеты, и конкретная бизнес-задача — не просто майнить, а делать это с максимальной эффективностью и контролем. И он понимал, что типовые решения его не устраивают. Вот тут-то и началось самое интересное.

Читать далее

Нейтральное сравнение StarRocks и Apache Doris

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

Это обзор двух проектов аналитических СУБД с открытым исходным кодом, которые развиваются в одном классе задач, но различаются архитектурой, приоритетами и типичными сценариями применения. Ниже — нейтральное сравнение по ключевым аспектам: архитектура и запросный движок, хранение и работа в реальном времени, интеграция с открытыми форматами и lakehouse, производительность, эксплуатация и управление, а также рекомендации по выбору в зависимости от нагрузки.

Читать далее

Снижаем стоимость инференса. Часть 1. Популярные подходы и что помогло нам повысить утилизацию GPU на 70%

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

Привет, Хабр! Меня зовут Данила Гудынин, я DevOps-инженер направления Evolution ML Inference в Cloud.ru. В мире машинного обучения GPU — главный актив, но что делать, когда ваши дорогостоящие видеокарты используются всего на 50%? Мы у себя столкнулись именно с такой проблемой и, чтобы наши клиенты не платили за простаивающие ресурсы, разработали собственную технологию виртуализации GPU.

В этой статье пробежимся по верхам и расскажем, какие подходы рассматривали, и что в итоге позволило нам даже в условиях очень дорогого железа снизить цены до уровня западных облаков без просадки в производительности. А во второй части, которую опубликуем позже для тех, кто готов к глубокому погружению в оптимизацию GPU, мы поделимся готовыми алгоритмами для каждого из способов оптимизации и дадим «списать» немножко кода. Можете подписаться, чтобы не пропустить.

Узнать больше

Безопасность Kubernetes: статьи и руководства про защиту кластеров

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

Недавно мы представили MWS Container Platform — платформу для управления приложениями и инфраструктурой на базе Kubernetes. А сегодня в статье предлагаем взглянуть на гайды по теме ИБ при работе с оркестратором: базовые материалы для начинающих, референсы для опытных инженеров и разборы распространенных ошибок. В целом материалам будет полезен системным администраторам, DevOps-инженерам и тем, кто начинает работать с Kubernetes.

Читать далее
1
23 ...

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