DevOps FM
5.12K subscribers
697 photos
12 videos
10 files
806 links
♾️ Канал для тех, кто живёт слиянием разработки и эксплуатации (DevOps) и сис. администрированием.

Новости, статьи, практики, инструменты и развлекательный контент. Cloud Native, Docker, Kubernetes, БД, мониторинг и пр.

По вопросам — к Ладе @b_vls
Download Telegram
Пятничное чтиво — на DevOps FM

📝 Пользователи-девопсы Reddit рассказывают о самых странных задачах и нелепых решениях. Вот самые короткие истории:

Find a bug in.jvm inteoduced by one of 500 PRs causing massive thread inflation.


I had a recent few days of plugging together various ms teams and Jira api calls webhooks into Jenkins to automate something.


The vertical pod autoscaler has been evicting pods that emit OOM (out of memory) even when the host is not out of RAM. These pods are also not selected by a VPA.


Желаем весёлого чтения и хороших выходных!

#devops #reddit
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍6😁31👨‍💻1
☁️ Заоблачные счета на облака

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

70 тыс. долларов за выходные за перемещение объектов из S3 в Glacier. Это было давно, но вроде есть счета за перемещенные ГБ и счета за количество штук. Мы забыли про второй пункт, а у нас была куча небольших объектов, отсюда и такая сумма.


120 тыс. долларов за 5 дней. Вице-президент по исследованиям и разработке сам настраивал стресс-тест инфраструктуры нового продукта, который копировал большие файлы из S3 в EC2. Когда я предложил ему помочь, он сказал что сам все знает. В понедельник утром я получил звонок, где меня в панике спрашивали откуда взялся счет от AWS на 120 тыс. долларов. VP неправильно настроил эндпоинты.


300 тыс. долларов у Datadog за детальное логирование, хаха. Вскоре после этого меня уволили, так как закончились деньги. Они настаивали на том, чтобы у них были подробные журналы. Надеюсь, что они нашли то, что искали в этих логах.


1 млн. евро. У клиента взломали учетную запись администратора в Azure, хакер установил самые большие виртуальные машины, какие только можно, и несколько дней работал с криптовалютой. Клиенту пришлось заплатить, и хотя мы пытались поговорить с Microsoft, они не пошли на встречу.


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

#devops #reddit #cloud
👍12🤯71😱1🌚1
📝 Инструменты и языки, которые хочется забыть

На Reddit подняли интересную тему о различных инструментах и языках программирования, задав вопрос: Что вы не укажете в резюме, несмотря на опыт, чтобы больше никогда с этим не работать?

Собирали для вас несколько популярных ответов:

Visual Basic……………….. забудьте то, что я сказал.


Jira. Я так устал быть дефакто администратором atlassian, вынужденным убирать за всеми, ибо никто и пальцем не пошевелит для реализации облака.


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


Все, что сделано рукой IBM.


А что бы вы вычеркнули из своего резюме навсегда?

#devops #reddit
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12😁9🔥1
Пятничное чтиво — на DevOps FM

📝 Пользователи-сисадмины Reddit делятся историями о черной магии на работе. Вот самые забавные истории:

Недавно наняли парня из VMware, бывшего сотрудника Dell из России.

16:40. Один из наших администраторов чистил хранилище данных в vSAN и случайно удалил несколько vmdk, что привело к остановке прода. Решили, что восстановим из Veeam ночные копии. Но с учетом восстановления будет потеряно 2 или более дней работы.

Этот парень, которого мы наняли из России, заходит, смотрит и с густым европейским акцентом говорит "Я исправлю это за 4 часа». Он включает ssh, запрашивает root, подключается, начинает, кажется, собирать файлы вместе, я не уверен, и — черная магия: VDMK ребутнулись, виртуальные машины работают как ни в чем не бывало. Он сослался на стишок про Шалтая-Болтая: «Я сшиваю виртуальные машины, как Шалтая-Болтая, делаю виртуальные машины снова целыми».

Точно... черный маг.


Однажды я работал в одной телекоммуникационной компании в начале эры ADSL, и мы проводили демонстрацию того, как можно накладывать друг на друга различные технологии - ATM, Frame Relay, VDSL и еще какие-то, которые я уже забыл. У нас были Alcatel, Lucent, Cisco и некоторые другие. Так или иначе, это не работало. Три группы инженеров от разных поставщиков и консультантов несколько дней смотрели на все это, но так и не смогли заставить работать.

В конце концов руководство проекта прислало супердорогого консультанта Cisco из Японии или США. Этот парень представлял собой образ консультанта «большой пятерки» - дорогой костюм, портфель, как с иголочки.

