Обновить
283.2

DevOps *

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

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

Hardening контейнеров: некоторые настройки которые игнорируют

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

Контейнер — не виртуальная машина. Между контейнером и хостом тонкая стена: общее ядро, общие ресурсы, минимальная изоляция по умолчанию. Стандартный docker run запускает процесс с root правами внутри контейнера и доступом к большинству системных вызовов.

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

Читать далее

Новости

Унификация деплоймента сервисов в k8s с помощью Ansible Templates

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

Всем привет! Меня зовут Рома, я DevOps в команде «Платформа» в Банки.ру.

Одна из наших задач: развитие системы управления релизами сервисов (которых у нас уже больше 600). Мы не раз сталкивались с ситуацией, когда на первый взгляд небольшое изменение процесса, затрагивающее сразу много сервисов, приводило к необходимости править сотни файлов.

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

Читать далее

Универсальный AI-агент с поддержкой skills и практические сценарии

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

Разработка AI-агентов сегодня — одна из самых «горячих» тем в IT. Кодинг-агенты уже оформились в отдельный класс продуктов с понятными лидерами: терминальные (Claude Code, Opencode) и IDE-ориентированные решения (Cursor, плагины для VS Code и т.д.).

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

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

Читать далее

Забываем про ручное создание ВМ: как автоматизировать Proxmox с Terraform

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

Автоматизируем создание виртуальных машин в Proxmox с помощью Terraform: от подготовки единого образа и настройки провайдера до управления инфраструктурой как кодом и хранения state в GitLab.

Читать далее

Как построить структуру корпоративной базы знаний с нуля: Outline + Event Storming

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

Несколько месяцев назад я опубликовал статью про использование Outline для корпоративной базы знаний. Теперь хочу описать некоторые процессы подробнее.

Сегодня речь пойдет про основы создания такой базы знаний. Опишу кратко применение метода Event Storming, ревью структуры, регламент по ведению БЗ.

Изучить вопрос

Параллелизация pytest: от xdist до Kubernetes

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

Тесты — это хорошо. Медленные тесты — это CI на 40 минут и разработчики, которые забывают их запускать локально. Разберём, как ускорить pytest от простого -n auto до распределённого запуска в Kubernetes.

Читать далее

Claude Code научился запоминать задачи — но нужна одна настройка

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

Персистентные Tasks, субагенты на общем списке, зависимости между задачами — разбираем обновление и подводные камни.

Читать далее

Продолжение эксперимента: где автономный агент теряет слой в Kubernetes

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

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

Если в предыдущем эксперименте слои выглядели так:

Читать далее

Старые Mac mini, Proxmox и немного упрямства: как я собрал свою инфраструктуру вместо облака

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

В каждом офисе есть кладбище техники. У нас это были старые Mac mini — аккуратно сложенные, тихие, бесполезные. Когда-то на них работали, потом они перестали тянуть современные задачи, а дальше стандартный сценарий: «Давайте не выкидывать, вдруг пригодятся».

Как оказалось, пригодились.

Привет, Хабр! Меня зовут Николай, я занимаюсь выстраиванием инфраструктуры в web-продакшне RocketDev. В этой статье я расскажу, как дал вторую жизнь офисному железу и приспособил его для рабочих задач.

Читать далее

Скрипт полной миграции из GitLab на свой сервер и настройка Git для одновременного fetch/push в несколько remotes

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

1. Что сделал?
Переехал с GitLab на свой сервер, написал свой python-скрипт, который мигрирует не просто все репозитории, но и настройки, описания, картинки(done) и мердж/пулл-реквесты(in-progress). Бонусом настроил простой git fetch/push одновременно на все GitLab, GitHub, ... remotes.

2. Зачем?
Локальный сервис независим от РКН, КВН, "чебурнета" и гео-блокировки аккаунта, бэкап под контролем, без опасения утечек из облаков по независящим причинам.

3. Как?
Когда у тебя несколько десятков pet-проектов на Gitlab/Github, для каждого копи-пастить git clone/push --mirror со многими параметрами и вручную копаться в web интерфейсах откровенно "скучно и лениво".

В статье: поиск решения по полной миграции, комментарии по коду и настройки скрипта. Вторую часть по мульти git fetch/push оформляю

Гуглил похожие решения, не нашел. В итоге написал свое.

Читать далее

Автопродление TLS тоже ломается

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

Текст в ленте: Много лет индустрия информационной безопасности старается улучшить стандарты шифрования в сети двумя способами:

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

сокращение сроков выдачи сертификатов SSL/TLS, чтобы стимулировать пользователей внедрять автоматические процедуры/скрипты для автопродления сертификатов, чтобы исключить «человеческий фактор» и забывчивость сисадминов, которые забывают менять сертификаты.

