Обновить
275.44

DevOps *

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

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

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

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

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

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

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

Читать далее

Новости

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

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели5.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 мин
Охват и читатели8.2K

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

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

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

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

Читать далее

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

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

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

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

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

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

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

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

поднимал WordPress в Docker

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

Как маршрутизировать на разные Redis и другие сервисы через один LoadBalancer по SNI TCP routing используя Gateway API

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

Цель статьи: Показать на практическом примере, как использовать один Load Balancer для приёма TLS-соединений и маршрутизации бинарного трафика к разным backend‑приложениям с терминацией (расшифровкой) TLS на Gateway — например, к Redis и другим TCP‑сервисам.

Как это работает:

Читать далее

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

Как я научил AI анализировать AI: observability для LLM-агентов с Langfuse

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

Как я построил систему мониторинга LLM-приложений и научил AI анализировать собственные ошибки

AI-ассистенты в IDE стали незаменимыми помощниками разработчиков, но остаются чёрными ящиками. Мы не видим что они делают "под капотом", сколько это стоит и где теряется время. В статье покажу как построить системуobservability для AI-агентов: от Cursor IDE до production, с AI-анализом трейсов и открытым исходным кодом.

Читать далее

KubeVirt: мифы и реальность об оверхедах виртуализации в Kubernetes

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

Когда заходит речь о запуске виртуальных машин в Kubernetes через KubeVirt, первый вопрос, который возникает у инженеров: «А какой там оверхед?» Давайте разберём этот вопрос детально, рассмотрев каждую подсистему отдельно: вычисления, хранилище и сеть.

Статья основана на обсуждении в профессиональном сообществе.

Читать далее

PNETLab — простая и бесплатная среда для экспериментов с сетями и инфраструктурой. Часть 1

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

Разбираем, что такое PNETLab, как он работает и чем отличается от других сетевых эмуляторов. Простое объяснение для инженеров, администраторов и студентов.

Читать далее

Eventual Consistency на практике: что делать со сложными системами?

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

Современные комплексы бизнес-приложений отличаются высокой сложностью, из-за чего могут происходить сбои - сообщения теряются, consumer’ы падают, очереди переполняются. Поделимся реальным кейсом, в котором Eventual Consistency удалось обеспечить без серьезной переработки существующих систем.

Обеспечение Eventual Consistency в сложных системах

Уже давно стандартом де-факто стали микросервисы, поэтому практически любая система представляет собой набор компонентов, взаимодействующих между собой как синхронно (например, по REST), так и асинхронно — через шины сообщений (RabbitMQ, Kafka).

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

Где именно все может сломаться

Предположим, у нас две системы:

Читать далее

DevSecOps — от кода до контейнера

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

В выпуске CrossCheck обсуждали безопасную разработку, DevSecOps и то, почему внезапно все заговорили про контейнеры, секреты и «свои базовые образы».

Читать далее

Управление рисками в проекте импортозамещения Legacy-системы: от монолита на Siebel к микросервисам на Open Source

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

Привет, Хабр! Импортозамещение в ИТ — это не просто смена вендоров или технологий. Это сложнейшая хирургическая операция на живом организме бизнес-процессов компании. Привет, Хабр! Я Станислав Тульчинский, руководитель блока кредитного корпоративного бизнеса РСХБ.Цифра. В этой статье расскажу про наш проект по замене информационной системы управления жизненным циклом залогов и договоров залога (и это не одно и тоже) по кредитам юридических лиц в банке.

Читать далее

PostgreSQL и 1С: как построить систему поиска «тихих убийц» производительности

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

Стандартный мониторинг часто пропускает «тихих убийц» — запросы, которые по отдельности кажутся нормальными, но в сумме создают аномальную нагрузку на СУБД. В итоге система живет в хрупкой идиллии до первого аврала.

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

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

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