Как стать автором
Поиск
Написать публикацию
Обновить
289.82

DevOps *

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

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

Давайте писать удобное локальное окружение…

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

Всем привет, меня зовут Аббакумов Валерий.

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

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

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

Читать далее

CI/CD Kubernetes платформа Gitorion. Canary-релизы

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

Привет всем! Перед деплоем нового релиза приложения в продакшен хорошей практикой является оценка его работы с запросами от реальных пользователей. Если разом заменить текущий релиз приложения на новый, есть вероятность в случае ошибки в программном обеспечении повредить данные большого числа пользователей или получить непрогнозируемое поведение нового релиза под нагрузкой. Чтобы избежать указанных трудностей используют Canary‑релизы — это когда рядом с актуальным релизом приложения в продакшене развертывают релиз с новой версией приложения и направляют на него часть запросов от реальных пользователей. В данной статье мы расскажем о нашем опыте внедрения Canary‑релизов в CI/CD платформу Gitorion.

Читать далее

Как исправлять ошибки в Git, не оставляя улик

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

Как же иногда хочется закинуть коммиты «Remove debug log», «fix» или «fix fix fix». Такие коммиты как грязные носки под кроватью: их не видно, пока не придёт ревьюер с пристальным взглядом или, что еще хуже, потенциальный работодатель, решивший посмотреть на ваш профиль github.

К счастью, Git предлагает два супер-инструмента для того, чтобы история коммитов выглядела так, будто ты всегда знаешь, что делаешь: git commit --fixup и git rebase --autosquash. И сегодня мы разберем на практике как это применять.

Читать далее

DEVops: Разрабатываем свой Kubernetes оператор с кастомными ресурсами на Go

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

Используете готовые операторы в Kubernetes? Я тоже... Но с какого‑то момента я начал задаваться вопросом: «а как люди их пишут?». И я нашел ответ!

В этой статье я наглядно покажу, как создать свой кастомный оператор в Kubernetes на Go при помощи kubebuilder. Оператор позволит отслеживать изменения ресурсов в кластере, а затем отправлять уведомления в Telegram или другие мессенджеры. Какие ресурсы «трекать» будем описывать через кастомные ресурсы (Custom Resource). Погнали!

Читать далее

Мой первый контейнер без Docker

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

Технологии контейнеризации, возможно, как и у большинства из нас, плотно засели в моей голове. И казалось бы, просто пиши Dockerfile и не выпендривайся. Но всегда же хочется узнавать что‑то новое и углубляться в уже освоенные темы. По этой причине я решил разобраться в реализации контейнеров в ОС на базе ядра linux и в последствие создать свой «контейнер» через cmd.

Читать далее

Что не так с chroot: почему для контейнеров используется именно pivot_root

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

В этой статье рассматриваются различия между pivot_root и chroot в контексте безопасности контейнеров. Узнайте, почему Docker отказался от chroot в пользу pivot_root и как это решение улучшает защиту от потенциальных уязвимостей.

Читать далее

CodeSigning для разработчиков под Windows по новым правилам

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

С 1.06.2023 году вступили в действие новые требования к сертификатам для подписи кода (aka CodeSigning), которые значительно осложнили жизнь разработчиков ПО. Суть изменений - прощай старый добрый PFX, закрытые ключи теперь должны быть неизвлекаемыми и некопируемыми. Примеры изменений у поставщиков: раз, два, три - в общем-то у всех одно и тоже.

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

Безопасность должна быть более безопасной

Автоматизируй всё! Настройка CI-CD в Unity для ленивых (и умных) разработчиков. Часть первая

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

Все еще собираешь билды вручную? Тогда статья идет к вам!

Привет Хабр! Я уверен, что любая команда постоянно выполняет множество рутинный задач, одна из которых создание и релиз сборок

В этой статье мы разбираемся, что такое CI/CD, какие сервисы доступны Unity-разработчикам и как сделать процесс релизов быстрее и удобнее.
Также рассмотрим как внедрение автоматизации упростило процесс релиза в нашей компании

Читать далее

Поднимаем потоковый сервис Kafka на Python

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

Всем привет, меня зовут Евгений Мунин. Я Senior ML Engineer в Ad Tech в платформе ставок для рекламы. В этой статье мы познакомимся с Apache Kafka. Мы напишем демо пример Kafka Consumer'а на Python и запустим его в облачном сервисе Confluent Cloud.

Читать далее

Что такое «правильный» ASOC?

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

Application Security Orchestration and Correlation (ASOC) – не самая тривиальная тема в реалиях отечественного подхода к обеспечению ИБ, но от этого не менее важная, и, что главное – не менее интересная. Поэтому, мне, кажется, мое мнение, как практикующего devsecops-инженера будет не лишним для развития appsec, пусть не в стране, но хотя бы в Хабр-сообществе.

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

Читать далее

Как собрать ETL-процессы в Apache Airflow и перестать страдать

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

