DevOps – Telegram
DevOps
8.47K subscribers
1.46K photos
822 videos
28 files
1.74K links
Docker, Kubernetes, облачные сервисы (AWS, GCP, Azure), Infrastructure as a Code (Terraform, CloudFormation), администрирование Windows и Linux, сети TCP, IP, скрипты (Bash, PowerShell), Ansible, Jenkins, DevSecOps, логирование. По вопросам @evgenycarter
Download Telegram
Большая шпаргалка по Docker: как распилить монолитный проект на части

Погружение в мир контейнеризации с докером — это путь к оптимизации развёртыванию приложений, а также ключ к упрощению жизни разработчиков и системных администраторов. Меня зовут Андрей Аверков, в IT c 2008 начинал пусть с аналитика-проектировщика IT систем, 11 лет в роли разработчика и последние годы на руководящих должностях. Сейчас я тимлид команды разработки из 9 человек в группе компаний Kokoc Group. Мы занимаемся созданием и поддержкой CPA платформ (gdeslon.ru, fxpartners.ru, ads.mobisharks.com), а также проектом по генерации лендингов - lpgenerator.ru. Отдел разработки тесно сотрудничает с отделом IT. И эту статью мне помогал писать Egorov_Ilja, он руководит IT-отделом в группе компаний Kokoc Group с 2013 года, а вообще в компании уже более 16 лет. В общем, у нас довольно большой опыт в разделении продуктов на части, поэтому, сегодня мы собрали самое основное и необходимое для работы с Docker. В нашей шпаргалке вы найдете все необходимое для успешного старта с докером: от базовых концепций и установки до продвинутых техник работы с контейнерами.

https://habr.com/ru/companies/kokocgroup/articles/802039/

#devops #девопс

Подпишись 👉@i_DevOps
👍4
Эволюция Terraform: Как мы безопасно отделили дюжину сервисов от монолита

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

https://medium.com/@susovan87/lesson-learned-after-decoupling-a-dozen-of-services-from-terraform-monolith-safely-with-no-downtime-404e503f6cb6

#devops #девопс

Подпишись 👉@i_DevOps
👍5
Понимание многоархивных контейнеров, преимуществ и интеграции CI/CD

Вы когда-нибудь видели сообщение об ошибке "exec /docker-entrypoint.sh: exec format error" на вашем сервере при запуске любого образа docker или подкад Kubernetes? Скорее всего, это связано с тем, что на вашем сервере запущен образ контейнера с другой архитектурой процессора, или вы когда-нибудь использовали опцию --platform linux/x86_64 на вашем Apple silicon M1, M2 MacBook? Если да, то вы не получаете встроенной производительности Apple silicon и, возможно, это разряжает батарею вашего MacBook. Чтобы избежать подобных ошибок и проблем с производительностью, нам нужно запустить правильный многоархивный образ контейнера или создать свой собственный образ, поскольку все публичные образы контейнеров не содержат многоархивных образов.

В этой статье мы узнаем, что такое многоархивные образы контейнеров? Как они работают? Как их создавать и продвигать? И напишем пример кода для создания многоархивного образа в конвейере CI/CD.

https://www.infracloud.io/blogs/multi-arch-containers-ci-cd-integration/

#devops #девопс

Подпишись 👉@i_DevOps
👍3
Haskell Dockerfile Linter

Интеллектуальный распаковщик Dockerfile, помогающий создавать лучшие образы Docker. Линтер разбирает Docker-файл на AST и выполняет правила поверх AST. Он опирается на поддержку ShellCheck для проверки Bash-кода внутри инструкций RUN.

https://github.com/hadolint/hadolint

#devops #девопс

Подпишись 👉@i_DevOps
👍4
Продвинутая работа с логами в Linux

journalctl - Работа со структурированными логами

Журнал событий, это компонент systemd, который захватывает сообщения Syslog, логи ядра, все события при инициализации системы (RAM, диск, boot, STDOUT/STDERR для всех сервисов), индексирует их и затем предоставляет удобной пользовательский интерфейс для поиска и фильтрации логов. Журнал (systemd journal) можно использовать вместе или вместо syslog или syslog-ng.

Утилита командной строки journalctl, если сравнивать ее с традиционным инструментами для работы с логами в UNIX (tail, grep, sed, awk) более широкие возможности.

