Обновить
256K+

DevOps *

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

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

Сохранение и восстановление версии бакета объектного хранилища MinIO S3 с учетом содержимого и конфигурации

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

Меня зовут Михаил, я работаю в Magnit Tech и занимаюсь внедрением 1C платформы на операционную систему Linux. В этой статье я расскажу, как реализовать создание резервных копий бакетов S3-совместимого объектного хранилища MinIO.

(Сразу дам спойлер: нам удалось это сделать с наименьшими затратами места на диске с использованием инкрементальных бэкапов).

Читать далее

Как Kubernetes стал основой внутренней платформы в Mercado Libre

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

В статье — реальный опыт перехода от классических облачных инстансов к Kubernetes и созданию абстракции Serverless, которая полностью избавила разработчиков от забот об инфраструктуре. Узнайте, как это повлияло на скорость релизов и стабильность сервисов Mercado Libre.

Читать далее

4 бесплатных часа GPU в день: JupyterLab на PrimeWay за пару кликов

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

Небольшая инструкция, как открыть полноценный JupyterLab-сервер на выделенной A100 / A40 и получить до 4 бесплатных часов в день.

Читать далее

Скрипт, который следит за тобой: автоматический аудит действий в Linux

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

Привет, Хабр! В данной статье хочу разобрать auditd - полезный инструмент аудита в Linux, который записывает каждое действие, а скрипт превратит логи в читаемые отчёты и алерты.

Linux-сервер без мониторинга активности пользователей — как дом с открытыми окнами. Проблемы, которые помогает решить auditd:

Несанкционированный доступ (кто и когда использовать, например, sudo)
Подозрительные команды (rm -rf, изменение прав, доступ к каким-либо файлам)
Расследование инцидентов (кто что натыкал перед падением сервера)
Соответствие корпоративным стандартам (возможно, ИБ требует логирования действий или вы любите контроль)

Решение: auditd + Python-скрипт для анализа и алертов.

Читать далее

Как использовать topic exchange в RabbitMQ для роутинга по шаблонам

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

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

Сегодня разберём один из самых гибких инструментов в RabbitMQ — topic exchange. Именно он позволяет не просто отправить сообщение «куда‑то», а превратить очередь в маршрутизатор уровня BGP, но только внутри твоей системы.

Читать далее

Как работает DNS в Linux. Часть 2: все уровни DNS-кэширования

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

В первой части мы разобрали, как в Linux работает процесс разрешения имен — от вызова getaddrinfo() до получения IP-адреса. Однако если бы каждый вызов требовал нового DNS-запроса, это было бы неэффективно и сильно нагружало как систему, так и сеть. Поэтому используется кэширование.

Кэширование DNS может быть везде — в glibc, в systemd-resolved, в браузерах и даже в приложениях на Go. Кэш помогает увеличить скорость работы, но создает дополнительные сложности при отладке. Например: вы меняете DNS-запись, но сервер продолжает ходить по старому IP-адресу. Или, Dig показывает правильный адрес, а curl всё равно подключается к устаревшему.

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

Читать далее

Мультитенантность в Kubernetes: возможные подходы и инструменты

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

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

Меня зовут Алиса, и я руковожу командой разработки контейнерной платформы «Штурвал». В последнее время мы с командой много работали над реализацией мультитенантности и перепробовали множество разных вариантов. Ниже я расскажу, как тенанты помогают закрыть «боли» при работе с K8s на примере трех проблем и поделюсь полезными инструментами.

Эта статья будет интересна тем, кто:

👉 «с ноги» врывается в свой первый кубер;
👉 самостоятельно строит Kubernetes-платформу;
👉 управляет одним или множеством кластеров K8s.

P. S. 31 июля в Москве состоится первая независимая конфа Kubernetes Community Day. Два пространства с хардкорными докладами и воркшопами от крутых экспертов из VK, МКБ, Yandex Cloud, «Лаборатории Числитель», ecom.tеch, Cloud ru, Luntry, FUN&SUN, Lamoda Tech и др. Участие бесплатное. Регистрация тут.

Читать далее

Безопасная разработка как игра в Dungeons & Dragons

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