Самое удивительное, что я когда-либо видел - прямо как из фильма про хакеров. Парень садится за консоль с зеленым экраном, включает какой-то пакетный хекс-дамп, смотрит на это, прокручивая по экрану в течение 5 минут, и говорит: «О, вы забыли включить X, установить Y на Z и включить Q». Сделал эти изменения и бац - все заработало. Парень ушел через 10 минут.

Хотел бы я приблизиться к такому уровню мастерства.


Делитесь своей черной магией в комментариях! Всем желаем весёлого чтения и хороших выходных!

#devops #reddit
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1710🔥2🤔1
☁️ Облачные концепции и их ньюансы

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

Для меня это был IAM на AWS. Сначала все казалось простым — просто дайте пользователям права, верно? Но когда я вник в роли, политики, привилегии... Это было похоже на падение в кроличью нору.

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


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

Мне потребовалось слишком много времени, чтобы понять что самая защищенная группа это та, которая ни с кем не соединена 😅.


Ценообразование


Oauth2/OpenID и смежные вопросы, они удивляют меня каждый день.

На первый взгляд все просто, но когда у вас есть несколько приложений с разными требованиями, использующих разные сценарии — их настройка превращается в запутанную паутину. Добавьте сюда корпоративную IDP, и на пенсию вы будете выходить со словами «сейчас, еще кое-что доделаю».

В нашей команде мы тратим 70% времени на различные темы аутентификации и авторизации. Это бесконечная яма.

Делитесь своими черными дырами в cloud-концепциях! Всем желаем весёлого чтения и хороших выходных!

#devops #reddit #cloud
👍16🔥64
⚙️ Маленькие CI/CD и большие результаты

На Reddit подняли интересную тему о различных CI/CD процессах, задав вопрос: Какие небольшие, но полезные улучшения в CI/CD вы сделали?

Собирали для вас несколько популярных ответов:

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


Напишите как можно больше CI/CD-задач в виде отдельных скриптов, чтобы можно было запускать и тестировать их локально. Но не заходите слишком далеко: написание собственной CI/CD системы на скриптовом языке — не самое лучшая трата вашего времени.

Чтобы скрипты было легко вызывать, добавьте несколько Makefiles в качестве обертки. Только эти две вещи сэкономят вам огромное количество времени.


Производительность CI/CD зависит от кэширования. В GitHub Actions есть кэш, который поддерживается Docker. Его использование значительно повышает производительность.

В этом проекте есть ряд примеров использования кэширования для оптимизации производительности. Например, использование GitHub docker реестра для обмена образами между параллельными этапами, использование кэша GitHub для файлов и т. д.

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

А какие CI/CD процессы посоветовали бы вы?

#devops #reddit #cicd
Please open Telegram to view this post
VIEW IN TELEGRAM
👍85🔥3
☁️ Облачные технологии простыми словами

Пользователь Reddit предложил поделиться идеями о том, как объяснять свою работу в облаке людям, далеким от IT. Собрали несколько интересных способов:

"Я работаю в IT"

- Ты можешь создать мне сайт?

или

- Можешь починить компьютер моей мамы?


Я начинаю с "Ты арендуешь чужой компьютер"

Если они все еще заинтересованы, у меня есть аналогия:

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


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

Все они должны быть где-то помещены, и каждый, кому это позволено, должен иметь возможность видеть их. Это требует много "телефонов." Я управляю телефонами.

А объясняете свою работу вы?

#devops #reddit #cloud
7👍5
Legacy vs прогресс: как работать с системами прошлого

👤На Reddit обсудили боль DevOps-инженеров: как работать с системами, которые устарели пять лет назад и блокируют внедрение новых решений.
Каждое обновление с Legacy-системами превращается в квест: старые решения не интегрируются с современными процессами, руководство действует по правилу "не чини, если не сломано", инженеры тратят силы на сопровождение устаревшей инфраструктуры вместо развития.

Что предлагают коллеги?

jbandinixx:если не можешь уничтожить, заставь их работать на тебя. Оберни в API, автоматизируй рутину и устраняй проблемы по частям. Для повторяющихся задач (ввод данных, создание аккаунтов, планирование и т.д.) инструменты вроде Cyberdesk реально помогают снять часть нагрузки.


sysadmintemp: старое редко умирает, потому что всё ещё используется, а новое ПО не покрывает все сценарии. Автоматизируй процессы. У нас была C++ .exe программа, мы обернули её в Python API и загрузили рабочую версию в артефакт-репозиторий. Это позволило разворачивать ПО с актуальным Python-кодом и часто обновлять хост.


elucify: мне понадобилось 3 года, чтобы убедить руководство поменять систему. Менеджменту не нужны проблемы, им нужны решения с цифрами.