Давайте рассмотрим основные возможности которые предоставляет журнал systemd и способы их применения.

https://habr.com/ru/articles/749714/

#devops #девопс

Подпишись 👉@i_DevOps
👍5
Перед вами — книга-метод, книга-наставник, способная перевернуть мышление и помочь выработать осознанный подход к работе и жизни в целом путём высокоуровневого планирования.

В своей второй книге IT-архитектор, методолог, педагог Александр Бындю раскрывает наиболее эффективный на сегодняшний день метод стратегического планирования, получивший название «Карта гипотез». Карта учит, как достигать намеченной цели через гипотезы, и служит навигатором на этом пути. В основу книги легли годы практики, и с уверенностью можно сказать, что Карта гипотез позволяет создать стратегию достижения для самых амбициозных целей.

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

Ознакомиться с книгой
👍3
Grafana Mimir - наше путешествие к бесконечной мудрости с помощью 5m активных временных рядов

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

https://tech.loveholidays.com/grafana-mimir-our-journey-towards-infinite-wisdom-with-5m-active-time-series-7a262ba53a3f

#devops #девопс

Подпишись 👉@i_DevOps
👍3
Как я ищу себе сотрудников в команду DevSecOps и AppSec

Привет! Меня зовут Михаил Синельников. Я DevSecOps TeamLead в РСХБ‑Интех. Тружусь в ИТ‑сфере уже 25 лет, немалую часть из которых — на руководящих должностях. Сегодня расскажу, как я ищу специалистов к себе в команду DevSecOps и AppSec, на что обращаю внимание и как общаюсь с соискателями, которые на собеседовании пытаются приукрасить собственные достижения.

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

https://habr.com/ru/companies/rshb/articles/802807/

#devops #девопс

Подпишись 👉@i_DevOps
👍3
Как DoorDash перешла с StatsD на Prometheus

Точная и надежная наблюдаемость важна при поддержке крупных распределенных сервисов, но это возможно только в том случае, если ваши инструменты так же масштабируемы. К сожалению, в DoorDash это было проблемой из-за пиковых сбоев трафика при использовании нашей устаревшей инфраструктуры метрик на базе StatsD. Именно тогда, когда нам больше всего нужны были данные о наблюдаемости, система оставляла нас на произвол судьбы.

https://doordash.engineering/2023/08/01/how-doordash-migrated-from-statsd-to-prometheus/

#devops #девопс

Подпишись 👉@i_DevOps
Skipper

Skipper - это HTTP-маршрутизатор и обратный прокси для построения сервисов. Он разработан для обработки >300 тысяч HTTP-маршрутов с подробными условиями поиска и гибким дополнением потока запросов фильтрами. Его можно использовать из коробки или расширить с помощью пользовательского поиска, логики фильтрации и конфигурации.

https://github.com/zalando/skipper

#devops #девопс

Подпишись 👉@i_DevOps
👍4👏1
Руководство по Kubernetes для хейтеров Kubernetes

Есть среди программистов такая фракция, в которой Kubernetes пользуется дурной репутацией как чрезмерно сложный пожиратель времени и технология, которой следует сторониться стартапам. Использовать Kubernetes в рамках небольшой команды — явный признак инженерного переусложнения.

Я и сам замешан в перемывании косточек на эту тему.

https://habr.com/ru/companies/timeweb/articles/804259/

Original https://paulbutler.org/2024/the-haters-guide-to-kubernetes/

#devops #девопс

Подпишись 👉@i_DevOps
👍5
В конце концов, почему бы и нет? Почему бы мне не сделать это?

#devops #девопс

Подпишись 👉@i_DevOps
🤣6👎2👍1
Настраиваем CI/CD с GitHub Actions и werf: инструкция для новичков

В этой статье мы рассмотрим, как настроить пайплайн CI/CD в GitHub: подготовим репозиторий, зальём туда приложение, создадим файлы конфигурации GitHub Actions, в которых опишем, как собирать наше приложение и деплоить его в кластер Kubernetes, развёрнутый под управлением Deckhouse Kubernetes Platform. Деплоить будем с помощью Open Source CLI-утилиты werf. Она помогает организовать полный цикл доставки приложений в Kubernetes и рассматривает Git как единый источник истины для состояния развёрнутого приложения. Статья рассчитана на тех, кто только начинает свой путь в мире облаков и кластеризации.

