Как стать автором
Обновить
181.61

DevOps *

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

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

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

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

Всем привет

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

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

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

Новости

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

При работе с кластерами 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 мин
Количество просмотров1K

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

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

Читать далее

Сложная оркестрация

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

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

Читать далее

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

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

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

Читать далее

Основы по GNU Make

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

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

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

Читать далее

Распределённый инференс и шардирование LLM. Часть 3: настройка авторизации и интеграция с Open WebUI

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

Мы с вами подобрались к заключительной части статьи-инструкции об организации распределённого инференса и шардирования LLM в домашних условиях. Осталось совсем чуть-чуть — в финальной главе разберёмся, как развернуть Open WebUI через Helm и связать его с нашим Ray-кластером. Это даст возможность настроить авторизацию и удобный интерфейс для взаимодействия с нашей моделью.

В конце статьи попросим домашнюю LLM подвести итоги всей проделанной работы, а также поговорим о планах по развитию проекта.

Читать далее

Управление отставанием lag в Kafka Consumers: как не просто замерить, а стабилизировать

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

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

Сегодня рассмотрим, почему отставание у Kafka-консьюмеров — это не просто строчка в kafka-consumer-groups, а метрика, от которой зависит SLA вашего сервиса. Рассмотрим, как её считать без самообмана, как соорудить собственный мониторинг на Python и Go, а главное — чем именно тушить всплески lag’а: throttle, autoscale и backpressure.

Читать далее

Интервью без стресса: как в Рунити нанимают DevOps-инженеров

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

Привет, Хабр! Мы в Рунити верим, что собеседование — не гонка за правильными ответами, а диалог на равных. В этом интервью расскажем, как мы нанимаем DevOps-инженеров в команду. Внутри о том, что мы предлагаем кандидатам вместо стресс-интервью, замысловатых тестовых и бесконечных этапов отбора. От нас — внимание к глубине опыта и интерес к подходам кандидата. 

Эксперты Рунити — Анна Попова, рекрутмент-партнер, и Тимур Парфенов, директор департамента эксплуатации, поделятся тем, как мы оцениваем инженеров, на что смотрим в резюме и какие навыки стоит подсветить. Приятного «разворачивания» статьи! 

Читать далее

Моя попытка №2. Как мы тестировали совместимость платформы контейнеризации с Astra Linux

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

В 2023 году мы впервые попытались запустить платформу dBrain.cloud на Astra Linux версии 1.7 Special Edition. Первая попытка оказалась неудачной.

Читать далее

Как Kubernetes управляет жизненным циклом подов

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

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

Однако особенно важно понимать, что завершение работы пода — это очень нетривиальный процесс. Это не просто «удаление контейнера», а целая процедура, включающая в себя механизмы graceful shutdown, взаимодействие с контроллерами, корректную работу с сервисами и многое другое.

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

Читать далее

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

Terraform уже не тот? Как Pulumi меняет правила игры в Infrastructure as Code

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

Привет, Хабр! Сегодня поговорим про инфраструктуру как код. Почему Terraform уже не единственный игрок в мире IaC, а Pulumi становится всё более актуальным. Я расскажу, как эти инструменты работают, чем отличаются, и почему стоит присмотреться к Pulumi, особенно, если вы хотите гибкости и мощи в управлении облаками.

Читать далее

Распределённый инференс и шардирование LLM. Часть 2: скрипт vLLM, Ray Serve для вывода API и настройка KubeRay Cluster

Уровень сложностиСложный
Время на прочтение14 мин
Количество просмотров1.8K

Продолжаем пошагово разбираться с ответом на вопрос о том, как эффективно работать с передовыми LLM, используя доступное оборудование и распределённые вычисления. 

В первой части статьи мы подготовили всё необходимое для развёртывания распределённого инференса с Ray Serve и vLLM. Сегодня этим и займёмся. Мы напишем скрипт vLLM, используем Ray Serve, чтобы предоставить внешний HTTP API, а также настроим KubeRay Cluster и развернём в нём Gemma 3.

Вперёд!

Kubernetes в продакшене: основные понятия и вопросы на собеседовании

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

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

Читать далее

Домашняя серверная для DevOps: установка GitLab + Let's Encrypt

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

Привет! Это Александр, DevOps инженер команд Страхования в Банки.ру. Продолжаю серию статей про домашний сервер. В прошлых материалах я рассказал о выборе железа, сборке и настройке NAS и серверов для дома. В этой и последующих статьях опишу установку нужного софта в домашнюю серверную. Для этого вам, возможно, понадобится VPN на виртуальных машинах или на уровне всей домашней сети (у меня второй вариант).

Начать я бы хотел с установки GitLab. На данный момент у меня достаточно ресурсов, чтобы хостить GitLab и другие сервисы, которые использует DevOps-инженер. Но для чего мне нужен GitLab? Тут всё очень просто: в своей работе я использую подход Infrastructure as Code (IaC) — инфраструктура как код. При таком методе конфигурация инфраструктуры описана в файлах в репозитории, который хранит историю изменений.

В итоге из хранилища можно как развернуть нужный софт за считаные минуты, так и вспомнить,  что мы коммитили в репозиторий. GitLab требованиям этого подхода отвечает. К тому же у платформы широкий функционал, который понадобится мне в будущем (CI/CD, например, или хранение terrafrom state в самом GitLab).

Читать далее

BookStack: мой опыт настройки и использования open-source базы знаний

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

Как я поднял базу знаний за 15 минут — без бюджета и опыта

Почему я выбрал именно BookStack

Мы в команде давно искали удобный инструмент для хранения технической документации и инструкций. Пробовали всё подряд — от Wiki.js до Confluence. Но то санкции, то интерфейс перегружен, то кастомизация страдает. В какой-то момент я наткнулся на BookStack — лёгкую, симпатичную open-source платформу на Laravel. Решил попробовать. В итоге — развернул, настроил, и теперь она у нас в проде.

Читать далее

Разворачивание инфраструктуры OpenCTF для AppSecFest 2025

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

AppSecFest — это ежегодное событие, где передовые подходы к разработке и защите приложений формируют будущее технологий.

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

Но также нами была организована CTF зона, где каждый мог почувствовать себя в роли кибербезопасника и испытать свои силы в более чем 30 подготовленных заданиях по различным разделам.(Web, Crypto, Revers Engeneering, Osint, Mobile Security)

Для разворачивания полноценной инфраструктуры, мы решили выбрать облачную платформу Ps Cloud Services. По итогу не пожалев о выборе, стабильность работы нашей инфраструктуры была хороша :-)

Далее хотелось бы также поделиться, тем как мы настраивали и что использовали для полноценной работы сервисов, начиная от настройки VPN заканчивая система защиты.

Читать далее

Как настроить автоматическое обновление SSL-сертификатов Let’s Encrypt с помощью Certbot на Ubuntu

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

Пошаговое руководство по автоматической генерации и обновлению SSL-сертификатов на Ubuntu с помощью Let’s Encrypt и Certbot. Примеры, cron-задачи, systemd-таймеры и кастомные bash-скрипты — всё, что нужно для бесперебойной работы HTTPS.

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

Работа

DevOps инженер
30 вакансий