Но иногда этого недостаточно. К сожалению, автоматические скрипты продления сертификатов тоже могут выйти из строя.

Читать далее

Второй уровень автономности ИИ: агент сам управляет облаком и администрирует ВМ по SSH

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

Я решил проверить следующий уровень — может ли ИИ не советовать, а выполнять действия сам.

В этом эксперименте ИИ:

управлял Yandex Cloud через yc

сам создавал ВМ и Managed PostgreSQL

сам подключался по SSH к ВМ

администрировал сервер

поднимал WordPress в Docker

и подключал его к базе, созданной в облаке

Без Terraform.
Без Ansible.
Без ручного выполнения команд человеком.

Это не туториал и не реклама.
Это практическое исследование второго уровня автономности ИИ, где агент реально работает в инфраструктуре, а человек остаётся в контуре управления.

Читать далее

BareMetal CI Part 3: Ansible-коллекция для установки инструментов разработчика

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

Автоматизируете настройку Linux для embedded-разработки? Я собрал Ansible-коллекцию, которая за пару минут установит arm-none-eabi-gcc, J-Link, can-utils и драйверы PEAK CAN на любую машину. Больше никаких ручных команд и забытых зависимостей — всё одной кнопкой, с поддержкой CI/CD.

Читать далее

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

Как мы сократили объем данных в 10 раз, не повредив пользовательскому опыту, или переезд Postgres → ClickHouse

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

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

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

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

Читать далее

От прямых правок к CI/CD: как мы внедрили миграции MSSQL через GitLab при помощи ИИ

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

Представьте: вы работаете в крупной компании с федеральной сетью. У вас более 300 баз данных Microsoft SQL Server, сотни тысяч объектов — таблиц, процедур, функций, триггеров. Значительная часть бизнес-логики реализована с использованием cross-database references и распределённых запросов через linked servers, что создаёт сложные зависимости между объектами на разных базах и даже серверах.

А теперь представьте, что все изменения в схему вносятся напрямую в production — через SSMS, без версионирования, без ревью, без возможности отката.

Звучит как кошмар? Но именно так работала наша команда более 10 лет.
«Так исторически сложилось» — и это было нормой. Такой подход неизбежно порождал инциденты: от локальных нарушений целостности данных до масштабных простоев, напрямую влияющих на выручку и репутацию компании.

Мы поняли: нужно внедрять CI/CD. Но главная проблема оказалась не в технологиях — а в людях.

Читать далее

Написать свой tmux плагин — что может быть проще?

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

Для меня tmux - это не просто терминальный мультиплексор, это центр моей консоли: чтобы я не намеревался сделать - открытие новой панели будет моей стартовой точкой, особенно когда дело касается Kubernetes.

И вот однажды, в момент очередного использования kubectl config current-context появилась идея - "а не научить ли tmux показывать мой контекст?"

Так появился небольшой tmux-плагинчик, а так же сама эта статья, в которой я покажу и расскажу как это просто - написать плагин для tmux, надеюсь будет увлекательно.

Читать далее

Как работать разработчиком, когда твой мозг — нестабильная сборка

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

Мой мозг работает не так, как у большинства. Он не сломан — он просто собран по другой схеме. Годы на стимуляторах перепрошили нейронные связи. Теперь, чтобы функционировать в "нормальном" режиме, приходится принимать седативы. Парадокс: успокоители — чтобы думать. Потому что без них мысли несутся со скоростью, которую невозможно контролировать.

Читать далее

DevOps для джунов: кто ты такой и почему от тебя ждут всё

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

Если верить вакансиям, DevOps — это человек-оркестр: он пишет пайплайны, чинит Kubernetes, настраивает облака, знает Linux на уровне ядра, умеет в безопасность, автоматизацию, мониторинг и, на всякий случай, может заменить бэкендера, когда тот ушёл в отпуск. Желательно за зарплату джуна и с готовностью выходить на алерты в три часа ночи. Реальность, к счастью, чуть менее драматична. Но и чуть более сложна, чем рассказывают на вводных курсах (привет тем, кто решился вкатится по быстрому). В этой статье разберёмся, кто такой DevOps на самом деле, почему от него действительно ждут «всего и сразу» и где заканчивается адекватное ожидание, и начинается фантазия работодателя.

Читать далее

Docker для QA-инженеров

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

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

Читать далее

10 лет werf: путь, который мы прошли вместе

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

10 лет назад мы запустили проект под названием dapp. Сегодня он известен как werf. За это время — тысячи коммитов, сотни релизов, переход на Go, Helm, CNCF, Nelm…

Собрали всю историю в одной статье — от первого Ruby-скрипта до экосистемы Open Source-инструментов.

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

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