Обновить
256K+

DevOps *

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

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

Настраиваем approve rules для merge request в бесплатной версии GitLab CE

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

Однажды к нам пришёл клиент с просьбой настроить approve rules для merge request в бесплатной версии GitLab CE. В статье я подробно расскажу, как мы подошли к решению этой задачи, какие проблемы нам пришлось преодолеть и каким образом мы смогли обеспечить соблюдение всех необходимых процессов проверки и апрувов без перехода на платную версию GitLab.

Давайте настраивать

FreeIPA tips & tricks: перенос FreeIPA из LXC-контейнера CentOS 7 в Rocky Linux, дебаг и истекшие сертификаты

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

Недавно мне довелось обновлять старую FreeIPA в большой компании. Эта FreeIPA была установлена в LXC-контейнере на CentOS 7 и находилась в нерабочем состоянии уже несколько месяцев. Мне передали бэкап LXC-контейнера для Proxmox, и я взялся за дело.

Читать далее

Мониторинг высоконагруженных систем: ускоряем обработку тысяч событий с обработчиками автоматизации в мониторинге Monq

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

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

В этом статье рассказываем, как устроена low и no-code автоматизация в Monq и как с ее помощью можно оптимизировать обработку данных высоконагруженных систем. В центре внимания – «работяги» – обработчики автоматизации. На конкретных примерах показываем, какие опции использовать, чтобы нагрузка между ними распределялась равномерно.

Читать далее

CI/CD Kubernetes платформа Gitorion. Highly Available кластер Kubernetes

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

Привет, всем! Мы продолжаем наш цикл статей про CI/CD Kubernetes платформу Gitorion. На очереди освещение шагов по построению платформы в Highly Available исполнении. Поскольку все компоненты платформы и пользовательские приложения запускаются в Kubernetes, начнем c построения Highly Avalable кластера Kubernetes. В статье разберем особенности штатной базы данных Kubernetes etcd, не позволившие избежать избыточности. Рассмотрим способ заменить etcd на SQL-базу с помощью Kine от проекта K3S и построить кластер Kubernetes высокой доступности на два дата центра, способный пережить падение любого из них.

Читать далее

Портируем видеоаналитику на новые платформы: 8 простых шагов

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

Упаковали свой опыт развертывания системы мониторинга транспортного потока — Smart Traffic System — на Rockchip и SOPHON в один стройный R&D пайплайн. Пошагово, со сроками. Как от сердца отрываем.

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

Читать далее

Что такое MLSecOps, или Как безопасность искусственного интеллекта стала заботой DevSecOps

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

Пока все повально занимаются внедрением ML в SecOps, мы пошли дальше и стали внедрять SecOps в ML. Я Светлана Газизова, работаю в Positive Technologies директором по построению процессов DevSecOps. Кстати, мы знакомы, если вы читали мою статью о том, кто такие специалисты по безопасной разработке и где на них учиться.

Что такое MLSecOps?

Как мы управляем секретами в Банки.ру: Vault HashiCorp и мечта об одной безопасной кнопке

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

Привет! Меня зовут Лев, я руководитель интеграционной разработки в финансовом маркетплейсе Банки.ру.

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

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

1. В чем заключалась проблема в управлении секретами, как мы её решили и как могли бы улучшить этот процесс.
2. Какие способы хранения секретов существуют и как их можно интегрировать.
3. Как можно реализовать хранение через Vault.
4. Что такое политики доступа и как они применяются к структурам секретов.
5. Варианты реализации, которые наилучшим образом подходят для нашей конкретной ситуации.

Читать далее

Kubernetes становится вендоронезависимым после изменения 1,5 млн. строк кода

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

В июле 2024 вышла версия Kubernetes 1.31, в которой были окончательно устранены встроенные интеграции облачных провайдеров.

Начиная с версии Kubernetes v1.7, проект Kubernetes преследовал амбициозную цель удаления встроенных интеграций облачных провайдеров. Хотя эти интеграции сыграли важную роль в раннем развитии и росте Kubernetes, их удаление было обусловлено двумя ключевыми факторами: растущей сложностью поддержания собственной поддержки для каждого облачного провайдера в миллионах строк кода Go и желанием сделать Kubernetes по-настоящему независимой от поставщика платформой.

После многих релизов, все интеграции облачных провайдеров были успешно перенесены из основного репозитория Kubernetes во внешние плагины. В дополнение к достижению первоначальных целей, удалось значительно оптимизировать Kubernetes, удалив около 1,5 миллионов строк кода и уменьшив двоичные размеры основных компонентов примерно на 40%.

Эта миграция была сложной и длительной из-за многочисленных затронутых компонентов и критических путей кода, которые полагались на встроенные интеграции для пяти первоначальных поставщиков облачных услуг: Google Cloud, AWS, Azure, OpenStack и vSphere. Для успешного завершения этой миграции пришлось построить четыре новые подсистемы с нуля:

Читать далее

Заставляем работать MinIO и Postgresql вместе

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

Всем привет, в этой статье я хочу рассказать, как у меня получилось интегрировать MinIO и Postgres, а именно, что после каждой загрузки картинки в объектное хранилище у нас появляется запись в БД.

Читать далее

Влияние MD checking на производительность и методы уменьшения влияния на работоспособность системы

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