Привет! 👋 Меня зовут Алина. Я маркетолог и давно работаю в ИТ, но с безопасной разработкой познакомилась только когда пришла в продуктовую студию по кибербезопасности Axel PRO. И знаете, эта область заинтересовала меня в процессе работы. А еще у меня есть интересное хобби — я люблю играть в Dungeons&Dragons, иначе говоря — ДНД 🎭. И вот что я заметила: процесс разработки ПО очень похож на эту игру. Сейчас расскажу, почему.

Представьте, что разработка ПО — это ваша игра в Dungeons&Dragons. Вы собрали отряд: разработчиков, тестировщиков, продакт‑менеджеров, выбрали для них роли и отправились в приключение — создавать крутой продукт 🚀.

Но вот загвоздка: пока вы исследуете подземелья (пишете код) 🏰, на каждом шагу вас поджидает разная нечисть — уязвимости‑ловушки 🕳️, баги‑драконы 🐉 и орки‑ошибки конфигурации 🪓. Если вы не взяли с собой защитные свитки с политиками и шаблонами безопасности 📜, зелья исправления уязвимостей 🧪 и доспехи из безопасных практик 🛡️ — ваша команда рискует быстро проиграть.

Собираем команду

Как и в мире ДНД, в безопасной разработке у каждого участника команды есть своя уникальная роль и задачи. Например:

⚔️ Бэкенд‑разработчик — это воин, который создает и защищает код, отражая атаки.

🧙‍♂️ Тестировщик — маг, исследующий систему с помощью «заклинаний» тестов, чтобы найти слабые места.

⛩️ Администратор инфраструктуры — жрец, поддерживающий стабильность и безопасность серверов и окружения

🎶 HR‑менеджеры и менеджеры проекта — подобно бардам, поддерживают коммуникацию и помогают команде достигать общих целей.

Читать далее

Технологическая эволюция Mercado Libre: от монолита к мультиоблачной платформе

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

Перевели для вас цикл статей об эволюции технологической платформы Mercado Libre — от монолитной архитектуры начала 2000-х к современной мультиоблачной платформе Fury, которая обеспечивает разработчикам удобную, масштабируемую и безопасную среду для создания, развёртывания и управления приложениями. В этой первой части описывается переход компании от единой базы и медленных релизов к микросервисам и облачным технологиям, что позволило значительно ускорить разработку и повысить надежность систем.

Читать далее

Docs as Code и его использование на проектах

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

Раскрываем Docs as Code: как этот подход меняет создание документации, какие инструменты стоит изучить в первую очередь, и с чего начать внедрение.

Читать далее

Как мы подняли современный портал документации из россыпи .md файлов: пошаговое руководство по MkDocs + Material

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

От хаоса в Markdown-файлах до стильного, быстрого сайта с поиском, темами и мультиязычностью за один вечер.
В жизни почти каждого IT-проекта наступает момент, когда количество файлов README.md, GUIDE.md, docs.txt и заметок в Confluence достигает критической массы. Документация становится фрагментированной, поиск нужной информации превращается в квест, а новые члены команды тратят часы на то, чтобы просто понять, "что где лежит".

Читать далее

Настройка среды разработки: VSCode, Docker для Python-проектов. Debug внутри контейнера

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

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

Читать далее

Системное мышление: когда разработчик становится архитектором

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

Что отличает архитектора от кодера? Не должность, не титул, не стаж.
Ответ - в мышлении. В том, кто видит систему целиком, предвидит цепные последствия и способен сказать "нет" быстрому решению, которое отравит код через полгода. Эта статья - честное и местами болезненное размышление о системном мышлении, архитектуре и точке невозврата, после которой разработчик уже не может смотреть на код по-старому.

Читать далее

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

Устанавливаем свой сервис мониторинга Uptime Kuma в Docker с Nginx и бесплатным SSL-сертификатом

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

Всем привет! Сегодня я хочу поделиться полным руководством по развертыванию на своем сервере замечательного open-source инструмента для мониторинга — Uptime Kuma.

Читать далее

BASS: CI, воспроизводимые сборки и пакетный менеджер

