👍3
🦾Хотите глубже понять управление процессами в микросервисах и повысить надёжность систем? На ум сразу приходят распределённые транзакции – классический, но, увы, проблематичный метод. Но мы предлагаем кое-что получше: шаблон «Сага»!
На открытом вебинаре "«Саги» vs распределённые транзакции: как моделировать рабочие потоки в распределённой архитектуре"
Вы узнаете:
- Почему распределённые транзакции могут быть непрактичны в контексте микросервисов
- Как работает Сага и в чём преимущества этого шаблона
- Какие типы «саг» существуют и как их применять
- Как использовать Сагу для моделирования сложных рабочих потоков
И, конечно же, получите важные рекомендации по внедрению саг в реальных проектах.
Будет интересно архитекторам ПО, системным аналитикам, бэкенд и фулстек-разработчикам.
💬Спикер: Сергей Прощаев Java-разработчик в ПАО «Сургутнефтегаз».
Бонус! Скидка 5% на любой курс OTUS и чек-лист «Подойдёт ли вам шаблон SAGA? Семь вопросов создателю проекта»
⏰6 марта, 19:00 МСК, Бесплатно
Записаться на событие: https://vk.cc/cJjOfj
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
На открытом вебинаре "«Саги» vs распределённые транзакции: как моделировать рабочие потоки в распределённой архитектуре"
Вы узнаете:
- Почему распределённые транзакции могут быть непрактичны в контексте микросервисов
- Как работает Сага и в чём преимущества этого шаблона
- Какие типы «саг» существуют и как их применять
- Как использовать Сагу для моделирования сложных рабочих потоков
И, конечно же, получите
Будет интересно архитекторам ПО, системным аналитикам, бэкенд и фулстек-разработчикам.
💬Спикер: Сергей Прощаев Java-разработчик в ПАО «Сургутнефтегаз».
Бонус! Скидка 5% на любой курс OTUS и чек-лист «Подойдёт ли вам шаблон SAGA? Семь вопросов создателю проекта»
⏰6 марта, 19:00 МСК, Бесплатно
Записаться на событие: https://vk.cc/cJjOfj
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
👍2
Nix: насколько хороша альтернатива Dockerfile?
Современная бэкенд‑разработка не обходится без средств контейнеризации. Самому простому приложению, скорее всего, будет нужна хотя бы база данных или пучок дополнительных зависимостей из веб‑серверов, балансировщиков, сборщиков логов и метрик. Для быстрого их развёртывания и настройки используются кастомные или готовые образы и контейнеры. И когда разговор заходит о контейнерах, первое, что приходит на ум, — это Docker и Dockerfile.
Для многих это стандарт, отклонения от которого вызывают недоумение и вопросы. Но даже у всего хорошего есть альтернативы. Одна из них — Nix. Насколько она сопоставима по удобству и скорости с Docker?
Меня зовут Борис Табачников, я разработчик отдела RnD в СберТехе. Кратко расскажу, что такое Nix в целом, зачем вам его использовать и подробно сравню скорость работы Nix и Docker.
Статья будет полезна DevOps‑инженерам и разработчикам, интересующимся контейнеризацией. И особенно — тем, кто ищет альтернативы для Docker и кого заинтересовал Nix, но при этом сферы его использования и применимость для сборки образов недостаточно понятна.
https://habr.com/ru/companies/sberbank/articles/887722/
#devops #девопс
Подпишись 👉@i_DevOps
Современная бэкенд‑разработка не обходится без средств контейнеризации. Самому простому приложению, скорее всего, будет нужна хотя бы база данных или пучок дополнительных зависимостей из веб‑серверов, балансировщиков, сборщиков логов и метрик. Для быстрого их развёртывания и настройки используются кастомные или готовые образы и контейнеры. И когда разговор заходит о контейнерах, первое, что приходит на ум, — это Docker и Dockerfile.
Для многих это стандарт, отклонения от которого вызывают недоумение и вопросы. Но даже у всего хорошего есть альтернативы. Одна из них — Nix. Насколько она сопоставима по удобству и скорости с Docker?
Меня зовут Борис Табачников, я разработчик отдела RnD в СберТехе. Кратко расскажу, что такое Nix в целом, зачем вам его использовать и подробно сравню скорость работы Nix и Docker.
Статья будет полезна DevOps‑инженерам и разработчикам, интересующимся контейнеризацией. И особенно — тем, кто ищет альтернативы для Docker и кого заинтересовал Nix, но при этом сферы его использования и применимость для сборки образов недостаточно понятна.
https://habr.com/ru/companies/sberbank/articles/887722/
#devops #девопс
Подпишись 👉@i_DevOps
👍2
Документация как код: принципы, рабочий процесс и вызовы
В современном мире разработки программного обеспечения концепция «Документация как код» (Documentation as Code, DaC) становится все более популярной. Этот подход использует инструменты и практики разработки программного обеспечения для написания, хранения и управления документацией.
🔹 Основные принципы
1. Хранение в системе контроля версий
Документация хранится в репозитории вместе с кодом, что позволяет отслеживать изменения, откатываться к предыдущим версиям и сотрудничать в команде.
2. Использование текстовых форматов (Markdown, AsciiDoc, reStructuredText и др.)
Вместо сложных редакторов документация пишется в простых текстовых форматах, что облегчает интеграцию с инструментами CI/CD.
3. Автоматизация сборки и публикации
Документация может автоматически обновляться и развертываться при каждом изменении кода.
4. Документирование в процессе разработки
Документация пишется параллельно с кодом, а не после него, что делает её актуальной.
5. Использование инструментов рецензирования
Pull Request'ы, ревью и линтеры помогают поддерживать качество документации.
🔹 Рабочий процесс
1. Создание документации – разработчик или технический писатель пишет документацию в виде кода.
2. Рецензирование – команда проводит код-ревью документации.
3. Автоматическая проверка – линтеры и тесты проверяют синтаксис, ссылки и структуру.
4. Сборка и развертывание – система CI/CD публикует документацию в нужном формате.
5. Обновление и поддержка – документация развивается вместе с кодом.
🔹 Вызовы и сложности
🔸 Сопротивление со стороны команды – не все привыкли писать документацию в таком формате.
🔸 Необходимость в новых инструментах – Markdown или AsciiDoc, системы рендеринга (MkDocs, Docusaurus).
🔸 Поддержание актуальности – требуется дисциплина, чтобы обновлять документацию вместе с кодом.
🔸 Интеграция в CI/CD – настройка автоматического развертывания требует времени.
https://www.tabnine.com/blog/documentation-as-code-principles-workflow-and-challenges/
#devops #девопс
Подпишись 👉@i_DevOps
В современном мире разработки программного обеспечения концепция «Документация как код» (Documentation as Code, DaC) становится все более популярной. Этот подход использует инструменты и практики разработки программного обеспечения для написания, хранения и управления документацией.
🔹 Основные принципы
1. Хранение в системе контроля версий
Документация хранится в репозитории вместе с кодом, что позволяет отслеживать изменения, откатываться к предыдущим версиям и сотрудничать в команде.
2. Использование текстовых форматов (Markdown, AsciiDoc, reStructuredText и др.)
Вместо сложных редакторов документация пишется в простых текстовых форматах, что облегчает интеграцию с инструментами CI/CD.
3. Автоматизация сборки и публикации
Документация может автоматически обновляться и развертываться при каждом изменении кода.
4. Документирование в процессе разработки
Документация пишется параллельно с кодом, а не после него, что делает её актуальной.
5. Использование инструментов рецензирования
Pull Request'ы, ревью и линтеры помогают поддерживать качество документации.
🔹 Рабочий процесс
1. Создание документации – разработчик или технический писатель пишет документацию в виде кода.
2. Рецензирование – команда проводит код-ревью документации.
3. Автоматическая проверка – линтеры и тесты проверяют синтаксис, ссылки и структуру.
4. Сборка и развертывание – система CI/CD публикует документацию в нужном формате.
5. Обновление и поддержка – документация развивается вместе с кодом.
🔹 Вызовы и сложности
🔸 Сопротивление со стороны команды – не все привыкли писать документацию в таком формате.
🔸 Необходимость в новых инструментах – Markdown или AsciiDoc, системы рендеринга (MkDocs, Docusaurus).
🔸 Поддержание актуальности – требуется дисциплина, чтобы обновлять документацию вместе с кодом.
🔸 Интеграция в CI/CD – настройка автоматического развертывания требует времени.
https://www.tabnine.com/blog/documentation-as-code-principles-workflow-and-challenges/
#devops #девопс
Подпишись 👉@i_DevOps
👍2
Станьте тем самым сыном маминой подруги 💪
Мечтаете попасть в Google, Microsoft, Яндекс, VK или другие корпорации? Расскажем по секрету — они активно используют Golang для разработки своей инфраструктуры.
Если вы хотите дополнить своё резюме крутым языком и стать на шаг ближе к заветному офферу, присоединяйтесь к потоку курса «Golang для инженеров».
За 3 месяца вы научитесь:
✔️ писать код на Go: переменные, типы данных, функции и структуры
✔️ создавать микросервисы, взаимодействуя с Docker и Kubernetes
✔️ разрабатывать и тестировать API-сервисы на языке Go
✔️ работать с Kubernetes, включая создание и использование операторов
Спикеры курса, Всеволод Севостьянов — Staff engineer в Lokalise, и Тигран Ханагян — Senior software engineer в HungerStation Delivery Hero, имеют более 10 лет опыта разработки и обучат вас уверенному владению Go.
📅 Старт 10 марта
По коду GoForOps10 вас ждет скидка 10% 💸
👉 Занять место на курсе
#реклама
О рекламодателе
Мечтаете попасть в Google, Microsoft, Яндекс, VK или другие корпорации? Расскажем по секрету — они активно используют Golang для разработки своей инфраструктуры.
Если вы хотите дополнить своё резюме крутым языком и стать на шаг ближе к заветному офферу, присоединяйтесь к потоку курса «Golang для инженеров».
За 3 месяца вы научитесь:
✔️ писать код на Go: переменные, типы данных, функции и структуры
✔️ создавать микросервисы, взаимодействуя с Docker и Kubernetes
✔️ разрабатывать и тестировать API-сервисы на языке Go
✔️ работать с Kubernetes, включая создание и использование операторов
Спикеры курса, Всеволод Севостьянов — Staff engineer в Lokalise, и Тигран Ханагян — Senior software engineer в HungerStation Delivery Hero, имеют более 10 лет опыта разработки и обучат вас уверенному владению Go.
📅 Старт 10 марта
По коду GoForOps10 вас ждет скидка 10% 💸
👉 Занять место на курсе
#реклама
О рекламодателе
👍1
Выходим за рамки: создание оператора для наблюдения за внешними ресурсами в Kubernetes
В этой статье мы рассмотрим, как создать оператор, который выходит за рамки кластера и взаимодействует с внешним миром. На примере мониторинга HTTP-серверов вы узнаете, как использовать kubebuilder для разработки custom-операторов и как организовать работу с внешними ресурсами. Статья будет полезна разработчикам, желающим расширить возможности своих Kubernetes-кластеров.
https://habr.com/ru/companies/flant/articles/884566/
#devops #девопс
Подпишись 👉@i_DevOps
В этой статье мы рассмотрим, как создать оператор, который выходит за рамки кластера и взаимодействует с внешним миром. На примере мониторинга HTTP-серверов вы узнаете, как использовать kubebuilder для разработки custom-операторов и как организовать работу с внешними ресурсами. Статья будет полезна разработчикам, желающим расширить возможности своих Kubernetes-кластеров.
https://habr.com/ru/companies/flant/articles/884566/
#devops #девопс
Подпишись 👉@i_DevOps
👍1
Освойте управление кластерами в Kubernetes по программе Яндекса
Яндекс открыл доступ к базе знаний с программами, которые помогают девопсам освоить новые навыки. Например, «Managed Service for Kubernetes» составили эксперты Yandex Cloud и практикующие инженеры.
Программа рассчитана на 24 часа освоения и состоит из 60 практических заданий, а также теории по 7 темам. Материалы останутся с вами навсегда.
Вот, что конкретно с её помощью можно освоить:
▪️Развёртывание кластеров;
▪️Настройку сети;
▪️Автоматизацию работы;
▪️Контроль доступа через RBAC;
▪️Решение проблемы с кластером и приложениями;
▪️Работу с Yandex Managed Service for Kubernetes.
Внутри открытой базы знаний Яндекса множество полезных материалов для девопсов. Узнать о них подробнее и получить доступ можно по ссылке.
Яндекс открыл доступ к базе знаний с программами, которые помогают девопсам освоить новые навыки. Например, «Managed Service for Kubernetes» составили эксперты Yandex Cloud и практикующие инженеры.
Программа рассчитана на 24 часа освоения и состоит из 60 практических заданий, а также теории по 7 темам. Материалы останутся с вами навсегда.
Вот, что конкретно с её помощью можно освоить:
▪️Развёртывание кластеров;
▪️Настройку сети;
▪️Автоматизацию работы;
▪️Контроль доступа через RBAC;
▪️Решение проблемы с кластером и приложениями;
▪️Работу с Yandex Managed Service for Kubernetes.
Внутри открытой базы знаний Яндекса множество полезных материалов для девопсов. Узнать о них подробнее и получить доступ можно по ссылке.
🔥1😁1
Какой код сигнала будет выполнен при исполнении команды kill <PID>?
Сигнал SIGTERM (код 15) — это сигнал по-умолчанию отправляемый при вызове команды kill. Это указывает процессу на завершение работы и обычно считается сигналом для использования при чистом завершении работы.
#devops #девопс
Подпишись 👉@i_DevOps
Сигнал SIGTERM (код 15) — это сигнал по-умолчанию отправляемый при вызове команды kill. Это указывает процессу на завершение работы и обычно считается сигналом для использования при чистом завершении работы.
#devops #девопс
Подпишись 👉@i_DevOps
👍1
🔥 Как снизить Latency в Kubernetes? 🔥
Высокая задержка (latency) в Kubernetes может стать настоящей головной болью для DevOps-инженера. Давайте разберем, какие ключевые настройки помогут снизить задержку и ускорить ваш кластер!
🚀 1. Настройка Kube-Proxy
Если используете iptables-режим, попробуйте переключиться на IPVS:
Установите
🚀 2. Подключение eBPF (Cilium)
Классические iptables могут быть узким местом. Попробуйте Cilium с eBPF, который обеспечивает более быструю маршрутизацию:
🚀 3. Использование NodeLocal DNSCache
DNS-запросы — частая причина высокой задержки. Включите локальный кэш:
Это уменьшит нагрузку на CoreDNS и ускорит обработку запросов.
🚀 4. Tuning TCP (sysctl)
Настройте TCP-параметры для более быстрой передачи данных:
Эти параметры помогут лучше обрабатывать соединения и снижать задержку.
🚀 5. Использование Multi-NIC и CNI-плагинов
Если у вас высокий сетевой трафик, попробуйте Multus CNI для распределения нагрузки между несколькими сетевыми интерфейсами.
#devops #девопс
Подпишись 👉@i_DevOps
Высокая задержка (latency) в Kubernetes может стать настоящей головной болью для DevOps-инженера. Давайте разберем, какие ключевые настройки помогут снизить задержку и ускорить ваш кластер!
🚀 1. Настройка Kube-Proxy
Если используете iptables-режим, попробуйте переключиться на IPVS:
kubectl edit configmap -n kube-system kube-proxy
Установите
mode: "ipvs". Это значительно улучшает балансировку нагрузки и снижает задержку при обработке запросов. 🚀 2. Подключение eBPF (Cilium)
Классические iptables могут быть узким местом. Попробуйте Cilium с eBPF, который обеспечивает более быструю маршрутизацию:
helm install cilium cilium/cilium --namespace kube-system
🚀 3. Использование NodeLocal DNSCache
DNS-запросы — частая причина высокой задержки. Включите локальный кэш:
kubectl apply -f https://k8s.io/examples/admin/dns/nodelocaldns.yaml
Это уменьшит нагрузку на CoreDNS и ускорит обработку запросов.
🚀 4. Tuning TCP (sysctl)
Настройте TCP-параметры для более быстрой передачи данных:
sysctl -w net.core.somaxconn=1024
sysctl -w net.ipv4.tcp_tw_reuse=1
sysctl -w net.ipv4.tcp_max_syn_backlog=8192
Эти параметры помогут лучше обрабатывать соединения и снижать задержку.
🚀 5. Использование Multi-NIC и CNI-плагинов
Если у вас высокий сетевой трафик, попробуйте Multus CNI для распределения нагрузки между несколькими сетевыми интерфейсами.
#devops #девопс
Подпишись 👉@i_DevOps
👍4❤1
Поможем освоить методологию DevOps и выйти на новый профессиональный уровень за 4 месяца
Старт: 17 марта. Оставьте заявку на сайте или напишите нашему менеджеру в Телеграм @Codeby_Academy
Программа курса:
- Контейнеризация и оркестрация: Docker и Kubernetes
- Основы Linux и Git
- Принципы работы с инфраструктурой, контейнерами, CI/CD
- Методы статического анализа для оценки безопасности кода
- Компьютерные сети, базы данных и Bash-скрипты
Кому подойдет этот курс?
- Новичкам: для старта карьеры в команде продуктовой разработки
- Разработчикам: для автоматизации и оптимизации процессов
- Руководителям проектов: для повышения эффективности своей команды
Старт: 17 марта. Оставьте заявку на сайте или напишите нашему менеджеру в Телеграм @Codeby_Academy
Программа курса:
- Контейнеризация и оркестрация: Docker и Kubernetes
- Основы Linux и Git
- Принципы работы с инфраструктурой, контейнерами, CI/CD
- Методы статического анализа для оценки безопасности кода
- Компьютерные сети, базы данных и Bash-скрипты
Кому подойдет этот курс?
- Новичкам: для старта карьеры в команде продуктовой разработки
- Разработчикам: для автоматизации и оптимизации процессов
- Руководителям проектов: для повышения эффективности своей команды
👍1
Pipeline CI/CD, объясненный простыми словами
Раздел 1 - SDLC с CI/CD
Жизненный цикл разработки программного обеспечения (SDLC) состоит из нескольких ключевых этапов: разработка, тестирование, развертывание и сопровождение. CI/CD автоматизирует и интегрирует эти этапы, чтобы обеспечить более быстрые и надежные релизы.
Когда код размещается в git-репозитории, он запускает автоматизированный процесс сборки и тестирования. Для проверки кода запускаются сквозные (e2e) тесты. Если тесты пройдены, код может быть автоматически развернут на этапе staging/продакшен. Если обнаружены проблемы, код возвращается в разработку для исправления ошибок. Такая автоматизация обеспечивает быструю обратную связь с разработчиками и снижает риск появления ошибок в продакшене.
Раздел 2 - Разница между CI и CD
Непрерывная интеграция (CI) автоматизирует процесс сборки, тестирования и слияния. Она запускает тесты при коммите кода, чтобы обнаружить проблемы интеграции на ранней стадии. Это стимулирует частые коммиты кода и быструю обратную связь.
Continuous Delivery (CD) автоматизирует процессы выпуска, такие как изменение инфраструктуры и развертывание. Она обеспечивает надежный выпуск программного обеспечения в любое время благодаря автоматизированным рабочим процессам. CD также может автоматизировать ручное тестирование и этапы утверждения, необходимые перед развертыванием продакшена.
Раздел 3 - CI/CD Pipeline
Типичный pipeline CI/CD состоит из нескольких взаимосвязанных этапов:
- Разработчик коммитит изменения кода в системе контроля исходного кода
- CI-сервер обнаруживает изменения и запускает сборку
- Код компилируется, тестируется (модульные, интеграционные тесты)
- Результаты тестирования сообщаются разработчику
- При успешном завершении артефакты развертываются в среде staging.
- Дальнейшее тестирование может быть проведено в среде staging перед выпуском.
- Система CD развертывает одобренные изменения в продакшене
#devops #девопс
Подпишись 👉@i_DevOps
Раздел 1 - SDLC с CI/CD
Жизненный цикл разработки программного обеспечения (SDLC) состоит из нескольких ключевых этапов: разработка, тестирование, развертывание и сопровождение. CI/CD автоматизирует и интегрирует эти этапы, чтобы обеспечить более быстрые и надежные релизы.
Когда код размещается в git-репозитории, он запускает автоматизированный процесс сборки и тестирования. Для проверки кода запускаются сквозные (e2e) тесты. Если тесты пройдены, код может быть автоматически развернут на этапе staging/продакшен. Если обнаружены проблемы, код возвращается в разработку для исправления ошибок. Такая автоматизация обеспечивает быструю обратную связь с разработчиками и снижает риск появления ошибок в продакшене.
Раздел 2 - Разница между CI и CD
Непрерывная интеграция (CI) автоматизирует процесс сборки, тестирования и слияния. Она запускает тесты при коммите кода, чтобы обнаружить проблемы интеграции на ранней стадии. Это стимулирует частые коммиты кода и быструю обратную связь.
Continuous Delivery (CD) автоматизирует процессы выпуска, такие как изменение инфраструктуры и развертывание. Она обеспечивает надежный выпуск программного обеспечения в любое время благодаря автоматизированным рабочим процессам. CD также может автоматизировать ручное тестирование и этапы утверждения, необходимые перед развертыванием продакшена.
Раздел 3 - CI/CD Pipeline
Типичный pipeline CI/CD состоит из нескольких взаимосвязанных этапов:
- Разработчик коммитит изменения кода в системе контроля исходного кода
- CI-сервер обнаруживает изменения и запускает сборку
- Код компилируется, тестируется (модульные, интеграционные тесты)
- Результаты тестирования сообщаются разработчику
- При успешном завершении артефакты развертываются в среде staging.
- Дальнейшее тестирование может быть проведено в среде staging перед выпуском.
- Система CD развертывает одобренные изменения в продакшене
#devops #девопс
Подпишись 👉@i_DevOps
👍5🥰1
Коллеги, давайте еще немного сдвинем сроки выхода приложения, вернемся к вопросу через неделю через полгода. Любимая фраза 😎
Как ускорить процесс разработки и вывод продуктов на рынок? Настраиваем DevOps-конвейер от Сферы🧑💻
Сфера.Сборка — это платформенная экосистема всех необходимых инструментов, которые позволяют автоматизировать процесс разработки и управления жизненным циклом приложений.
DevOps-конвейер Сферы:
🛑 «Сфера.Портал разработки» — единая точка входа для всех разработчиков проекта и инструмент для построения сквозного автоматизированного процесса разработки технологических продуктов.
🛑 «Сфера.CI/CD» — связующее звено всего конвейера, отвечает за оркестрацию DevOps-процесса.
🛑 «Сфера.Дистрибутивы и лицензии» — инструмент для управления артефактами разработки ПО, позволяет создавать репозитории и управлять ими, а также анализировать состав кода, реализовывать собственные политики применения открытых программных компонентов.
🛑 «Сфера.Код» — Git-инструмент для совместной работы, позволяющий хранить, версионировать, консолидировать код и передавать его в систему оркестрации сборки.
DevOps-конвейер Сферы легко интегрируется со многими существующими платформами: AD/LDAP, системами мониторинга, аудита и журналирования.
📌 Подробнее о всех возможностях DevOps-конвейера Сферы.
Реклама ООО «ГК «Иннотех»» ИНН: 9703073496. Erid: 2SDnje4De8C
Как ускорить процесс разработки и вывод продуктов на рынок? Настраиваем DevOps-конвейер от Сферы
Сфера.Сборка — это платформенная экосистема всех необходимых инструментов, которые позволяют автоматизировать процесс разработки и управления жизненным циклом приложений.
DevOps-конвейер Сферы:
DevOps-конвейер Сферы легко интегрируется со многими существующими платформами: AD/LDAP, системами мониторинга, аудита и журналирования.
Реклама ООО «ГК «Иннотех»» ИНН: 9703073496. Erid: 2SDnje4De8C
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
10 шагов к созданию оркестратора Terragrunt
1. Определите цели – Четко обозначьте, какие задачи должен решать оркестратор: управление инфраструктурой, стандартизация, масштабируемость.
2. Выберите подходящую структуру каталогов – Используйте рекомендуемые шаблоны Terragrunt (например,
3. Разделите окружения и компоненты – Используйте отдельные файлы для разных окружений (
4. Оптимизируйте конфигурации – Настройте Terragrunt, чтобы минимизировать дублирование кода с помощью наследования (
5. Создайте систему автоматизации – Интегрируйте оркестратор в CI/CD-пайплайны для автоматизированного развертывания.
6. Реализуйте контроль доступа – Используйте IAM-роли и политики, чтобы ограничить доступ к инфраструктуре.
7. Настройте работу с зависимостями – Определите порядок применения модулей и настройте зависимости между ними.
8. Добавьте мониторинг и логи – Внедрите системы логирования (например, AWS CloudWatch) для отслеживания изменений.
9. Проводите тестирование инфраструктуры – Используйте инструменты вроде
10. Документируйте процессы – Поддерживайте актуальную документацию, чтобы упростить онбординг новых членов команды.
https://nordcloud.com/tech-community/10-steps-to-building-terragrunt-orchestrator/
#devops #девопс
Подпишись 👉@i_DevOps
1. Определите цели – Четко обозначьте, какие задачи должен решать оркестратор: управление инфраструктурой, стандартизация, масштабируемость.
2. Выберите подходящую структуру каталогов – Используйте рекомендуемые шаблоны Terragrunt (например,
live и modules), чтобы упростить поддержку кода.3. Разделите окружения и компоненты – Используйте отдельные файлы для разных окружений (
dev, staging, prod), что обеспечит гибкость и контроль.4. Оптимизируйте конфигурации – Настройте Terragrunt, чтобы минимизировать дублирование кода с помощью наследования (
include).5. Создайте систему автоматизации – Интегрируйте оркестратор в CI/CD-пайплайны для автоматизированного развертывания.
6. Реализуйте контроль доступа – Используйте IAM-роли и политики, чтобы ограничить доступ к инфраструктуре.
7. Настройте работу с зависимостями – Определите порядок применения модулей и настройте зависимости между ними.
8. Добавьте мониторинг и логи – Внедрите системы логирования (например, AWS CloudWatch) для отслеживания изменений.
9. Проводите тестирование инфраструктуры – Используйте инструменты вроде
terraform validate, terragrunt plan и checkov для проверки конфигураций.10. Документируйте процессы – Поддерживайте актуальную документацию, чтобы упростить онбординг новых членов команды.
https://nordcloud.com/tech-community/10-steps-to-building-terragrunt-orchestrator/
#devops #девопс
Подпишись 👉@i_DevOps
👍4
⚡️Современные распределённые системы генерируют огромные объёмы данных, а эффективный мониторинг становится залогом стабильной работы. Как построить систему, способную выдерживать большие нагрузки, обрабатывать миллионы метрик в секунду и мгновенно реагировать на аномалии?
🔥11 марта в 20.00 мск приглашаем на открытый урок "Проектирование высоконагруженного мониторинга в распределенных системах", на котором разберем:
- лучшие инструменты для сбора и хранения метрик (Prometheus, VictoriaMetrics, Mimir, Thanos и др.);
- методы оптимизации: федерация, шардинг, агрегация, сэмплирование;
- как минимизировать нагрузку и сократить расходы на хранение данных;
- практические кейсы внедрения в highload-проектах.
👉Регистрация https://vk.cc/cJpQMI
Занятие приурочено к старту курса "Observability: мониторинг, логирование, трейсинг", на котором вы научитесь строить эффективные системы мониторинга, работать с Prometheus, Grafana, ELK и другими инструментами, визуализировать метрики.
🔥11 марта в 20.00 мск приглашаем на открытый урок "Проектирование высоконагруженного мониторинга в распределенных системах", на котором разберем:
- лучшие инструменты для сбора и хранения метрик (Prometheus, VictoriaMetrics, Mimir, Thanos и др.);
- методы оптимизации: федерация, шардинг, агрегация, сэмплирование;
- как минимизировать нагрузку и сократить расходы на хранение данных;
- практические кейсы внедрения в highload-проектах.
👉Регистрация https://vk.cc/cJpQMI
Занятие приурочено к старту курса "Observability: мониторинг, логирование, трейсинг", на котором вы научитесь строить эффективные системы мониторинга, работать с Prometheus, Grafana, ELK и другими инструментами, визуализировать метрики.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576Шпаргалка по Kubernetes
1. Основные понятия
• Pod – наименьшая единица развертывания, содержит один или несколько контейнеров.
• Deployment – контроллер, который управляет репликами Pod’ов и их обновлением.
• Service – абстракция, предоставляющая доступ к Pod’ам (ClusterIP, NodePort, LoadBalancer).
• ConfigMap – хранит конфигурационные данные в виде ключ-значение.
• Secret – безопасное хранилище для конфиденциальных данных (пароли, токены).
• PersistentVolume (PV) – абстракция для хранения данных.
• PersistentVolumeClaim (PVC) – запрос на использование хранилища (PV).
• Namespace – логическое разделение ресурсов в кластере.
• Ingress – объект, предоставляющий доступ к сервисам внутри кластера через HTTP/HTTPS.
2. Основные команды kubectl
Работа с контекстом
Работа с ресурсами
Создание и удаление объектов
3. Пример манифестов
Простой Pod
Deployment
Service (NodePort)
Ingress
4. Полезные команды
5. Отладка и устранение проблем
#devops #девопс
Подпишись 👉@i_DevOps
1. Основные понятия
• Pod – наименьшая единица развертывания, содержит один или несколько контейнеров.
• Deployment – контроллер, который управляет репликами Pod’ов и их обновлением.
• Service – абстракция, предоставляющая доступ к Pod’ам (ClusterIP, NodePort, LoadBalancer).
• ConfigMap – хранит конфигурационные данные в виде ключ-значение.
• Secret – безопасное хранилище для конфиденциальных данных (пароли, токены).
• PersistentVolume (PV) – абстракция для хранения данных.
• PersistentVolumeClaim (PVC) – запрос на использование хранилища (PV).
• Namespace – логическое разделение ресурсов в кластере.
• Ingress – объект, предоставляющий доступ к сервисам внутри кластера через HTTP/HTTPS.
2. Основные команды kubectl
Работа с контекстом
kubectl config get-contexts # Список контекстов
kubectl config use-context <name> # Переключение контекста
kubectl config set-context <name> --namespace=<namespace> # Установить namespace по умолчанию Работа с ресурсами
kubectl get pods # Список Pod'ов
kubectl get deployments # Список Deployment'ов
kubectl get services # Список Service'ов
kubectl get nodes # Список узлов
kubectl get namespaces # Список namespace'ов
kubectl get events # Лог событий
kubectl describe pod <pod-name> # Подробная информация о Pod
kubectl logs <pod-name> # Логи Pod
kubectl exec -it <pod-name> -- /bin/sh # Зайти внутрь контейнера Создание и удаление объектов
kubectl apply -f <file>.yaml # Применить манифест
kubectl delete -f <file>.yaml # Удалить объект
kubectl delete pod <pod-name> # Удалить Pod
kubectl delete deployment <deploy-name> # Удалить Deployment 3. Пример манифестов
Простой Pod
apiVersion: v1
kind: Pod
metadata:
name: my-pod
spec:
containers:
- name: my-container
image: nginx
ports:
- containerPort: 80Deployment
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-deployment
spec:
replicas: 3
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-container
image: nginx
ports:
- containerPort: 80Service (NodePort)
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
selector:
app: my-app
ports:
- protocol: TCP
port: 80
targetPort: 80
nodePort: 30080
type: NodePortIngress
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: my-ingress
spec:
rules:
- host: example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: my-service
port:
number: 804. Полезные команды
kubectl top pod # Мониторинг использования CPU/RAM Pod'ов
kubectl top node # Мониторинг узлов
kubectl rollout status deployment <deploy-name> # Статус развертывания
kubectl rollout undo deployment <deploy-name> # Откат изменений
kubectl autoscale deployment <deploy-name> --min=2 --max=10 --cpu-percent=80 # Авто-масштабирование 5. Отладка и устранение проблем
kubectl get pods --all-namespaces # Проверить состояние всех Pod'ов
kubectl describe pod <pod-name> # Подробности о Pod
kubectl logs <pod-name> # Логи контейнера
kubectl logs <pod-name> -p # Логи завершившегося контейнера
kubectl exec -it <pod-name> -- /bin/sh # Подключение внутрь контейнера
kubectl get events --sort-by=.metadata.creationTimestamp # Последние события #devops #девопс
Подпишись 👉@i_DevOps
👍11❤2👎1
📌Docker
Удаление промежуточных образов без тэгов:
Мягко перезапустить контейнер:
Список контейнеров:
Подключиться к контейнеру:
Остановить все контейнеры:
Удалить все контейнеры, из которых вышли:
Удалить образ:
Создать образ:
Удалить все неиспользуемые тома:
Подключиться под рутом в контейнер Alpine:
docker exec -it --user root alpine-container bash
#devops #девопс
Подпишись 👉@i_DevOps
Удаление промежуточных образов без тэгов:
docker rmi $(docker images --filter "dangling=true" -q --no-trunc)Мягко перезапустить контейнер:
docker kill --signal="USR1" <yourcontainer_name>Список контейнеров:
docker ps -aПодключиться к контейнеру:
docker exec -it container_name bashОстановить все контейнеры:
docker stop $(docker ps -a -q)Удалить все контейнеры, из которых вышли:
docker rm -v $(docker ps -aq -f status=exited)Удалить образ:
docker rmi image_nameСоздать образ:
docker build -t image_name Удалить все неиспользуемые тома:
docker volume pruneПодключиться под рутом в контейнер Alpine:
docker exec -it --user root alpine-container bash
#devops #девопс
Подпишись 👉@i_DevOps
👍8
🐼Обработка Excel-таблиц с Pandas: больше никакой рутины!
Excel — отличный инструмент, пока вы не начинаете работать с огромными таблицами, сложными расчётами и бесконечными формулами. Сортировки, фильтры, ручная обработка — это боль.
Как автоматизировать работу с таблицами и делать больше за меньшее время? На открытом вебинаре «Искусство обработки Excel-таблиц с Pandas» 11 марта в 20:00 (мск):
- Узнаем, как загружать, фильтровать и группировать данные в Pandas
- Освоим автоматизацию рутинных задач, чтобы не тратить часы на одно и то же
- Разберём, как строить графики и визуализировать данные прямо из таблиц
Всем участникам — скидка на большое обучение «Python Developer. Basic».
⚡️Регистрация открыта: https://vk.cc/cJwtWO
Excel — отличный инструмент, пока вы не начинаете работать с огромными таблицами, сложными расчётами и бесконечными формулами. Сортировки, фильтры, ручная обработка — это боль.
Как автоматизировать работу с таблицами и делать больше за меньшее время? На открытом вебинаре «Искусство обработки Excel-таблиц с Pandas» 11 марта в 20:00 (мск):
- Узнаем, как загружать, фильтровать и группировать данные в Pandas
- Освоим автоматизацию рутинных задач, чтобы не тратить часы на одно и то же
- Разберём, как строить графики и визуализировать данные прямо из таблиц
Всем участникам — скидка на большое обучение «Python Developer. Basic».
⚡️Регистрация открыта: https://vk.cc/cJwtWO
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576👍1
Практическое руководство по настройке CI/CD для PHP проектов
В этом лонгриде я расскажу немного теории о CI/CD, но в основном это будут практические примеры и советы, в первую очередь полезные для PHP backend разработчиков, однако некоторые инструменты подходят и для других языков, и вы можете уловить общую идею, как писать пайплайны
https://habr.com/ru/articles/889120/
#devops #девопс
Подпишись 👉@i_DevOps
В этом лонгриде я расскажу немного теории о CI/CD, но в основном это будут практические примеры и советы, в первую очередь полезные для PHP backend разработчиков, однако некоторые инструменты подходят и для других языков, и вы можете уловить общую идею, как писать пайплайны
https://habr.com/ru/articles/889120/
#devops #девопс
Подпишись 👉@i_DevOps
👍5
Media is too big
VIEW IN TELEGRAM
Проект dockur/windows позволяет запускать Windows внутри контейнера Docker.
Он предоставляет такие возможности, как загрузка ISO-образов, ускорение с помощью KVM и веб-интерфейс для просмотра.
Основные особенности:
- Загрузчик ISO-образов
- Аппаратное ускорение через KVM
- Веб-интерфейс для доступа
Пример использования с Docker Compose:
Пример использования с Docker CLI:
https://github.com/dockur/windows
#devops #девопс
Подпишись 👉@i_DevOps
Он предоставляет такие возможности, как загрузка ISO-образов, ускорение с помощью KVM и веб-интерфейс для просмотра.
Основные особенности:
- Загрузчик ISO-образов
- Аппаратное ускорение через KVM
- Веб-интерфейс для доступа
Пример использования с Docker Compose:
services:
windows:
image: dockurr/windows
container_name: windows
environment:
VERSION: "11"
devices:
- /dev/kvm
- /dev/net/tun
cap_add:
- NET_ADMIN
ports:
- 8006:8006
- 3389:3389/tcp
- 3389:3389/udp
restart: always
stop_grace_period: 2m
Пример использования с Docker CLI:
docker run -it --rm -p 8006:8006 --device=/dev/kvm --device=/dev/net/tun --cap-add NET_ADMIN --stop-timeout 120 dockurr/windows
https://github.com/dockur/windows
#devops #девопс
Подпишись 👉@i_DevOps
👍5
Media is too big
VIEW IN TELEGRAM
🎥 Чем выпускник Открытых школ Т1 отличается от обычного кандидата?
Ответ в видео!
Эксперты ИТ-холдинга Т1 рассказывают, почему участники Открытых школ находятся на шаг впереди.Это не просто интенсив, а карьерный буст!
Участники интенсива для прикладных администраторов L2:
📁 познакомятся с DevOps как практикой разработки, подробно изучат контейнеризацию и микросервисы, погрузятся в Kubernetes и OpenShift, изучат работу с базами данных и многое другое;
🤝 погрузятся в проекты и культуру ИТ-холдинга Т1, познакомятся с командой;
📚 освоят навыки при поддержке менторов;
📈 смогут пройти собеседования увереннее благодаря HR-материалам и подготовке.
Даже без опыта можно войти в ИТ! Подай заявку до 14.03 и получи шанс стать частью одной из ведущих ИТ-компаний России! Старт обучения уже 17 марта!
Информация о рекламодателе.
Ответ в видео!
Эксперты ИТ-холдинга Т1 рассказывают, почему участники Открытых школ находятся на шаг впереди.
Участники интенсива для прикладных администраторов L2:
📁 познакомятся с DevOps как практикой разработки, подробно изучат контейнеризацию и микросервисы, погрузятся в Kubernetes и OpenShift, изучат работу с базами данных и многое другое;
🤝 погрузятся в проекты и культуру ИТ-холдинга Т1, познакомятся с командой;
📚 освоят навыки при поддержке менторов;
📈 смогут пройти собеседования увереннее благодаря HR-материалам и подготовке.
Даже без опыта можно войти в ИТ! Подай заявку до 14.03 и получи шанс стать частью одной из ведущих ИТ-компаний России! Старт обучения уже 17 марта!
Информация о рекламодателе.
👍3
Disaster Recovery Plan: Как правильно заваривать чай, когда горит серверная
В жизни любого проекта наступает катастрофа. Мы не можем заранее знать, что именно это будет - короткое замыкание в серверной, инженер, дропнувший центральную БД или нашествие бобров. Тем не менее, оно обязательно случится, причем по предельно идиотской причине.
Насчет бобров, я, кстати, не шутил. В Канаде они перегрызли кабель и оставили целый район Tumbler Ridge без оптоволоконной связи. Причем, животные, как мне кажется, делают все для того, чтобы внезапно лишить вас доступа к вашим ресурсам:
https://habr.com/ru/companies/wiseops/articles/802701/
#devops #девопс
Подпишись 👉@i_DevOps
В жизни любого проекта наступает катастрофа. Мы не можем заранее знать, что именно это будет - короткое замыкание в серверной, инженер, дропнувший центральную БД или нашествие бобров. Тем не менее, оно обязательно случится, причем по предельно идиотской причине.
Насчет бобров, я, кстати, не шутил. В Канаде они перегрызли кабель и оставили целый район Tumbler Ridge без оптоволоконной связи. Причем, животные, как мне кажется, делают все для того, чтобы внезапно лишить вас доступа к вашим ресурсам:
https://habr.com/ru/companies/wiseops/articles/802701/
#devops #девопс
Подпишись 👉@i_DevOps
👍1