Библиотека девопса | DevOps, SRE, Sysadmin
10.3K subscribers
1.38K photos
71 videos
4 files
2.58K links
Все самое полезное для девопсера в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/25874ec4

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/6798b4e4509aba565
Download Telegram
#memes

Главное работает 😁
😁26👍4🔥2
Вебинар по Tarantool «Строим кэши и витрины данных»

Когда: 8 февраля, 16:00 МСК онлайн

Узнаете, как быстро и удобно разрабатывать кэши и витрины данных на основе коробочной СУБД для ускорения ИТ-систем.

Рассматриваемые вопросы:

👉 Как быстро «из коробки» запустить, настроить и наполнить данными кластерную базу данных.
👉 Как выполнять CRUD-операции с данными на языке бизнес-приложения.
👉 Как обеспечить сохранность данных при кэшировании.
👉 Как обеспечить горизонтальное масштабирование без ущерба для производительности.

Также будет рассмотрен опыт крупных банков и телекома в создании хранилищ сессий, витрин для платежных данных, валютных операций и т. д.

Спикеры:

🔹 Руслан Галиев, менеджер продукта Tarantool DB
🔹 Артем Дубинин, старший программист Tarantool
🔹 Евгений Афанасьев, архитектор Tarantool

Вебинар будет полезен архитекторам, инженерам DevOps и разработчикам высоконагруженных систем.

Регистрация тут

#мероприятие
❤‍🔥152👏2
😈 Даркнет: как устроен теневой рынок труда

Рассказываем, как устроен теневой рынок даркнета, каких ИТ-специалистов там ищут и какую зарплату предлагают.

🔗 Читать статью
🔗 Зеркало
😁4👍21
Если сложить все эти числа, то получится обычное число 42. Число и число…

echo $((7 + 14 + 21))