MD (Multiple Device) — это технология в Linux, которая позволяет объединять несколько физических дисков в один логический накопитель с помощью различных схем RAID (Redundant Array of Independent Disks). mdXXX (далее md disk) — это одино из устройств, созданных с использованием этой технологии. Для определения влияния проверки состояния (checking) массива md disk на производительность системы необходимо рассмотреть несколько аспектов.

Читать далее

Введение в Apache Flink: архитектура и основные концепции. Часть 2

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

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

Вы поймёте, как можно улучшить и оптимизировать работу с Apache Flink. В частности, мы разберём важную концепцию водяных знаков (watermark), которая играет ключевую роль в обработке потоковых данных с временными метками.

Читать далее

Как сломать сисадмина

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели62K
На планете Шелезяка всё было просто: злодей подсыпал алмазную пыль в маслёнки, и вот уже роботы выведены из строя и подают сигналы бедствия. На планете Земля, в душных и кондиционированных офисах, на производствах и в больницах, на удалёнке и в серверной злые и порой недалёкие пользователи делают больно иначе: доводят системных администраторов до белого каления своими действиями и без алмазной пыли. А потом, когда уже всё работает, не то что шоколадку выпить — спасибо не услышишь! День системного администратора — самое время войти в чертоги коварства, разобраться в приёмах злодеев и спокойно пойти отмечать день, разрывая на груди футболку за свитч и разделение прав доступа.


Итак, 12 верных способов сломать сисадмина.
Читать дальше →

Внедряем CI/CD в разработку с помощью Gitlab CI

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

CI/CD помогает разработчикам сократить затраты на развертывание и настройку проектов, позволяя им сконцентрироваться на решении бизнес-задач. Gitlab — чрезвычайно мощная платформа, и мы рекомендуем присмотреться к использованию средств CI/CD, которые она представляет.

В этой статье мы рассмотрели один из самых простых сценариев использования Gitlab CI.

Читать далее

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

Как запускать WebAssembly-приложения в Kubernetes с помощью Deckhouse

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

Запускать Wasm-приложения в ванильном Kubernetes затруднительно, так как есть неудобства в настройке сред выполнения на рабочих узлах. Штатных средств недостаточно, чтобы легко конфигурировать узлы. Конечно, можно сконфигурировать один узел руками. Но если нужно обкатать различные рантаймы или большое количество приложений, то хочется максимально просто масштабировать кластер и управлять узлами декларативно. Поэтому я решил запустить Wasm-приложение в Deckhouse Kubernetes Platform (DKP). Эта платформа упрощает развёртывание и управление кластерами Kubernetes.

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

Читать далее

Клёвые фичи в Docker Compose — профили и шаблоны

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

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

В этой статье рассмотрим решение к которому пришли на примере простой Docker Compose конфигурации.

Читать далее

Введение в Apache Flink: архитектура и основные концепции. Часть 1

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

Будучи DevOps-инженером и работая с масштабируемыми облачными решениями, мне часто приходится глубоко погружаться в механизмы работы потоковых платформ. Трудно переоценить важность подробного изучения архитектуры и оптимизации обработки данных, когда речь идёт о системах вроде Apache Flink. Эта технология стала неотъемлемой частью моего инструментария благодаря её возможностям по реализации потоковых приложений.

Мы рассмотрим ключевые аспекты функционирования Apache Flink, от распределённой обработки данных до обеспечения надёжности системы в условиях возможных сбоев. Все эти элементы лежат в основе производительности и масштабируемости приложений, работающих с потоками данных.

Ещё мы подробно рассмотрим использование Apache Flink в задачах, где требуется высокая скорость обработки и точность управления данными. Особое внимание уделим изучению архитектурных основ и методов разработки высокоэффективных потоковых систем.

Материал объёмный, и поэтому я разделил его на две части. Запаситесь чаем и печеньками =)

Читать далее

Выбираем между инструкциями RUN, CMD и ENTRYPOINT

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

Для выполнения похожих задач в Docker нередко есть несколько решений. Одна запутанная область касается инструкций RUN, CMD и ENTRYPOINT Dockerfile. В этом переводе обсуждаются различия между этими инструкциями и показываются примеры их использования в форматах shell и exec. 

В чём разница между RUN, CMD и ENTRYPOINT?

Кворум кроликов или RabbitMQ Quorum

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

Заводим кворум без фундаментальщины и теории 🤷‍♂️ (думаю, что по этому поводу статей хватает). Разбираем helm bitnami/rabbitmq-cluster-operator (чуть-чуть).

К разбору

Talos Linux & VirtualBox: готовим свой Kubernetes

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

Есть множество путей развернуть свой Kubernetes. Все они разные, выбор зависит от вашего бюджета, от того, какие задачи вы планируете решать, для каких нагрузок и что в конечном итоге вы планируете получить. В этой статье мы быстро пройдёмся по различным способам инсталляции, а затем попробуем развернуть свой K8s кластер на виртуальных машинах, воспользовавшись гипервизором второго типа (VirtualBox). Но это будет не условная Ubuntu, на которую мы будем ставить необходимые компоненты, а целая операционная система, разработанная специально для Kubernetes — Talos Linux!

Читать далее

nxs-marketplace-terraform: люби и пользуйся

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

В этой статье рассмотрим процесс развертывания инфраструктуры в Yandex Cloud с использованием Terraform-модулей из репозитория nixys/nxs-marketplace-terraform. А ещё расскажем, зачем использовать динамические блоки в Terraform и почему файлы tfstate лучше хранить в S3.

Давайте разворачивать