Уровень сложностиСредний
Время на прочтение16 мин
Охват и читатели1.7K
Представьте, что вам надо поднять какую-нибудь continuous integration систему. Распространённые решения (BuildBot, Jenkins, TravisCI, ...) — относительно монструозные сложные системы, заточенные под запуск недоверенного кода в изолированном окружении. Зайти на slave и поотлаживать скрипт запуска — не дадут. Кроме того, даже те же современные версии BuildBot интерфейса уже являются web-приложением, а не HTML страницами, что серьёзное неудобство.

А можно что-нибудь попроще и полегче? И чтобы было кроссплатформенным: GNU/Linux далеко не единственная платформа на которой, к сожалению, приходится проверять работоспособность различного софта.

Читать дальше →

Настраиваем CI/CD Android-проекта, часть 3. Автоматизация публикации версий в Play Store

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

Всем привет, меня зовут Кирилл и я Android-разработчик в Scanny. В прошлых статьях мы разобрали, как будет выглядеть наш CI/CD, научились запускать статический анализатор кода, выполнять Android (Marathon Labs и Firebase Test Lab) и Unit-тестирование, собирать различные Build Flavors и отправлять их в нашу Telegram-группу.

В этой статье мы настроим публикацию свежих версий в Play Market на примере Gradle Play Publisher и Fastlane, а так же поработаем с Gitlab Tag'ами.

Так же улучшим наш CI/CD, собрав свой Docker-образ со всем необходимым окружением.

Читать далее

Автоматизация мониторинга: как заставить скрипты работать вместо вас

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

Привет, Хабр! Ручной мониторинг серверов и логов - это как разжигать костёр вместо использования микроволновки. Если вы вручную проверяете логи, доступность сервисов или реагируете на алерты посредством почты - попробуйте перейти на автоматизацию.

Почему скрипты?

Гибкость: кастомизация проверки под свои нужды
Простота: запуск в cron или systemd - и можно с чистой душой забыть о проблеме
Самовосстановление: скрипт может не только найти проблему, но и исправить её (рестарт службы, чистка ненужных файлов, логов)

Автоматизированный мониторинг - это не про сложные системы в стиле Zabbix или Prometheus (они очень хороши для масштабируемых решений, данного факта не отрицаю). Это простые скрипты, которые делают ровно то, что вам нужно. Нет лишних зависимостей, сложных конфигов или чего-то лишнего.

Читать далее

PaaS — таблетка от рутины: как и почему это работает

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

Привет, Хабр! Меня зовут Игорь Анохин, я руковожу платформенной разработкой K2 Cloud. В общении с друзьями и коллегами мне периодически приходится пояснять, что я разработчик, а не DevOps-инженер. Когда я рассказываю, как мы поднимаем платформенные сервисы (PaaS), например, базы данных, Kubernetes и другие, «разработчик» — это последнее, что приходит людям в голову. 

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

Читать далее

#Радиоактивный техдолг: Почему мы потеряли инженера-архитектора и как вернуть его в эпоху тикетов

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

DevOps съел архитектора? Как тикеты убили системное мышление

Вы узнаете:
🔻 Почему техдолг - не баг, а финансовый дериватив (модель ΔProfit = -€14.3M)
🔻 3 реальных коллапса: AWS S3, Facebook DNS, Cloudflare BGP - и что их объединяет
🔻 Как техлиду внедрить архитектурный фаервол без ссор с продактом (практика Netflix/Google)
🔻 Почему "карта глубины" важнее KPI релизов (и где взять 15% времени на рефакторинг)

"Когда стоимость ошибки падает - исчезает инженер. Но щелчок предохранителя всегда громче, чем тикет"

Читать далее

Вышел релиз GitLab 18.1 с бета-версией виртуальных реестров Maven и Duo Code Review в общем доступе

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

Вышел релиз GitLab 18.1 с бета-версией виртуальных реестров Maven и Duo Code Review в общем доступе.
Мы с радостью объявляем о релизе GitLab 18.1 с бета-версией виртуальных реестров Maven, фичей Duo Code Review в общем доступе, выявлением скомпрометированных паролей и компонентами CI/CD для достижения SLSA 1 уровня! Это лишь несколько из более 110 улучшений, добавленных в этом релизе. Читайте дальше, чтобы узнать обо всех основных изменениях.

Читать далее