Оркестрация процессов в Apache Airflow — мощный инструмент для управления данными. Но как внедрить его так, чтобы процессы стали прозрачными, гибкими и удобными для команд? Как организовать ETL-пайплайны, чтобы они легко масштабировались и адаптировались под нужды аналитиков, ML-инженеров и других специалистов?

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

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

Читать далее

Omnia Metria in SAR Collecta — Мониторинг Linux с SAR: обширное описание метрик и как их читать

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

Состояние сервера можно условно сравнить со здоровьем человека: оно у всех разное и умирают все от разных причин. Пульс, давление, температура — это показатели, которые помогают в диагностике нас. В мире Linux эти показатели: CPU, использование памяти, работа дисков и прочее. Как и в медицине, мониторинг можно проводить в реальном времени или анализировать уже собранные данные.

Если у человека проблема с сердцем 🩺, врач может сделать ЭКГ прямо сейчас, но если нужны показатели за длительный период, нужен суточный мониторинг ЭКГ по Холтеру, который может показать, например, проблемы ночью. В Linux этим занимается набор инструментов sysstat, в состав которого входит, в том числе, утилита sar, которая помогает визуализировать данные в логах /var/log/sysstat/.

Разделы:

Часть I. Установка и настройка sysstat.

Часть II. Пример использования sar для чтения из логов двух нод Kubernetes — умозрительный пример.

Часть III. Команда sar и диагностика проблем: описание метрик и что они означают, наглядные таблицы. Описание проблем.

Читать далее

Как мы устанавливали community-чарт Sentry в Kubernetes

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

В статье делимся опытом внедрения community-чарта Sentry в Kubernetes-кластере. Мы рассказываем о том, почему было принято решение использовать именно этот чарт и какие сложности возникли в процессе установки. Вы узнаете об изменениях, которые пришлось внести для повышения отказоустойчивости и производительности Sentry. А ещё мы делимся опытом использования инструмента werf для деплоя чартов и хранения секретных значений.

Читать далее

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

Вышел GitLab 17.8 с улучшенной безопасностью репозиториев реестра контейнеров

Уровень сложностиСредний
Время на прочтение18 мин
Количество просмотров2.3K
Читать дальше →

Анализ логов Mikrotik в Loki и VictoriaLogs в домашних условиях

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

Со времен поднятия mktxp из взятой там же инструкции поднял на своем домашнем сервере и Loki, и, так как по инструкции оттуда не получилось настроить что бы микротик отсылал логи прям в Loki, еще Promtail. Добавил их деплой через docker compose в свои ансибл плейбуки для домашнего сервера, добавил дефолтную дашборду в графану, потом еще в плейбуки добавил ротацию, потому что в день микротик накидывал 2,5 миллиона строк в 500MB логов и забыл. А дня 3 назад перевел мониторинг на Prometheus на том же сервере на VictoriaMetrics, офигел от того что моя 100 дневная база Prometheus размеров в 47G превратилась в 16G, увидел что есть VictoriaLogs и решил заoдно посмотреть в нее, а так же поиграться c Loki и Promtail, мне там очень не нравилось что логи хранятся и в тексте и в Loki. Итак...

Читать далее

Как запустить публичный сайт на телефоне или экономим на спичках

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

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

Читать далее

Книга: «Kubernetes для разработчиков»

Время на прочтение7 мин
Количество просмотров6.6K
Привет, Хаброжители!

Насколько досконально нужно изучить платформу Kubernetes профессиональному разработчику, чтобы произвести развёртывание в системе эксплуатационного уровня? Достаточно познакомиться с «Kubernetes для разработчиков».

По своей сути это обучающее руководство, в котором пошагово показан весь процесс разработки и развёртывания простого контейнеризированного приложения. Для изучения не обязательно иметь предварительные знания о Kubernetes или использовании контейнеров. В книге сначала разбирается, как запустить и сделать доступным в Интернете простейший контейнер, а затем идёт постепенное погружение в такие дополнительные концепции Kubernetes, как stateful-приложения и очереди фоновых задач.

Эта книга поможет вам начать свое путешествие с Kubernetes!
Читать дальше →

Как GitLab с Liquibase миграции в ClickHouse везли

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

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

Сегодня я расскажу, как с помощью Liquibase, GitLab и немного Python настроить прозрачный, безопасный и удобный процесс миграций для ClickHouse кластера .

Читать далее

Рецепты для регулярного статического анализа кода

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

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

Читать далее

Автоматизировать управление инфраструктурой в облаке: почему мы решили разрабатывать свое решение

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

Привет, Хабр! Меня зовут Захар Пикуль, я руковожу в СберТехе отделом сопровождения инфраструктуры тестовых сред. Созданием и внедрением ИТ‑решений в компаниях различного размера и уровня я занимаюсь уже более 15 лет.

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

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

Читать далее

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