Обновить
256K+

DevOps *

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

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

Пишу консольные приложения на iPad с помощью AI-агента и удалённого VPS

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

Консольное приложение - не самая очевидная вещь для разработки на планшете. Ни полноценного терминала, ни файловой системы, к которой привыкли на десктопе, ни нормальной многозадачности - так было ещё пару лет назад. Но если вынести сам процесс исполнения кода на удалённый Linux-сервер, а iPad превратить в тонкий клиент для управления AI-агентом и просмотра результата, картина меняется полностью. Ниже - рабочий процесс, который у меня сложился для разработки CLI-инструментов на Python: VPS + AI Coding Agent (Claude Code) в tmux + Remote IDE как единая точка входа, всё на iPad со Stage Manager. Для такого цикла нужно немного: SSH-доступ к серверу, где крутится агент, и способ параллельно смотреть на файлы и на diff, не теряя сессию агента при переключении между окнами. Дальше - как это выглядит по шагам.

Читать далее

Инверсия приоритетов в Kubernetes: Когда планировщик убивает бизнес, спасая «важные» поды

Уровень сложностиСложный
Время на прочтение7 мин
Охват и читатели9.6K

Высокий приоритет пода в Kubernetes должен повышать устойчивость сервиса, но при ошибочной настройке ресурсов может запустить противоположный сценарий: вытеснения, каскадные перезапуски и бесконтрольное масштабирование кластера.

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

Читать далее

Своя self-hosted двухсерверная VPN-архитектура. Подробный путь разработки и ошибки, с которыми вы можете столкнуться

Уровень сложностиСложный
Время на прочтение19 мин
Охват и читатели15K

Пишу свой путь разработки self-hosted сервера с полностью автоматизированным развертыванием с полным циклом состоящим из около 15 DevOps технологий, а также 7 сервисов, которые будут полезны каждому!

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

Арендовать мощные VPS под ресурсоемкие задачи в текущих реалиях выходит неоправданно дорого. При этом дома у меня уже был выделенный неттоп (мини-ПК) с 16 ГБ оперативной памяти на базе энергоэффективного процессора Intel N95.

Читать далее

Почему ваш GitLab CI медленный: 6 ошибок в настройке Runner

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

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

Разберём шесть типичных ошибок в настройке GitLab Runner и посмотрим, как найти узкое место до того, как команда привыкнет ждать сборку по двадцать минут.

Читать далее

Памятник kubelet, Kubernetes != CRI

Уровень сложностиСредний
Время на прочтение17 мин
Охват и читатели7.2K

У обычной ноды Kubernetes жёсткий потолок в 110 подов (формально настраиваемый kubelet-флаг --max-pods, но поднимать его руками не рекомендуется даже апстримом: упирается в размер Pod CIDR на ноду, и выше 110 Kubernetes просто не валидируют, так что на практике это потолок дефакто), плюс налог на каждый контейнер: containerd или CRI-O (справедливости ради, у CRI-O ~20 МБ, но на хост, и около 1 МБ на под), ~20 МБ containerd-shim на каждый контейнер, а сам CRI добавляет заметный delay в операциях. На мощном железе это заставляет выбирать между недоутилизацией и гипервизорным слоем (KubeVirt, Kata) с его собственным налогом на microVM. На слабых VPS стандартный стек тяжёл ещё даже до первого workload: kubelet + containerd + kube-proxy + CNI — это уже 300-600+ МБ RSS прежде, чем в кластере появится хоть один рабочий под.

У меня была мечта: Kubernetes + systemd. Я начал свой путь не зная куда это приведет, проект за время разработки сменил 7 разных направлений, думаю я нашел главную цель: освобождение Kubernetes.

Результат на двух моих машинах (Xeon E5-2690 v4 + Intel N150): 1772 пода, 33 ноды, 2.5 миллиона запросов под нагрузкой с нулём ошибок и медианой 257 мкс. RSS демона — 365 МБ (замер от 04.04.26, сейчас уже ниже) на 1660 подов (~225 КБ на под).

Дальше расскажу, что такое Periapsis, как у меня появилась эта идея и что уже работает.

Читать далее

ИИ для QA: мы перестали тратить часы на подготовку Acceptance Criteria

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

Всем привет! Я Марго, QA-инженер команды МС в Банки.ру. 

Этой весной мы с командой автоматизировали подготовку Acceptance Criteria (это по сути такой чек-лист, по которому команда проверяет, готова ли задача) с помощью ИИ. Ниже расскажу, как мы это сделали.

Читать далее

Docker Gitlab + Gitlab Runners на Fedora 44

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели7.3K

Docker Gitlab + Gitlab runners на Fedora 44. Как настраивал у себя и немного каких приколов может быть.

Что посмотреть

Как компании строят MLOps без собственной ML-платформы: managed-сервисы

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

Всем привет! Меня зовут Катерина Цаплина, я AI Architect и программный эксперт курса «MLOps для разработки и мониторинга моделей». Работаю на стыке ML, инфраструктуры и корпоративной архитектуры в крупной промышленной компании и на практике вижу, насколько непросто выстраивать такие процессы в реальной организации.  