sschueller: по-нашему “модернизация” — это упаковать умирающий сервер в Docker и кинуть его в облако.


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

С какими сложностями вы сталкиваетесь при работе с legacy системами?

#devops #reddit #legacy
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔73🔥3👍1💅1
Когда стоит внедрять mypy в Python-проект?

👤В продолжении темы поста о типизации и контроле скриптов, публикуем обсуждение на Reddit: имеет ли смысл подключать type hints и mypy или проще с самого начала выбрать язык со статической типизацией?

Что говорят коллеги?

Tinche_: Невозможно свести всё к одному аргументу — слишком много переменных. Python — не только про динамическую типизация. Был у меня случай, руководил крупным проектом с десятками миллионов долларов прибыли. В ходе работы я мигрировал от неаннотированного кода к почти полной типизации на уровне аннотаций с mypy. Получил с этого плюшки, но для такого перехода опыт и план обязательны

IWasGettingThePaper: Типы не устраняют баги навсегда и не заменяют тесты. MyPy помогает выявить часть ошибок, не так много, как хотелось бы, и улучшает читаемость кода, но статическая проверка — не серебряная пуля

DadAndDominant: Как человек не рождается взрослым, так и компании развиваются постепенно. На старте важнее всего быстрое прототипирование, пусть даже что-то работает лишь в 90% случаев — это всё равно позволяет выпускать продукт.

Когда проект разрастается, увеличивается кодовая база, нанимаются новые люди, а технический долг начинает съедать время разработчиков, приходят автоматические тесты, гайды по стилю и mypy — без них уже сложнее нормально релизить.
Ну и есть другие факторы при выборе языка, так что всё зависит от контекста.


💬Итак, никаких категоричных решений, только прагматичный подход: продолжайте использовать Python из-за широкой экосистемы и доступности специалистов, а type hints и mypy внедряйте по случаю, когда проект масштабируется, растёт команда и требуется предсказуемость.

На каких этапах вы внедряете type hints и mypy?

#Python #mypy #reddit
Please open Telegram to view this post
VIEW IN TELEGRAM
16👍6🔥4
Ingress NGINX: замены нет или миграция возможна?

👤На Reddit-е обсудили прекращение поддержки Ingress NGINX, работу кластеров, которые не получают обновления безопасности, а пользователи поделились своим негодованием и возможностями миграции. Статья CNCF по альтернативам – чуть выше, а полный тред – здесь.

Реакцию пользователей на новость можно уместить в один комментарий:

Kubrador
kubectl apply -f divorce.yaml
ах да, классическая смерть open source: «пожалуйста помогите нам» в течение 4-х лет –> «ладно, с нас хватит» –> «стоп, почему никто не помогает 🙁 » в то время, как 50% кластеров k8s внезапно понимают, что они живут в доме, построенном на фундаменте надежд и молитв.


Теперь перейдем к решениям, инженеры разделились на два лагеря: первый не обновляется, т.к. не видит смысла в «лишней» работе:

32b1b46b6befce6ab149
Да ну конечно, люди используют Ingress NGINX. Я тоже не обновляюсь.
На данный момент никакого аналога с прежним функционалом нет и миграция займет много времени.
Полностью переехать на Gateway API нельзя, многие public чарты всё ещё используют Ingress. Лично я не нашёл такого аналога, чтобы точь-в-точь (если он вообще есть, потому что даже у nginx-ingress немного другие аннотации), поэтому пользуюсь тем, что есть.

Плюс, не вижу смысла, нельзя мигрировать без прерывания трафика.


Rahomka
Всё равно на проблему вообще, мы не обновляемся


Второй – использует Gateway API и дает рекомендации по альтернативам:

mirrax
Вопрос к тем, кто не обновляется, в чем проблема? Что вы такого делаете, что прям зависит от аннотаций NGINX? Вы не сможете разобраться со всем этим у другого провайдера или использовать Gateway?

EpicDan
Вы же не обязаны использовать встроенные Ingress'ы в public чартах, можно для каждого приложения добавить HTTPRoute через Gateway API, работает нормально.

pilchardus_
Мне кажется, больше 50% k8s кластеров на NGINX, лол. Лично я переезжаю на Traefik на этой неделе.


me1337
Я переехал на F5 NGINX Ingress – без проблем, всё завелось.


FluidIdea
Лично мне нравятся Envoy Gateway (EG) или kgateway, по бенчмаркам хороши. Traefik – не единственный вариант.


edeltoaster
Я уже полностью переехал на Gateway API и Envoy Gateway. Плюс собрал свой кастомный образ с расширением Go-native от Coraza. Управление входящим трафиком стало заметно лучше, пока доволен.