https://habr.com/ru/companies/flant/articles/803251/

#devops #девопс

Подпишись 👉@i_DevOps
❤‍🔥5👍4👎1
Автоматизируем сборку и деплой приложения в GitLab CI/CD: подробное руководство с примерами

При разработке приложений рано или поздно наступает момент, когда заниматься развёртыванием вручную становится затратно и неудобно. Как следствие на помощь приходит автоматизация этого процесса с помощью специально настроенных пайплайнов непрерывной интеграции и непрерывной доставки (Continuous Integration & Continuous Delivery — CI/CD). Для разных систем управления репозиториями исходного кода существуют свои способы настройки CI/CD.

В этой статье мы рассмотрим, как использовать GitLab для организации автоматической сборки и деплоя приложения в кластер Kubernetes. Сам кластер будет работать под управлением Deckhouse Kubernetes Platform (код приложения и процесс настройки кластера мы описывали в предыдущей статье цикла), а автоматизировать процесс будем с помощью werf — Open Source CLI-утилиты, организующей полный цикл доставки приложения в Kubernetes и использующей Git как единый источник истины для состояния приложения, развёрнутого в кластере.

https://habr.com/ru/companies/flant/articles/795475/

#devops #девопс

Подпишись 👉@i_DevOps
👍5
Отладка плэйбуков ansible

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

https://habr.com/ru/articles/745328/

#devops #девопс

Подпишись 👉@i_DevOps
👍5
Пишем роли ansible не ломая прод — особенности check_mode или как правильно его готовить

В данном опусе я попытаюсь рассказать как можно писать роли и плэйбуки такими, чтобы они отыгрывали без падений при запуске с флагом --check. Зачем вот это всё: вы в команде адептов инфраструктуры как код и не только раскатываете свою инфраструктуру, но и обновляете ее и хотите быстро восстанавливать, а это значит что вы должны обеспечивать одну из ключевых концепций ansible - идемпотентность повторных запусков. Для этого вы вынуждены не только писать роли, применяя их в лабораторных условиях, но и применения их на реальной инфраструктуре, о том как дебажить при этом ямлы написано например здесь. Применять код который сделает множество изменений в продакшн - такое себе удовольствие не для слабонервных, поэтому и мы будем пускать его предварительно с флагом --check - в холостую, желая посмотреть те изменения которые будут внесены в целевую инфраструктуру. То есть, если вы собираетесь реконфигурировать сервис в одном конфиге и перезапустить-перегрузить его, то вы должны увидеть только 2 изменения (changed) по итогам запуска.

https://habr.com/ru/articles/746864/

#devops #девопс

Подпишись 👉@i_DevOps
👍7👏1
GitOps с использованием Flux и Flagger

GitOps как практика используется с 2017 года, когда Алексис Ричардсон придумал этот термин. Он изменил DevOps и автоматизацию. Если посмотреть на его основные принципы, то он расширяет DevOps, рассматривая инфраструктуру как код (IaC). Конфигурация развертывания хранится в системе контроля версий (она же Git), обеспечивая единый источник данных для разработчиков.

https://dev.to/infracloud/gitops-using-flux-and-flagger-15ci

#devops #девопс

Подпишись 👉@i_DevOps
👍5
System Design 101

О сложных системах простыми словами.

В шпаргалке на высоком уровне рассматриваются такие вещи, как протоколы коммуникации, DevOps, CI/CD, архитектурные паттерны, базы данных, кэширование, микросервисы (и монолиты), платежные системы, Git, облачные сервисы etc. Особую ценность представляют диаграммы — рекомендую уделить им пристальное внимание. Полагаю, шпаргалка будет интересна всем, кто хоть как-то связан с разработкой программного обеспечения и, прежде всего, веб-приложений. Буду признателен за помощь в уточнении/исправлении понятий, терминологии, логики/алгоритмов работы систем (в рамках того, что по этому поводу содержится в оригинале), а также в обнаружении очепяток.

https://habr.com/ru/articles/770564/

original https://github.com/ByteByteGoHq/system-design-101

#devops #девопс

Подпишись 👉@i_DevOps
5👍2