Это четвёртая и финальная статья цикла о том, как компании реализуют MLOps. В предыдущих частях мы разобрали, как компании могут строить MLOps в целом, рассмотрели пример внутренней ML-платформы Uber Michelangelo и на примере Netflix Metaflow разобрались, как workflow-фреймворки помогают навести порядок в ML-разработке.

Сегодня разберём ещё одну альтернативу собственной платформе: managed-сервисы облачных провайдеров. На примерах Google Vertex AI, Yandex DataSphere и Yandex AI Studio рассмотрим, как они устроены и чем будут полезны команде и бизнесу. И, наконец, подведём итог всей серии статей.

Читать далее

Как я подружил self-hosted Supabase с VictoriaMetrics, VictoriaLogs, Grafana и Vector

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

Я использую Supabase в self-hosted режиме: сервисы работают в Docker Compose, включая Postgres, Kong, GoTrue, PostgREST, Storage, Realtime, Edge Functions, Logflare и Vector. Перед Kong стоит Nginx, который завершает TLS и проксирует публичное API.

Мне нужно было закрыть две задачи

Читать далее

С нуля до Junior DevOps в 2026 году. Часть 3. Git и GitHub

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

В предыдущих статьях мы разобрались, c Linux и Bash.

Следующая ступенька — Git.

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

На самом деле сегодня Git используют практически все инженеры, работающие с инфраструктурой. В Git хранят не только исходный код приложений, но и Dockerfile, Kubernetes-манифесты, Terraform-конфигурации, Ansible Playbook, Bash-скрипты и CI/CD-конвейеры.

Фактически Git стал центральной точкой любого современного проекта.

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

Читать далее

Свой AI-прокси на Java: как я пытался подключиться к Gemini

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

Для разработки одного из моих проектов: документа BDoc (Book Document альтернатива устаревшим закрытым бинарным форматами такими как IDML, INDD или Scribus SLA) потребовалась нейросеть, которая может держать контекст очень долго. На данный момент для это цели идеально подходит Gemini, так как контекстное окно у Gemini в 1 миллион токенов. Но есть одна загвоздка, компания Google заблокировала некоторые регионы. То есть запросы от этих регионов не будут доходить до google. Рассмотрев все за и против, было принято решение написать небольшую программу на java - ai-proxy. То есть прокси для нейросетей.

Читать далее

Защита CI/CD для open source-проекта: запираем зависимости

Время на прочтение7 мин
Охват и читатели7.5K

Команда VK Cloud перевела второй пост из серии трёх частей о том, как Cilium укрепляет свой CI/CD-конвейер. Первая часть рассказывала про управление доступом: кто может запускать сборки и какой CI-код разрешено исполнять. Этот пост про уровень зависимостей: какой код эти сборки подтягивают и как мы убеждаемся, что его не подделали.

Читать далее

Gateway API против Ingress: как выбрать реализацию и не пожалеть

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели8.9K

Если вы последние пару лет следили за развитием сетевой подсистемы Kubernetes, то наверняка заметили, что вокруг Gateway API сложился странный консенсус: «все согласны, что это будущее, но почти никто толком не понимает, какую именно реализацию брать и зачем уходить от привычного Ingress». В этой статье я попробую рассказать про ключевые отличия Gateway API от Ingress (на примере самого популярного — NGINX Ingress Controller), сравнить между собой основные реализации Gateway API и поговорить о нюансах кастомизации, интеграции и производительности.

Читать далее

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

Система растет там, где можно ошибаться. История из минского ИТ-хаба

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

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

Моя статья — пятая в проекте «20 в 20» к 20-летию Т-Банка, в котором мы рассказываем об ИТ-хабах в разных городах и о людях в них. Сегодня — о минском ИТ-хабе, которому в этом году уже пять лет!

Начав в инфраструктурной команде, я прошел путь через роль SRE-лида на 20 команд, перешел в тимлидство команды разработки и дошел до руководителя нескольких команд. С каждым шагом менялся характер задач: от настройки конкретных сервисов — к выстраиванию процессов, от процессов — к работе с людьми, от работы с людьми — к работе с бизнес-результатом. 

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

Читать далее

Как мы управляем удаленными Windows 10-точками без Active Directory: Syncthing, Ansible и 1С

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

Мы небольшая компания с распределенной сетью торговых точек. На каждой точке обычно есть одна касса и один ПК. Где‑то стоит MikroTik, но на большинстве точек используется мобильная SIM‑карта в роутере или USB‑модем.

Главная проблема такого подхода, на мой взгляд, в том, что для сложных задач приходится писать слишком много кода на BAT, PowerShell или Python. Хотелось добавить IaC‑подход, и первым кандидатом стал Ansible.

Что из этого вышло

Вайб-кодинг без розовых очков: как я писала свой продукт с Claude

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

Маленький дисклеймер на входе

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

