
В программировании часто приходится писать программные компоненты, которые, в общем очень похожи друг на друга по своей структуре и API.
В заметке я представил простую утилиту r.exe для авто-замены токенов в файлах и названиях файлов.
Методология разработки программного обеспечения
В программировании часто приходится писать программные компоненты, которые, в общем очень похожи друг на друга по своей структуре и API.
В заметке я представил простую утилиту r.exe для авто-замены токенов в файлах и названиях файлов.
В Kubernetes 1.28 появилось новое поведение: init-контейнеры теперь могут иметь поле restartPolicy
(KEP 753). Это позволяет явно указать kubelet’у, что такой контейнер следует считать сайдкаром, а не классическим init-контейнером. В Kubernetes 1.33 эта долгожданная фича наконец получила стабильный статус. Разбираемся, что такое сайдкар-контейнеры и когда их лучше использовать.
Представьте, что вы разработали программное обеспечение. Все идеально: код отточен, тесты пройдены, система готова к работе. Но тут встает вопрос: как отправить документацию заказчику?
Всем привет! Меня зовут Катя, я развиваю Gramax, open source-платформу для управления технической документацией. В этой статье хочу поделиться впечатлением от стандартных способов передачи документации на заказную разработку. А также рассказать о том, как этот процесс можно автоматизировать с помощью Gramax.
Привет, постоянные и не очень читатели!
Помните фразу «Хьюстон, у нас проблемы?». Как раз в той пилотируемой экспедиции (Аполлон-13) был применён первый цифровой двойник в истории — только без интернета и облаков. Сегодня же эта технология ушла далеко вперёд: симуляции помогают проектировать ЦОДы, тестировать масштабные сети и предсказывать сбои до того, как всё сгорит.
В свежем лонгриде на Хабре я рассказываю:
Что такое цифровые двойники, откуда идея — и как они экономят миллионы (про недостатки тоже есть);
Где цифровые двойники уже используют на полную;
Почему мониторинг, CMDB и наблюдаемость — это детский сад по сравнению с полноценным двойником.
Приятного чтения!
Чем быстрее прогресс RISC-V, тем острее встает вопрос адаптации ПО под эту архитектуру. Например, инструментов для работы с микросервисами, без которых уже сложно представить современную разработку. Есть ли место контейнеризации в открытой архитектуре?
Под катом вас ждет тестирование современных инструментов оркестрации — Kubernetes, K3s и Docker Swarm. Мы — команда совместной лаборатории «Технологии программирования» Санкт-Петербургского политехнического университета Петра Великого и YADRO — попробовали запустить их на микрокомпьютере Lichee Pi 4A и оценили их производительность.
Это история о том, как я устал держать в голове инфраструктуру по всем своим проектам.
Прод падает — а ты тратишь время на то чтобы вспомнить где лежит Grafana, где настраивается DNS, чей Docker Registry мы используем, есть ли у нас CDN и какой.
В итоге я запилил легковесное решение чтобы разобраться с вопросом системно, а не просто наклепать закладок в браузере.
Мы все знаем, что Hashicorp Vault — это фактический стандарт для хранения секретов, а Kubernetes — для размещения приложений. Но как подружить их вместе? Существует множество инструментов для интеграции Vault с Kubernetes, и каждый из них имеет свои плюсы и минусы. Как выбрать подходящий?
В этой статье, созданной по мотивам выступления на DevOpsConf’25, вы узнаете о самых популярных инструментах доставки секретов из Hashicorp Vault в Kubernetes, таких как External Secrets Operator, Hashicorp Vault Secrets Operator, Hashicorp Vault Agent Injector, Hashicorp Vault CSI Provider, Bank Vaults-Vault Secrets Webhook. Для каждого инструмента будет приведён пример настройки, объяснено, как именно секрет попадает в приложение, а также мы с вами сравним их с точки зрения ротации секретов и удобства использования.
Меня зовут Михаил Кажемский, я Lead DevOps из Hilbert Team. Я в IT уже больше 10 лет и пришёл в DevOps из разработки, поэтому побывал по обе стороны баррикад. Соавтор ряда курсов для инженеров на Яндекс Практикум по направлениям DevOps, Security и Data. Hilbert Team — провайдер IT-решений для крупного и среднего бизнеса в области облачных технологий, DevOps, DevSecOps, DataOps, MLOps и FinOps. Партнёр Yandex Cloud со специализацией Yandex Cloud Professional по направлениям DevOps и Data Platform.
Привет, Хабр. Меня зовут Виктор, я Big Data Engineer в antifraud-направлении. В этом посте хочу рассказать о том, как мы выстраивали процесс обнаружения подозрительных паттернов поведения в ставках на зарубежной БК-платформе DoseSports — без воды и маркетинга. Только архитектура, фичи, модели и выводы.
Привет! Я Андрей Квапил (или kvaps) и в этой статье я опишу наш путь организации доставки приложений в Kubernetes, объясню недостатки классического GitOps в локальной разработке и покажу, как новая утилита cozypkg решает эти проблемы. Материал рассчитан на разработчиков, знакомых с Helm и Flux.
У нас есть общий репозиторий — в нем мы описываем общую конфигурацию всех компонентов, а также темплейты для их деплоя. Для того чтобы максимально упростить процесс поддержки каждого из компонентов, мы следуем определенному процессу.В основе этого процесса лежит идея о том, что каждый компонент — это Helm-чарт.
Контейнерные технологии, такие как Docker и Kubernetes, стали стандартом для развертывания приложений в облаке. Они обеспечивают изоляцию, переносимость и масштабируемость, но также вносят новые сложности в кибербезопасность. Одна из таких проблем — «дрейф контейнеров» (container drift) — ситуация, когда работающий контейнер постепенно отклоняется от своего исходного состояния.
В этой статье мы исследуем, как возникает дрейф контейнеров, какие риски он представляет и как его можно обнаружить с помощью форензик-анализа.
Работа без логов, это как вождение автомобиля вслепую. Ехать можно, но недолго и не туда.
Почти в каждом проекте логи нужны. И нужны инструменты, которые умеют с ними работать. А с этим исторически у нас была проблема.
В облаке Amvera, проекты пользователей, в большинстве своём, небольшие. А инструменты на рынке, такие как Elasticsearch очень требовательны к выделяемым ресурсам и сложны в настройке.
Странно поднимать телеграм-бота, который потребляет 100 мб. оперативной памяти и ставить для его логов Elastic на 16 Гб.
Логичным решением является создание мультиарендной системы. Когда мы собираем логи в какой-то большой базе данных, и каждому пользователю даём доступ только к его логам. Звучит замечательно, но на практике реализовать это не так легко. На создание приемлемого решения у нас ушло несколько итераций. И мы хотим поделиться опытом, чтобы другие не наступали на наши грабли и могли сделать сразу хорошо.
Привет, Хабр! Меня зовут Анатолий Кохан, я — DevOps-инженер в К2Тех.
Когда мы вводим в браузере имя сервера или доменное имя сайта, выполняем ping или запускаем любое удаленное приложение, операционная система должна преобразовать указанные имена в IP-адреса. Этот процесс называется разрешением доменного имени. На первый взгляд он может показаться весьма прозрачным, однако за ним скрывается многослойный механизм.
Данная статья — начало серии, посвященной низкоуровневой архитектуре разрешения имен. Поговорим о том, как устроен этот процесс в Linux на уровне ядра, различных библиотек C и системных вызовов.
Сегодня поговорим о том, что многие делают, но мало кто делает правильно — о безопасной разработке и DevSecOps. Для этого мы пригласили Романа Гаголушко, руководителя отдела консалтинга безопасной разработки в Бастионе. Передаем ему слово.
Небольшой дисклеймер.
За годы работы в сфере безопасности разработки я насмотрелся:
— на вопиющие случаи игнорирования базовых принципов безопасности (и не только при разработке);
— на неэффективные попытки внедрения Dev «Sec» Ops;
— на откровенную и безрезультатную имитацию бурной деятельности;
— на такую же безрезультатную трату бюджета при закупке неподходящих инструментов анализа кода;
— на безразличие;
— на нежелание видеть очевидные вещи;
— на непонимание ИБ и БР со стороны разработки.
В этой статье я расскажу о типичных ошибках компаний, которые совершают все (от маленьких и не очень стартапов до больших и не очень корпораций), поделюсь практическими советами по организации процессов безопасной разработки. Напоследок расскажу, как обстоят дела с регулированием, и немного поговорю о трендах.
Всем привет. Название статьи говорит за себя, добавлю лишь, что расскажу об объединении IGA, PAM и Vault. Статья будет интересна DevSecOps-инженеров, специалистов по безопасности и администраторов инфраструктуры.
Привет Хабр!
Я обожаю сокращать ссылки через собственный URL shortener. Это как clck.ru, только всё работает на собственной архитектуре и данные об использовании никуда не утекают. При этом домен я тоже могу поставить какой-нибудь красивый (к примеру - hdla.cloud).
Настройка оповещений для различных метрик не всегда представляет из себя тривиальную задачу. В некоторых случаях может быть вполне достаточно простого порогового значения, например, для отслеживания свободного места на диске устройства. Вы можете просто установить оповещение о том, что осталось 10% свободного места, и все готово. То же самое касается и мониторинга доступной памяти на сервере.
Однако что делать, если необходимо отслеживать поведение пользователей на веб‑сайте? Представьте, что вы управляете интернет‑магазином, где продаете товары. Одним из подходов может быть установка минимального порога для ежедневных продаж и проверка его раз в день. Но что, если вам нужно выявить проблему гораздо раньше, в течение нескольких часов или даже минут? Статичный порог не позволит этого сделать, так как активность пользователей может меняться в течение дня. Именно здесь на помощь приходит обнаружение аномалий.
Чтобы понять, что такое контейнер, достаточно знать, что такое namespace и cgroups. Потому что эти два механизма обеспечивают изоляцию и распределение ресурсов для процессов в Linux.
Привет, Хабр! Меня зовут Никита Николайчук, и я преподаю на курсе «Сетевой инженер». В этой статье мы подробно рассмотрим протоколы FHRP, которые обеспечивают отказоустойчивость сетевых шлюзов, а также разберемся, как HSRP, VRRP и GLBP помогают минимизировать потери трафика при сбоях. Вы узнаете о тонкостях их реализации и о том, как избежать распространенных ошибок при настройке этих протоколов.
KubeVirt — это расширение для Kubernetes, которое позволяет запускать виртуальные машины внутри K8s-кластера. Именно эта технология, пусть и существенно доработанная, лежит в основе Deckhouse Virtualization Platform. Недавно наша команда встретила статью Дина Льюиса, которая отлично объясняет внутреннее устройство KubeVirt, принципы его работы и то, как они соотносятся с более привычными многим концепциями vSphere. Мы решили перевести её для сообщества.
Под катом — перевод этого масштабного труда, который поможет получить чёткое представление о KubeVirt и принять взвешенное решение о его внедрении.
Нам часто пишут пользователи, которые хотят мониторить качество каналов связи — не просто проверять “доступен ли хост”, а действительно оценивать стабильность сети и реагировать на деградации. Один из таких пользователей недавно подключил мониторинг для нескольких регионов, и его запрос дал нам полезный импульс для доработок.
Рассказываем, какие улучшения появились в RMON.