Мы разыгрываем:
Как участвовать?
👉 Быть подписанными на наш телеграм-канал;
👉 Оставить комментарий под этим постом. Подойдёт крутой стикер, слово "участвую" или ваш рассказ, почему выиграть хотите именно Вы!
👉 Поставить реакции на 3 предыдущих поста;
ВСЁ — вы в деле!
P.S. А если хотите точно начать карьеру в DevOps - у нас есть бесплатная консультация, на которой Вам обо всём расскажут. Для записи на неё заполните короткую форму.
Победитель будет определён рандомным образом в воскресенье - 29 июня.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥37🔥15🆒3🤝2🌚1
Что нашли:
Техническое собеседование DevOps 2025 во Вконтакте
-Тонкости, вопросы, запись самого собеса
Программист vs DevOps: кто за что отвечает
- Вечная битва: какой список обязанностей за кем закреплён, и что делать, чтобы процессы были выстроены грамотно
Как практиковаться Junior DevOps-инженеру
- Боль тех, кто видит на HH только мидл-сеньор позиции. Автор грамотно и по пунктам разбирает, где искать и как начать.
Все, что нужно знать о деплое, DOCKER, CI/CD, если ты новичок
- Интересно и мемно смонтированное видео, где на собственном опыте автор рассказывает о своём пути.
DevOps Mock Interview #2 (Junior DevOps)
- Ребята запустили интересую рубрику, где интервьюируют подписчиков своего канала, проводят очень развёрнутые мок-собеседования.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7
💥Рады объявить победителей нашего розыгрыша!
Напоминаем, что у нас 3 места, соответственно, 3 порядковых номера.
Судьбу решал randstuff, выпали порядковые номера 49, 5, 48.
🥇Первое место - бесплатное обучение (базовый блок) выигрывает участник 49 - @mrangelxd.
🥈Второе место - скидка 50% на тариф выиграл участник, чей комментарий был под номером 5 - @Timur_Kozak
🥉Третье место - скидка 30% на тариф достаётся участнику 48 - @vitaly8330.
Поздравляем победителей, мы с Вами свяжемся!
🌟Ну, а для тех, чьи номера комментариев оказались другими: впереди ещё много всего интересного! Оставайтесь с нами, ведь другие розыгрыши также не за горами!
P.S. А если хотите точно начать карьеру в DevOps - у нас есть бесплатная консультация, на которой Вам обо всём расскажут. Для записи на неё заполните короткую форму.
Напоминаем, что у нас 3 места, соответственно, 3 порядковых номера.
Судьбу решал randstuff, выпали порядковые номера 49, 5, 48.
🥇Первое место - бесплатное обучение (базовый блок) выигрывает участник 49 - @mrangelxd.
🥈Второе место - скидка 50% на тариф выиграл участник, чей комментарий был под номером 5 - @Timur_Kozak
🥉Третье место - скидка 30% на тариф достаётся участнику 48 - @vitaly8330.
Поздравляем победителей, мы с Вами свяжемся!
🌟Ну, а для тех, чьи номера комментариев оказались другими: впереди ещё много всего интересного! Оставайтесь с нами, ведь другие розыгрыши также не за горами!
P.S. А если хотите точно начать карьеру в DevOps - у нас есть бесплатная консультация, на которой Вам обо всём расскажут. Для записи на неё заполните короткую форму.
❤🔥4
🔁 systemd сервисы в Linux — как запустить свой скрипт как системный сервис
Когда у тебя есть фоновый скрипт, хочется, чтобы он запускался сам, перезапускался при падении и логировался в journalctl.
Это можно сделать, используя .service-файл.
❓ Как работает systemd-сервис?
Systemd запускает процессы как службы (юниты), умеет следить за их состоянием, логировать, рестартовать и включать при загрузке системы.
📄 Пример my_script.service для Python-скрипта
🛠 Что здесь важно:
ExecStart — путь к скрипту (или bash-команде)
Restart=always — перезапуск при падении
StandardOutput=journal — вывод в journalctl
🚀 Установка и запуск сервиса
📋 Проверка и логирование
🔄 Обновление скрипта или юнита
❗️ Когда использовать кастомный systemd-сервис?
📍 Хочешь держать Python/Bash скрипт запущенным 24/7
📍 Нужен автоматический рестарт при падении
📍 У тебя нет полноценного Docker/K8s, а нужно что-то стабильное
P.S. проверка на внимательность, если дочитали 😉
Первый, кто успеет в комментах написать "забираю", получит скидку 50% на базовый тариф!
Скидку забрали.
Наш победитель не забрал свой приз, поэтому было бы честно отдать его тому, кто скрупулёзно вычитывает наши посты 💥
Когда у тебя есть фоновый скрипт, хочется, чтобы он запускался сам, перезапускался при падении и логировался в journalctl.
Это можно сделать, используя .service-файл.
❓ Как работает systemd-сервис?
Systemd запускает процессы как службы (юниты), умеет следить за их состоянием, логировать, рестартовать и включать при загрузке системы.
📄 Пример my_script.service для Python-скрипта
[Unit]
Description=Мой фоновый скрипт
After=network.target
[Service]
ExecStart=/usr/bin/python3 /opt/my_script.py
WorkingDirectory=/opt
Restart=always
RestartSec=5
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target
🛠 Что здесь важно:
ExecStart — путь к скрипту (или bash-команде)
Restart=always — перезапуск при падении
StandardOutput=journal — вывод в journalctl
🚀 Установка и запуск сервиса
# Копируем файл
sudo cp my_script.service /etc/systemd/system/
# Перечитываем конфигурацию systemd
sudo systemctl daemon-reexec
sudo systemctl daemon-reload
# Включаем автозапуск
sudo systemctl enable my_script.service
# Запускаем сервис
sudo systemctl start my_script.service
📋 Проверка и логирование
# Проверить статус
systemctl status my_script
# Логи скрипта
journalctl -u my_script -f
🔄 Обновление скрипта или юнита
# После изменения .service-файла:
sudo systemctl daemon-reload
# Перезапустить сервис
sudo systemctl restart my_script
❗️ Когда использовать кастомный systemd-сервис?
📍 Хочешь держать Python/Bash скрипт запущенным 24/7
📍 Нужен автоматический рестарт при падении
📍 У тебя нет полноценного Docker/K8s, а нужно что-то стабильное
P.S. проверка на внимательность, если дочитали 😉
Скидку забрали.
Наш победитель не забрал свой приз, поэтому было бы честно отдать его тому, кто скрупулёзно вычитывает наши посты 💥
🔥3❤2
.dockerignore
— как ускорить сборку Docker-образов и не засорить ихКогда происходит сборка Docker-образов, по умолчанию в контекст сборки уходит вся директория проекта. Это замедляет сборку, раздувает размер и может даже утянуть лишние файлы в образ.
.dockerignore
..dockerignore
Файл, который говорит Docker:
«Эти файлы не нужно включать в контекст сборки»
Аналог
.gitignore
, но для docker build
.Пример: зачем это нужно
# Без .dockerignore
Sending build context to Docker daemon 514.3MB
# С .dockerignore
Sending build context to Docker daemon 23.6MB
Меньше файлов = быстрее сборка и меньше шанс случайно протечь данными
🧹 Что почти всегда стоит игнорировать
node_modules/
venv/
__pycache__/
.git
.gitignore
*.log
*.swp
*.tmp
.DS_Store
.env
.env
особенно важно — чтобы не утекли секреты.dockerignore
*.log
Только логи, всё остальное (включая
node_modules
) идёт в образ 😬.dockerignore
для Node.js проектаnode_modules/
npm-debug.log
Dockerfile
.dockerignore
.git
.gitignore
.env
coverage/
*.swp
❗️ Когда использовать
.dockerignore
📍 Нужно ускорить
docker build
📍 Не хочешь тянуть в образ мусор
📍 Нужно исключить секретные/локальные файлы из контекста
Важно помнить
.dockerignore
влияет на то, какие файлы попадут в контекст сборки (docker build
). Если файл исключён, он будет недоступен
Dockerfile
— COPY
и ADD
с ним не сработают.Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥2🔥1
Пс, что делаешь сегодня в 19:00? 📞
В GigaDevOps каждую неделю проходят созвоны, которые проводит один из наших высококвалифицированных менторов: моки, смол-токи, полезное общение, уютный, а главное удобный формат: онлайн.
Сегодня, например, в 19:00 по МСК пройдёт смол-ток. Подключайся на него здесь: https://meet.google.com/wmt-esyb-qcs
А как узнать, когда и во сколько будет новый? Ответ: наше комьюнити!
Уверяем, это просто кладезь информации, которая тебя точно заинтересует. Там не только анонсы, но и настоящий живой чат, где ответят на твои вопросы, подскажут, и помогут. Подписывайся, чтобы ничего не пропустить🔥
В GigaDevOps каждую неделю проходят созвоны, которые проводит один из наших высококвалифицированных менторов: моки, смол-токи, полезное общение, уютный, а главное удобный формат: онлайн.
Сегодня, например, в 19:00 по МСК пройдёт смол-ток. Подключайся на него здесь: https://meet.google.com/wmt-esyb-qcs
А как узнать, когда и во сколько будет новый? Ответ: наше комьюнити!
Уверяем, это просто кладезь информации, которая тебя точно заинтересует. Там не только анонсы, но и настоящий живой чат, где ответят на твои вопросы, подскажут, и помогут. Подписывайся, чтобы ничего не пропустить
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥4🙏2
В числе ключевых изменений:
Управление зависимостями Maven стало проще: теперь несколько внешних репозиториев объединяются в единую точку доступа через виртуальный реестр. Умное кэширование ускоряет сборки, а аудит безопасности и настройка интеграций упрощаются. Доступна настройка через API, есть ограничения на количество реестров и источников, но функционал будет расширяться по мере выхода из беты.
ИИ-ассистент Duo Code Review теперь доступен для всех пользователей Premium и Ultimate. Он автоматически анализирует изменения кода в merge request, выявляет баги и уязвимости, предлагает улучшения и лучшие практики. Можно запрашивать фидбек через тег @GitLabDuo. Многие рекомендации доступны для мгновенного применения прямо в браузере.
GitLab.com теперь проверяет, не был ли ваш пароль замечен в утечках. В случае обнаружения — уведомление и инструкция по смене пароля. Рекомендуется использовать уникальные пароли и включать двухфакторную аутентификацию.
Появились новые модули для CI/CD, которые позволяют достичь соответствия требованиям SLSA Level 1: автоматическая подпись и проверка происхождения артефактов через Sigstore Cosign. Интеграция максимально простая.
Дополнительные обновления:
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥3
Приглашай друзей и знакомых и получай реальные деньги – 10% от стоимости их обучения!
1. Ты регистрируешься и получаешь уникальную партнерскую ссылку в личном кабинете. Партнером может стать действующий или бывший ученик школы.
2. Ты делишься этой ссылкой со знакомыми и друзьями.
3. Каждый пользователь, перешедший по вашей ссылке, закрепляется за тобой на 90 дней.
4. Если в течение этого срока пользователь купит любой курс школы, ты получаешь 10% от фактической стоимости его покупки.
Твой доход = 10% от стоимости обучения.
Ты получаешь 10% от фактической стоимости купленного твоим рефералом обучения. Настоящие деньги на той карте или счету, который укажешь!
Пример 1: Привлеченный тобой студент купил курс за 25 000 рублей. Твой доход = 2 500 рублей.
Пример 2: Привлеченный тобой студент выбрал курс за 70 000 рублей. Твой доход = 7 000 рублей.
Чем дороже курс – тем выше твоя комиссия!
1. Заполни форму регистрации партнера здесь (если вы еще не заполняли ее ранее).
2. Перейди в Личный кабинет. В левом боковом меню выбери раздел "Покупки".
3. Нажми "Партнерская программа". Там ты сразу увидишь уникальную партнерскую ссылку и сможешь отслеживать статистику переходов и начислений!
1. Выплаты производятся с 1 по 10 число каждого месяца за покупки, совершенные в предыдущем календарном месяце.
2. Менеджер партнерской программы свяжется с тобой в этот период (с 1 по 10 число) для уточнения реквизитов для перевода (банковская карта/счет или другие удобные вам способы).
3. После подтверждения реквизитов деньги будут переведены в кратчайшие сроки.
P.S. Поставь огонёк, если тебе нравится эта функция!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5
🧱 Как правильно организовать Terraform-конфигурацию для разных окружений (dev / stage / prod)
Когда инфраструктура начинает расти, появляется вопрос:
Как не сломать прод, когда выкатываешь dev?
✅ Помогает правильная архитектура Terraform-проектов.
С изоляцией, чистыми модулями и state-файлами, которые не мешают друг другу.
❗️ Почему нельзя писать всё в одном месте
Если держать всё в одном каталоге — легко случайно сделать terraform apply и задеть не то окружение.
Workspaces? В теории красиво, на практике — почти никто не использует. Ломаются в CI, сложно дебажить, нельзя подключать разные провайдеры.
✅ Как делают в проде
Чёткое разделение по окружениям:
- отдельная папка
- отдельный
- отдельный backend (S3 state-файл)
- один и тот же набор модулей
Такой подход масштабируется, безопасен и легко поддерживается.
📄 Пример:
Это значит:
🔹 state для dev живёт отдельно
🔹 никакой apply не затронет stage/prod
🔹 есть блокировка от одновременного запуска
🧰 Общая логика — в модулях
Каждое окружение просто подставляет свои переменные:
🧩 Где держать переменные?
В terraform.tfvars для каждого окружения:
Файл variables.tf общий — он описывает, что можно настраивать, а не как.
🛡 Почему это безопасно
📍 У каждого окружения — свой state → никакой гонки
📍 Все конфигурации разделены → проще ревью
📍 Модули переиспользуются → меньше копипасты
📍 У тебя контроль → apply работает в контексте среды
✅ Когда использовать такую структуру
✔️ У тебя хотя бы два окружения (dev/prod)
✔️ Ты хочешь стабильный CI/CD
✔️ Работаешь в команде или на проекте, где "прод ломать нельзя"
Когда инфраструктура начинает расти, появляется вопрос:
Как не сломать прод, когда выкатываешь dev?
С изоляцией, чистыми модулями и state-файлами, которые не мешают друг другу.
Если держать всё в одном каталоге — легко случайно сделать terraform apply и задеть не то окружение.
Workspaces? В теории красиво, на практике — почти никто не использует. Ломаются в CI, сложно дебажить, нельзя подключать разные провайдеры.
Чёткое разделение по окружениям:
terraform/
├── envs/
│ ├── dev/
│ ├── stage/
│ └── prod/
├── modules/
- отдельная папка
- отдельный
terraform.tfvars
- отдельный backend (S3 state-файл)
- один и тот же набор модулей
Такой подход масштабируется, безопасен и легко поддерживается.
📄 Пример:
envs/dev/main.tf
terraform {
backend "s3" {
bucket = "infra-terraform"
key = "dev/terraform.tfstate"
region = "us-east-1"
dynamodb_table = "tf-locks"
}
}
Это значит:
🔹 state для dev живёт отдельно
🔹 никакой apply не затронет stage/prod
🔹 есть блокировка от одновременного запуска
🧰 Общая логика — в модулях
modules/
├── vpc/
├── s3/
└── ec2/
Каждое окружение просто подставляет свои переменные:
module "vpc" {
source = "../../modules/vpc"
cidr_block = "10.0.0.0/16"
env = "dev"
}
В terraform.tfvars для каждого окружения:
region = "us-east-1"
instance_type = "t3.micro"
domain = "dev.example.com"
Файл variables.tf общий — он описывает, что можно настраивать, а не как.
📍 У каждого окружения — свой state → никакой гонки
📍 Все конфигурации разделены → проще ревью
📍 Модули переиспользуются → меньше копипасты
📍 У тебя контроль → apply работает в контексте среды
✔️ У тебя хотя бы два окружения (dev/prod)
✔️ Ты хочешь стабильный CI/CD
✔️ Работаешь в команде или на проекте, где "прод ломать нельзя"
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7
Выход есть всегда, но, на всякий случай, провели ресёрч по вакансиям на HH для новичков.
Что искали:
Конечно, вакансий для сеньора с опытом от 6 лет в офис на окраине Екатеринбурга за 20 000 рублей больше, чем то, что нам интересно, но всё же некоторые предложения нашли:
Также вот, что нашли на Habr:
Cвежак на LinkedIn:
Да уж! Было тяжело. В сравнении с Middle - и ЗП другая, и количество несопоставимо.
Залетай на бесплатную консультацию и присоединяйся к GigaDevOps.
Please open Telegram to view this post
VIEW IN TELEGRAM
😭3🔥2
Ты поднял сервис — всё работает. Но тут клиент говорит:
И ты такой: «Так ведь работает и без него…»
IPv4 даёт ~4.3 млрд адресов (32 бита).
С ростом интернета их стало не хватать — всё уже распределено между провайдерами и организациями.
Чтобы решить проблему, в 1998 году придумали IPv6:
🔢 128 бит адресации → ~3.4×10³⁸ адресов
Хватает всем — на много лет вперёд.
Это режим, когда:
- сервис слушает и IPv4, и IPv6
- DNS возвращает и A, и AAAA записи
- клиент сам выбирает, как подключиться
Пример записей DNS:
A → 192.0.2.10
AAAA → 2a01:4f8:c17:4b1::1
Пример использования curl
curl -4 example.com # IPv4
curl -6 example.com # IPv6
Как использовать?
Сначала провайдер (или облако) должен выдать IPv6-адрес.
Далее необходимо зарегистрировать AAAA-запись, указывающую на IPv6-адрес.
Интерфейс сервера должен иметь IPv6-адрес.
Маршруты на сервере должны быть настроены.
server {
listen 80;
listen [::]:80;
server_name example.com;
...
}
✔️ У тебя публичный сервис или API
✔️ Мобильные пользователи (часто идут через IPv6)
✔️ Хостинг/облако требует IPv6
✔️ Клиенты из других стран (Китай, Индия, Германия — активно используют IPv6)
✔️ Аудит / безопасность / заказчики с жесткими требованиями
IPv6 — это не «технология будущего». Он уже активно используется и становится обязательным для публичных сервисов.
Но он не включается сам по себе — настройку нужно делать осознанно: от облака до DNS и firewall.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3❤🔥2
Вопрос: зачем таким маленьким проектам этот специалист, и чем предстоит заниматься?
Да, вот так оказалось. Это не гигантский банк и не техно-корпорация, а небольшой стартап. В команде 5–7 человек, никаких миллионных бюджетов. Всё быстро, лампово и по-своему хаотично. И вот ты смотришь вокруг и ловишь себя на мысли: А зачем вообще тут DevOps? Неужели нельзя просто “на лету” всё выкатывать?
Давай разбираться, почему даже маленькая команда начинает внедрять DevOps — и как это реально помогает.
Вроде бы, когда команда небольшая, можно же договориться в чате, быстро что-то залить на сервер, прописать пару скриптов… Но чем дольше команда работает “по старинке”, тем больше возникает:
Огня в проде — потому что всё тестировалось “на глаз”, и никто не может быстро откатиться.
Даже если у вас мало сервисов, автоматизация означает, что “выкатить на прод” — это одна кнопка, а не марафон по SSH.
Скрипты, пайплайны и тесты не забывают, не болеют и не уходят в отпуск.
Даже в маленькой команде важно знать, что приложение работает, а не “лежит” уже второй час.
Когда команда растёт, DevOps-процессы не тормозят, а только ускоряют разработку и внедрение новых фич.
Сразу вопрос: “А если денег мало?”
Всё честно — на старте хватит бесплатных (или почти бесплатных) инструментов:
Главное: DevOps — это не про покупку дорогущих решений, а про то, чтобы команда не тратила время на то, что можно автоматизировать.
Где чаще всего случаются ошибки? Что делают вручную? Где теряется время?
Пусть даже это будет “маленький” пайплайн или скрипт для тестов — но это уже шаг вперёд.
Иногда люди боятся автоматизации (“а вдруг я потеряю работу?”), но твоя задача — показать, что DevOps = меньше рутины и больше времени на творческие задачи.
В стартапе важно не перегореть. Двигайся маленькими шагами, показывай пользу — и команда сама подтянется.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
➖ Тариф "Всё включено": 65 000
➖ Тариф "1-2-1": 85 000.
До 30.07 включительно написать нашему менеджеру @ratushnov "Я С ВАМИ" + выбрать тариф. Оплатить обучение необходимо до конца месяца.
GigaDevOps — это обучение, практика, поддержка, мок-собеседования, помощь с резюме и многое другое. Не упускай эту возможность: присоединяйся к нам уже сейчас.
Please open Telegram to view this post
VIEW IN TELEGRAM
✍2🔥2🗿2
Уже 00:00 скидки превратятся в тыкву, а возможность обучиться выгоднее испарится так же быстро, как и хорошие вакансии DevOps на HH.
Осталось 2 места на обучение по ценам в посте выше. Для того, чтобы присоединиться - просто напишите @ratushnov в ЛС
Please open Telegram to view this post
VIEW IN TELEGRAM
😱2👌1🗿1
Когда шумиха вокруг ИИ немного улеглась, давайте с холодной головой обсудим, где ИИ в DevOps — это хорошо, а где без человеческого контроля станет только хуже.
1️⃣ Упрощение автоматизации
ИИ автоматизирует рутинные задачи, такие как CI/CD и мониторинг. Алгоритмы машинного обучения могут анализировать результаты развертывания и предсказывать сбои, что значительно ускоряет процессы.
2️⃣ Проактивная безопасность
Интеграция ИИ в DevSecOps позволяет выявлять уязвимости в коде. Инструменты, такие как Snyk, помогают анализировать код на наличие аномалий, что делает системы более защищенными.
3️⃣ Автономные DevOps
Автономные системы могут принимать решения в реальном времени. Например, GitHub Actions автоматически развертывает приложения на основе заданных метрик, минимизируя вмешательство человека в рутинные процессы.
4️⃣ Оптимизация конфигурации
ИИ динамически настраивает среды, как в Kubernetes, чтобы избежать простоев и оптимизировать использование ресурсов. Это повышает общую производительность систем.
5️⃣ Адаптивные ИИ-системы
Адаптивные системы предсказывают нагрузки и оптимизируют ресурсы на основе текущих данных, позволяя избежать пиковых нагрузок и обеспечивая стабильность.
6️⃣ Оптимизация кода
Инструменты, такие как DeepCode, помогают улучшать код, предлагая рекомендации и автоматизируя рефакторинг, что делает разработку более эффективной.
7️⃣ Интеграция с облаком
ИИ автоматизирует масштабирование в облачных сервисах, например, с помощью AWS Auto Scaling, что позволяет обеспечивать высокую доступность приложений.
8️⃣ ИИ и IoT
Интеграция ИИ с IoT улучшает мониторинг устройств, позволяя предсказывать сбои и минимизировать время простоя.
Роль человека
Несмотря на все преимущества ИИ, человеческий фактор остается критически важным:
✔️ Решение сложных задач: часто организации сообщают, что автоматизация не устраняет необходимость в ручном тестировании.
✔️ Процент невыявленных уязвимостей: по отчётам Gartner, 60% уязвимостей остаются невыявленными даже с использованием ИИ.
✔️ Креативность и интуиция: автоматизация не может заменить человеческое творчество, вы и сами прекрасно знаете, попробуйте без 100 выверенных промтов попросить GPT придумать классную шутку. Спойлер: будет стыдно.
✔️ Проблемы с конфигурацией: В отчете "Cost of a Data Breach Report" утверждается, что 80% проблем требуют человеческого вмешательства для диагностики и решения.
Каков вывод? ИИ — это очень удобно, то, что раньше требовало большой концентрации внимания и рутинной работы, сейчас можно сделать за несколько кликов. Но без контроля даже на момент августа 2025 далеко не уедешь. Поэтому без работы девопсеры точно не останутся. Автоматизируем, что автоматизируется, но очень внимательно проверяем всё, что делали не только мы, но и ИИ — вот и весь секрет🤌
ИИ автоматизирует рутинные задачи, такие как CI/CD и мониторинг. Алгоритмы машинного обучения могут анализировать результаты развертывания и предсказывать сбои, что значительно ускоряет процессы.
Интеграция ИИ в DevSecOps позволяет выявлять уязвимости в коде. Инструменты, такие как Snyk, помогают анализировать код на наличие аномалий, что делает системы более защищенными.
Автономные системы могут принимать решения в реальном времени. Например, GitHub Actions автоматически развертывает приложения на основе заданных метрик, минимизируя вмешательство человека в рутинные процессы.
ИИ динамически настраивает среды, как в Kubernetes, чтобы избежать простоев и оптимизировать использование ресурсов. Это повышает общую производительность систем.
Адаптивные системы предсказывают нагрузки и оптимизируют ресурсы на основе текущих данных, позволяя избежать пиковых нагрузок и обеспечивая стабильность.
Инструменты, такие как DeepCode, помогают улучшать код, предлагая рекомендации и автоматизируя рефакторинг, что делает разработку более эффективной.
ИИ автоматизирует масштабирование в облачных сервисах, например, с помощью AWS Auto Scaling, что позволяет обеспечивать высокую доступность приложений.
Интеграция ИИ с IoT улучшает мониторинг устройств, позволяя предсказывать сбои и минимизировать время простоя.
Роль человека
Несмотря на все преимущества ИИ, человеческий фактор остается критически важным:
Каков вывод? ИИ — это очень удобно, то, что раньше требовало большой концентрации внимания и рутинной работы, сейчас можно сделать за несколько кликов. Но без контроля даже на момент августа 2025 далеко не уедешь. Поэтому без работы девопсеры точно не останутся. Автоматизируем, что автоматизируется, но очень внимательно проверяем всё, что делали не только мы, но и ИИ — вот и весь секрет
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5
🛡 Trivy — твой личный антивирус для Docker-образов
Собрал образ?
А ты уверен, что в нем нет десятков уязвимостей (CVE), просроченных пакетов и подозрительных библиотек?
💣 Даже если у тебя
Почти в любом образе найдется что-то, что можно (и нужно) проверить.
🔍 Trivy проверяет:
- Docker-образы — на CVE
- Dockerfile — на плохие практики
- Terraform / K8s / Helm — на misconfig'и
- Git-репозитории — на секреты
- Пакеты — на уязвимости (pip, npm, gem)
Один инструмент — много пользы.
🚀 Как быстро проверить образ:
Trivy просканирует весь образ и покажет:
- Уязвимости в зависимостях
- CVE ID, уровень риска
- Где именно находится проблема
⛔️ Можно настроить: завали билд, если есть CRITICAL.
⚠️ А теперь — Dockerfile
Что он найдет:
- нет
- нет
- базовый образ уязвим?
-
- нет
🧼 Получается аудит Dockerfile — за секунду.
⚙️ Trivy в GitLab CI: проверка образа до деплоя
Если ты собираешь Docker-образ в пайплайне — добавь этап, который сканирует его перед выкладкой.
🔍 Что происходит:
- Trivy запускается в своем контейнере
- Проверяет образ
- Если найдены CRITICAL/HIGH уязвимости — пайплайн падает
- Можно смягчить — оставить
🎁 Бонус: Trivy — это не только образы
Trivy — это настоящий швейцарский нож. Он умеет:
- Искать секреты прямо в Git-репозиториях
- Сканировать манифесты Kubernetes (YAML-файлы)
- Работать офлайн — без подключения к интернету
- Запускаться как демон и следить за новым кодом
- Интегрироваться с VSCode / JetBrains IDE — удобно прямо в редакторе
🧠 Используй его не только в CI, но и на локалке — как DevOps-инструмент, который всегда рядом.
Собрал образ?
А ты уверен, что в нем нет десятков уязвимостей (CVE), просроченных пакетов и подозрительных библиотек?
💣 Даже если у тебя
alpine
, python:3.10
, ubuntu:20.04
— это не гарантия безопасности.Почти в любом образе найдется что-то, что можно (и нужно) проверить.
🔍 Trivy проверяет:
- Docker-образы — на CVE
- Dockerfile — на плохие практики
- Terraform / K8s / Helm — на misconfig'и
- Git-репозитории — на секреты
- Пакеты — на уязвимости (pip, npm, gem)
Один инструмент — много пользы.
🚀 Как быстро проверить образ:
trivy image myapp:latest
Trivy просканирует весь образ и покажет:
- Уязвимости в зависимостях
- CVE ID, уровень риска
- Где именно находится проблема
⛔️ Можно настроить: завали билд, если есть CRITICAL.
⚠️ А теперь — Dockerfile
trivy config Dockerfile
Что он найдет:
- нет
USER
→ контейнер запускается от root?- нет
HEALTHCHECK
?- базовый образ уязвим?
-
latest
теги? 😬- нет
COPY --chown
?🧼 Получается аудит Dockerfile — за секунду.
⚙️ Trivy в GitLab CI: проверка образа до деплоя
Если ты собираешь Docker-образ в пайплайне — добавь этап, который сканирует его перед выкладкой.
stages:
- build
- scan
- deploy
variables:
TRIVY_VERSION: 0.51.1
scan:
stage: scan
image: aquasec/trivy:${TRIVY_VERSION}
script:
- trivy image --exit-code 1 --severity CRITICAL,HIGH myapp:latest
allow_failure: false
🔍 Что происходит:
- Trivy запускается в своем контейнере
- Проверяет образ
myapp:latest
- Если найдены CRITICAL/HIGH уязвимости — пайплайн падает
- Можно смягчить — оставить
allow_failure: true
, если пока просто мониторите🎁 Бонус: Trivy — это не только образы
Trivy — это настоящий швейцарский нож. Он умеет:
- Искать секреты прямо в Git-репозиториях
- Сканировать манифесты Kubernetes (YAML-файлы)
- Работать офлайн — без подключения к интернету
- Запускаться как демон и следить за новым кодом
- Интегрироваться с VSCode / JetBrains IDE — удобно прямо в редакторе
🧠 Используй его не только в CI, но и на локалке — как DevOps-инструмент, который всегда рядом.
❤🔥5❤1
🛡 Как подключить HashiCorp Vault в Ansible — и не спалить секреты в логах
Если ты хранишь токены и пароли в git-репозитории — ты уже проиграл.
Секреты должны жить во внешнем хранилище, а не в
Один из лучших вариантов — HashiCorp Vault.
И Ansible умеет с ним работать напрямую.
🔑 Чтение секрета из Vault
📦 Что происходит:
-
-
-
❗️Важно: этот lookup требует плагина
Установка:
🚫 Не палим секреты в output
По умолчанию Ansible вывалит в stdout всё, что вернёт lookup.
Даже токен.
Используй
🔐
🧠 Best practices
✅ Читай секреты из Vault, а не из git
✅ Используй
✅ Передавай их в шаблоны через
✅ Не вставляй секреты напрямую в команды
✅ Прячь
Git — для кода. Vault — для секретов. Не путай роли.
Если ты хранишь токены и пароли в git-репозитории — ты уже проиграл.
Секреты должны жить во внешнем хранилище, а не в
group_vars/all.yml
.Один из лучших вариантов — HashiCorp Vault.
И Ansible умеет с ним работать напрямую.
🔑 Чтение секрета из Vault
- name: Получить секрет из Vault
ansible.builtin.debug:
msg: "{{ lookup('community.hashi_vault.hashi_vault', 'secret/data/ci/token token') }}"
📦 Что происходит:
-
secret/data/ci/token
— путь до секрета-
token
— имя поля в секретe-
lookup
вытягивает значение из Vault во время выполнения❗️Важно: этот lookup требует плагина
community.hashi_vault
Установка:
ansible-galaxy collection install community.hashi_vault
🚫 Не палим секреты в output
По умолчанию Ansible вывалит в stdout всё, что вернёт lookup.
Даже токен.
Используй
no_log: true
, чтобы замолчать таску:- name: Используем секрет без утечек
no_log: true
ansible.builtin.set_fact:
api_key: "{{ lookup('community.hashi_vault.hashi_vault', 'secret/data/ci/api key') }}"
🔐
no_log: true
= таска не попадёт в stdout, даже если playbook падает.🧠 Best practices
✅ Читай секреты из Vault, а не из git
✅ Используй
set_fact
с no_log: true
для переменных✅ Передавай их в шаблоны через
template
✅ Не вставляй секреты напрямую в команды
✅ Прячь
VAULT_TOKEN
в env
, не в playbookGit — для кода. Vault — для секретов. Не путай роли.
👍4
Работаешь в команде, у всех доступ к кластеру, и один день внезапно:
kubectl delete --all pods --all-namespaces
Да, он случайно забыл, что работает в проде.
Чтобы такого не было — в Kubernetes есть RBAC (Role-Based Access Control). Это не просто формальность, а реальный способ ограничить доступ по принципу наименьших привилегий.
Вот как это устроено:
Хочешь дать разработчику доступ только к логам своего приложения в
dev-namespace
?kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
namespace: dev-namespace
name: logs-reader
rules:
- apiGroups: [""]
resources: ["pods", "pods/log"]
verbs: ["get", "list"]
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: dev-logs-access
namespace: dev-namespace
subjects:
- kind: User
name: "dev-john"
roleRef:
kind: Role
name: logs-reader
apiGroup: rbac.authorization.k8s.io
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2🔥2
Позиции в основном мидловые – потому что мы помогаем начать и удержаться сразу на Middle уровне, без стажировок и галер.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2