Со времен появления проекта GNU (GNU's Not Unix) это число имело для них какой-то потаённый смысл.

К примеру, если в редакторе vi/vim ввести:

:help 42

Увидим нечто странное:

Вelection, the selection will be used unmodified. When there is a selection
but you click outside of it, the selection is removed.

There is a separate popup menu for each mode. Thus there are never grey
items like in the normal menus.

What is the meaning of life, the universe and everything? 42
Douglas Adams, the only person who knew what this question really was about is
now dead, unfortunately. So now you might wonder what the meaning of death
is...

Next chapter: usr_43.txt Using filetypes
Copyright: see manual-copyright vim:tw=78:ts=8:noet:ft=help:norl:


Но это всего лишь цитата из книги английского писателя Дугласа Адамса «Автостопом по галактике». Где супер компьютер Deep Thought дал ответ на главный вопрос жизни, вселенной и всего остального. И этот ответ был 42.


Все логично, число 42 стало символом для сообщества фанатов научной фантастики и часто упоминается в шутках и широко используется в поп-культуре.

Существует теория заговора, называемая «42-ой теорией заговора», которая исходит из идеи, что число 42 имеет глубокий смысл или тайное значение, скрытое правительствами или другими могущественными организациями.

Хотя такие теории заговора могут быть увлекательными, важно отметить, что число 42 не обладает никаким таинственным или сверхъестественным значением в реальном мире. Оно просто является элементом фольклора, шуток и культурных отсылок, и не имеет каких-либо серьезных конспирологических подоплек.

А вы читали/смотрели «Автостопом по галактике»?
👍238🤩4👏3😁3
📺 FOSDEM — бесплатное мероприятие для разработчиков ПО, где они могут встретиться, поделиться идеями и сотрудничать. Каждый год тысячи разработчиков свободного ПО со всего мира собираются на мероприятии в Брюсселе. Регистрация не нужна 👍

👉 Некоторые записи первого дня доступны по тут (выбираем трек, затем тему в нём)
👉 Трансляция доступна по ссылке

#видео
👍31🔥1
Jib

Jib создает оптимизированные образы Docker и OCI для ваших приложений Java без Docker и лишних хлопот. Он доступен в виде плагинов для Maven и Gradle, а также в виде библиотеки Java.

Цели

👉 Jib разделяет приложение на несколько слоев, отделяя зависимости от классов. Не нужно ждать, пока Docker перестроит все Java-приложение — просто разверните измененные слои.

👉 При перестройке образа контейнера с тем же содержимым всегда создается один и тот же образ.

👉 Создайте образ Docker из Maven или Gradle и переносите. Больше не нужно создавать Dockerfiles и вызывать docker build/push.
👏21🔥1
#дайджест репозиториев для DevOps-а

Dive — инструмент для изучения образов Docker, помогающий анализировать содержимое образов для их дальнейшей оптимизации

Kubernetes The Hard Way — пошаговое руководство по настройке кластеров Kubernetes с нуля, позволяющее получить глубокое представление о внутреннем устройстве Kubernetes

GoReleaser — проект позволяет легко и быстро создавать deb пакеты

awesome-prometheus — список ресурсов, инструментов и интеграций с Prometheus

Molecule — фреймворк для тестирования кода инфраструктуры с помощью Ansible, помогающий в разработке и проверке ролей и плейбуков
👍3🔥1
Приведите основные типы DNS записей и расскажите, для чего они используются.

A — запись соответствия с IPv4 адресом;
AAAA — запись соответствия с IPv6 адресом;
CNAME — запись соответствия другому доменному имени;
MX — адресная запись, указывающая на почтовый сервер домена;
NS — адресная запись указывающая на DNS-резолверы, отвечающие за данный домен;
TXT — произвольная текстовая запись в домене, часто используется для верификации принадлежности домена.
👍162🔥2
Ситуация: есть большой проект на php, в нем миллион файлов и папок. Есть некий файл с какой-то выгрузкой, который генерится по крону и куда-то складывается.

Знаем точно, что он складывается как раз в тот большой проект с миллионом файлов. Но не знаем как называется сам файл и где конкретно он сохраняется.

Задача: найти местоположение файла с выгрузкой, узнать как называется этот файл и убедиться что файл вообще пытается создаться после запуска крона. Нет документации, нет контактов с разработчиками, нет НИЧЕГО у кого можно что-то узнать.

Лазить по каждой папке — это долго, find — не продуктивно, в данном случае. Ставим пакет inotify-tools и создаем скрипт.

inotifywait -r -m -e create /var/www/project | while read line; do
echo "Created: $line"
done

inotify-tools - это набор утилит командной строки для мониторинга файловой системы в реальном времени на основе inotify, механизма ядра Linux, который позволяет приложениям реагировать на изменения файлов, каталогов или метаданных в файловой системе.


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

Запускаем скрипт. В соседней вкладке запускаем команду, которая генерит файл с выгрузкой и ждем. Получаем такую запись:

Created: /var/www/project/core/modx/var/tmp CREATE 1C_b2b_prices.csv

inotify-tools очень крутая штука и может мониторить не только создание файлов, но и кучу еще всего. При должном подходе, можно свой собственный мониторинг собрать, выгружать в prometheus и в grafana рисовать.

А еще есть клевая вещь — incrond, с помощью неё можно запустить какую-нибудь утилиту, если в каком-то каталоге появился новый файл или произойдет другое событие.

Например, можно дернуть обработчик этого файла, сделать резервную копию, или тегнуть в телеграм. Вариантов масса.

incrond (inotify cron daemon) — это демон для Linux, который обеспечивает возможность запуска задач (команд или скриптов) в ответ на события файловой системы, используя механизм inotify. Он подобен стандартному демону cron, но вместо использования времени он реагирует на изменения файлов и каталогов.
5👍3🤔1
🤔🤔 Квоты в Kubernetes: очевидные, менее очевидные и совсем не очевидные

Разберетесь, как работают квоты в Kubernetes. Там есть немало граблей. Чем квоты хороши, что у них под капотом, в каких задачах используются и почему нужны даже в среде single-tenant

Читаем тут

#почитать
👍4
💪💪 Bash Scripting on Linux

Крутой и обширный курс по Bash Scripting научит вас всему, что вам нужно знать для написания эффективных сценариев bash в Linux. Все начинается с некоторых вводных концепций, каждый видос основывается на предыдущем. К концу курса вы сможете писать свои собственные сценарии для bash. Подойдет для начинающих линуксоводов.

#видео
👍10
Напишите политику для AWS S3 бакета, которая разрешает доступ только с определенных IP адресов.

{
"Id": "AllowFromSourceIP",
"Version": "2012-10-17",
"Statement": [
{
"Sid": "SourceIP",
"Action": "s3:*",
"Effect": "Deny",
"Resource": [
"arn:aws:s3:::demo-bucket",
"arn:aws:s3:::demo-bucket/*"
],
"Condition": {
"NotIpAddress": {
"aws:SourceIp": [
"11.11.11.11/32",
"22.22.22.22/32"
]
}
},
"Principal": "*"
}
]
}
👏41
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🏔 Эпикфейл: карьера катится к чертям

🤦‍♂️ У всех нас случались провалы в карьере, о которых не хочется распространяться. Неловкий момент на собеседовании, провал проекта из-за глупой ошибки, конфликт с начальством — такие ситуации хочется поскорее забыть. Однако часто именно они дают нам самые ценные уроки и закаляют как профессионалов.

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

👉 Поделиться историей
4
🧑‍🎓✍️ Открытый практикум DevOps by Rebrain: Ментальная модель Kafka

Время проведения:

15 Февраля (Четверг) в 19:00 по МСК

Программа:

🔹Теория поможет составить ментальную модель Kafka
🔹Практика — попробовать инструмент в действии и получить набор готовых конфигураций для применения их в своих лабораторных и тестовых средах на работе

Кто ведёт?

Глеб Гончаров — Юнит-лид в СберМаркете

Регистрация тут

#мероприятие
2🔥2👏2
#дайджест инструментов DevOps, на которые стоит обратить внимание

Backstage — это опенсорсный инструмент, созданный Spotify и принятый CNCF. Он с легкостью создает и настраивает порталы разработчиков.

Argo Rollouts — делает возможными расширенные стратегии развертывания в Kubernetes (blue-green, canary и др.). Построен как контроллер Kubernetes и использует Custom Resource Definitions (CRD).

Flagger — обеспечивает автоматизированное и контролируемое управление релизами, используя прогрессивные методы доставки и легко интегрируясь со средами Kubernetes для обеспечения более безопасного и надежного развертывания программного обеспечения.

Loki — очень экономичная и простая в эксплуатации система агрегации журналов.

External Secrets Operator — оператор Kubernetes, который интегрирует внешние системы управления безопасностью, такие как AWS Secrets Manager, HashiCorp Vault, Google Secrets Manager, Azure Key Vault, IBM Cloud Secrets Manager, CyberArk Conjur и многие другие.
👍72
🤔🤔 Не все логи одинаковы полезны: 3 истории из жизни

При эксплуатации систем АСУ ТП возникают ситуации, когда написанная подрядчиком диагностика АРМа формирует аварийные сообщения в исторический журнал, после которых и начинаются данные расследования. Так как системы написаны и сделаны очень давно, то о никаких Grafana/Prometheus/Zabbix речь идти не может, плюс всё это работает на серверах/АРМах времён ввода в эксплуатацию. А чем старее оборудование, тем за каждый мегабайт оперативной памяти и процент нагрузки процессора идёт жёсткая борьба.

Без логирования для расследования отказов никуда не деться, но и сами логи могут быть причиной аварийных сообщений.

Продолжение здесь

#туториал
👍82
🧜‍♂️🧜‍♂️ SRE глубокое погружение в Linux Page Cache

Крутая серия статей про кэш. Знания теории и инструментов необходимы для каждого SRE и может помочь как в обычных и рутинных повседневных задачах, так и в экстренном дебаге. Лучшее понимание тем приводит к:

🔹 более точному планированию емкости и расчету лимита контейнера;
🔹 улучшению навыков отладки и исследования приложений, использующих память и диск;
🔹 созданию безопасного и предсказуемого времени выполнения для специальных задач, связанных с памятью и/или IO-bound ad-hoc (например: сценарии резервного копирования и восстановления, однострочные rsync и т.д.).

Продолжение здесь

#туториал
3🔥1👏1🥱1