В этом году я решила, что хватит уже это терпеть. Тренд на «вайбкодинг» — когда ты разговариваешь с нейросетью, а она пишет код — звучал так, будто наконец-то можно без команды собрать проект самой. Пишешь: «хочу сервис, который собирает все семейные платежи в одном календаре» — и через день у тебя задеплоенный MVP с регистрацией, импортом PDF, авто-привязкой чеков к платежам и календарной подпиской.

Спойлер: да, это работает. Реально работает. У меня сейчас на проде живой сервис Бытовые счета, он умеет всё перечисленное выше плюс ещё много чего, и я там написала ровно ноль строк кода руками. Всё — через Claude Code, IDE-расширение от Anthropic.

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

Читать далее

Квантование ломает вызов инструментов не так, как показывает BFCL: проверил на MCP-серверах

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

Как на самом деле квантование ломает вызов инструментов? Собрал бенчмарк QuantMCP, протестировав модели на 4 ГБ VRAM не на синтетике, а на реальных схемах MCP-серверов. Главный инсайт: популярные бенчмарки вроде BFCL систематически врут - корреляция их оценок с реальным падением качества оказалась отрицательной (-0.755). На живых схемах модели ведут себя иначе: Llama-3.2-1B начинает возвращать саму JSON-схему вместо вызова или галлюцинирует имена инструментов, а Qwen3-0.6B выдумывает несуществующие таблицы в SQLite. Также показал, что сложность схемы не гарантирует большую деградацию, а выбор кванта «по таблицам» может привести к обратному эффекту.

Читать далее

Учимся писать свой Prometheus exporter на Go с нуля. Часть 1

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

Чтобы измерять нагрузку, ошибки, задержки и потребление ресурсов, осознанно поддерживать SLO и настраивать алерты, не обойтись без Prometheus. Он принимает текстовый формат на HTTP-эндпоинте. Только вот Kafka, PostgreSQL, сетевое железо и Redis метрики по HTTP не отдают, либо понимают только JMX, SNMP и собственный REST API. Так что без переводчика не обойтись.

Всем привет! Я DevOps-разработчик из MTC Web Services. Этим материалом я открываю цикл из пяти постов, благодаря которому вы шаг за шагом напишете собственный Prometheus exporter с нуля на языке Go. Но просто написать код может и ИИ. Моя же цель — дать не только практическую, но и теоретическую основу, чтобы в будущем вы могли легко разработать свой exporter под любую задачу. 

Если вдруг вам уже знакома теория и важнее практика — заглядывайте за ней в оглавление. В качестве примера я выбрал kafka_exporter: он покрывает несколько типов источников, позволяет реализовать паттерн Custom Collector и его легко тестировать локально. А еще есть много популярных kafka_exporter, с которыми мы сможем сравнить наш результат. Код буду коммитить в репозиторий.

Читать дальше

2000+ развертываний в день: как мы строили DevOps-конвейер для 300 микросервисов и что планируем дальше

Время на прочтение8 мин
Охват и читатели6.9K

Мы в Диасофт несколько лет назад начали строить Digital Q.DevOps — внутренний конвейер сборки, тестирования, доставки и развёртывания, — и сейчас через него проходит больше 2000 развёртываний в сутки. На прошлой неделе собрали внутренний митап с разработчиками, тестировщиками и DevOps-инженерами, чтобы честно разобрать, что в продукте получилось, что до сих пор болит, и куда мы движемся.

Читать далее

Security Profiles Operator v1: стабильные API, аудит безопасности и путь в upstream Kubernetes

Время на прочтение7 мин
Охват и читатели7.2K

Linux даёт мощные механизмы безопасности уровня ядра — seccomp, SELinux и AppArmor, — которые ограничивают возможности контейнеризированных рабочих нагрузок. Если коротко: seccomp фильтрует системные вызовы процесса, SELinux и AppArmor накладывают мандатные политики доступа к файлам, сети и возможностям. Каждый из них работает через профили, которые описывают разрешённое поведение, но писать, распространять и поддерживать такие профили вручную утомительно и легко ошибиться.

Security Profiles Operator (SPO) снимает эту боль: профилями безопасности можно управлять как пользовательскими ресурсами Kubernetes, записывать их с работающих нагрузок и декларативно привязывать к подам.

С выходом v1.0.0 Security Profiles Operator переводит все восемь своих API типа Custom Resource Definition (CRD, определение пользовательского ресурса Kubernetes) на версию v1. Это первый стабильный релиз проекта, подкреплённый сторонним аудитом безопасности, полным циклом работ по усилению защиты и путём миграции без простоя с любой предыдущей версии API.

Команда VK Cloud перевела статью о том, как проект Security Profiles Operator за шесть лет довёл свои API до версии v1, прошёл сторонний аудит безопасности и теперь влияет на развитие самого Kubernetes. Это будет полезно тем, кто отвечает за безопасность кластеров — DevOps- и SRE-инженерам, специалистам по ИБ и разработчикам, которые пишут профили seccomp, SELinux и AppArmor для контейнеров.

Читать далее