👀Из интересного, Кэт Косгров (K8s Steering Committee) и Табита Сэйбл (SIG Security) в подкасте предположили, что не все инженеры в курсе, поддерживаются ли их кластеры Ingress NGINX, на что пользователи справедливо отметили:

Kabrandon
Не так легко узнать, работаете ли вы с Ingress NGINX? Может, вы не мейнтейнер? Если работаете с кластерами напрямую, вы по-любому знаете, на каком ingress контролере. Сомневаюсь, что вы работаете в таком случае.


Uncommon_senze
Легко понять, используете ли вы его, он не развертывается и не настраивается сам. Но да, проблема большая.


💬Что думаете об альтернативах, уже перешли на Gateway API? Делитесь опытом в комментариях.

#devops #reddit #k8s #ingress-nginx
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥94👍3👎1
Атака в GitHub Actions: Trivy, Microsoft, DataDog, CNCF

👩‍💻 ИИ-бот hackerbot-claw получил доступ к репозиториям в GitHub Actions, недавно писали об этом – здесь. Пользователи Reddit поделились мнением об атаке и собрали подборку советов для обеспечения безопасности в CI/CD.

Friendly-Ask6895
pull_request_target – это убийца. Проблема существует столько лет, но никто не хочет проверять конфиги, пока не стало поздно. Удивительно, что понадобился ИИ-бот, чтобы инженеры позаботились о безопасности в CI/CD.


Emotional-Drawing761
Безопасность в GitHub Actions о-очень важна, это порог входа. В нашей компании внедрили ротацию токенов, придерживаемся строгих политик для пайплайнов. Как в других компаниях обеспечивают безопасность?


Extra-Pomegranate-50
Комбо pull_request_target + checkout-of-fork уже много лет как оружие массового поражения, но атака на Trivy и Datadog все равно удивила.
Я, конечно, больше думаю о цепочках поставок. Если извлекли бинарники Trivy, запушили пустой репо, то сканер безопасности сам по себе становится вектором атаки.

davidadamns
Несмотря на негативные последствия, урок вышел ценным:
1. Проверяйте скачанные бинарники и контейнерные образы, подтверждайте подписи через Cosign/Sigstore.
2. Держите резервные инструменты безопасности (Checkov, Grype).
3. Используйте OIDC-токены вместо долгоживущих секретов.
4. Проводите аудит в GitHub Actions: не используйте pull_request_target с кодом форков, следите за ${{ }} в run.
5. Настройте автоматическую проверку зависимостей перед запуском.
6. Все образы должны быть подписаны.
7. Непроверенный код запускайте в изолированных средах (gVisor, Firecracker).
8. Включите аудит логов с хранением на несколько дней.

👩‍💻 И подборка репо:
zizmorcore/zizmor
boostsecurityio/poutine


Весь тред – найдете здесь.

👀А как вы следите за безопасностью в CI/CD? Делитесь опытом в комментариях!

#devops #reddit #инцидент
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍73🔥3
Пятничное чтиво от DevOps FM

💬 Неделя подходит к концу, а смельчаки-инженеры вовсю готовятся к развертыванию (ни пуха!). Сегодня обсудим вечную дилемму – железо или облако? Внизу вынесли популярные мнения пользователей Reddit, а весь тред оставили – здесь.

BuffaloJealous2958
Многие из тех, кто вырос на железе, скучают по ощущениям от настройки. Раньше ты мог встроить серверы, затюнить Linux руками, знать как и где протекают рабочие процессы. В облаке ощущение, что предоставляешь управляемые услуги и пытаешься не сжечь весь бюджет компании за месяц.
Облако никуда не денется, но и on-prem решения тоже. Всё меняется, от действий регуляторов до развития гибридных решений.


CaptainPonahawai

Ещё важно смотреть на масштаб и текущие цели компании. По личному опыту, на работе всё в облаке, тк нет ни ресурсов, ни времени для поддержания железа.


AlterTableUsernames

Да вы, сэр, зрите в корень. В Европе сейчас растущий спрос на личные облака, железо и в принципе уход с аренды.


rvm1975

Глобально нет никакой разницы между EC2 и VMware/Proxmox VM. Практически те же компоненты, типа хранилищ и тд. Разница лишь в цене за ошибку и ведению FinOps.


red_00

Облако дает доступ к управляемым услугам. Так, в работе я сосредотачиваюсь на архитектуре, безопасности и не думаю о поддержке.


👀Вопрос остается открытым: что выбрать? Если хотите узнать чуть больше – смотрите запись выступления тех. руководителя НИКСИС | NIXYS Петра Рукина.

Хороших выходных и спокойных смен!

#devops #облако #железо #reddit
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍64🔥3