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

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

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

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

РКН: https://gosuslugi.ru/snet/6798b4e4509aba565
Download Telegram
#дайджест бесплатных сертификационных курсов

🔵 Основы программирования для Linux. Курс нацелен на изучение основ программирования в операционной сиcтеме Linux. Он затрагивает базовый инструментарий и все основные компоненты: управление процессами, межпроцессные взаимодействия, сетевые возможности.

🔵 GIT. Программа поможет разобраться в трехэтапном рабочем процессе в GIT (системе контроля версий, или VCS) и настроить GIT в своей системе. Также научитесь создавать ветки и отслеживать файлы, а также создавать репозиторий в GIT, GitHub.

🔵 Основы Docker. В этом курсе вы начнете с основ: создания и запуска ваших первых контейнеров Docker. К концу курса получите краткое представление о запуске контейнеров в рабочей среде и о том, как решать проблемы расширенной оркестровки, такие как высокая доступность, обнаружение служб и согласование.

🔵 Microsoft Azure Essentials. Этот онлайн-курс расскажет о различных моделях доставки и ролях Azure. Вы узнаете о различных доступных службах Azure и тщательно изучите компоненты Azure. Кроме того, вы также получите информацию о службах Azure в различных регионах и получите подробную информацию о регионах Azure и менеджере ресурсов.

🔵 Специализация Python Scripting for DevOps. Научитесь разрабатывать и развертывать программное обеспечение с использованием Python. Эта специализация даст вам основы программирования, включая знания и навыки, необходимые для карьеры в области разработки программного обеспечения, информационных технологий и науки о данных.

🔵 Introduction to Cloud. Вы также узнаете о различных моделях облачных сервисов (IaaS, PaaS, SaaS) и моделях развертывания (публичное облако, частное облако, гибридное облако), ключевых компонентах облачной архитектуры (виртуализация, виртуальные машины, хранилища, сети, контейнеры) и новых облачных тенденциях (гибридное мультиоблачное, бессерверное, микросервисы, Cloud Native, модернизация приложений).
🥰47👍36🔥24👏23🤩22
🔥😎🤯 Развертывание non-deployable сервисов на ArgoCD и Kustomize, управляя пограничными состояниями

Условие примера, приведенного автором, требовало, чтобы была сохранена структура каталогов для сотен репозиториев при переходе от kubectl к подходу ArgoCD.

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

Ничего нового — в Spring Boot есть встроенный механизм, который склеивает все конфигурационные файлы вместе, но в Python, Javascript и других ЯП все не так просто. Такая функция поддерживается в Helm — можно объединить несколько файлов, которые объединятся и будут переданы вместе в шаблоны.

Проблема

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

Что же делать?

Kustomize можно настроить с помощью плагинов-генераторов — это скрипты или бинарники, запускаемые в контексте каталога, и в результате возвращают ресурсы Kubernetes в формате YAML.

Далее автор объединит пользовательскую логику в приложение Go, импортирует необходимые библиотеки, скомпилирует ее и выпустит в artifactory, например Nexus или JFrog.

Подробное продолжение тут

#туториал
4🔥4
✍️ Библиотека программиста» находится в поиске переводчика и автора оригинальных статей

Тематика
● DevOps

Объем
● от 7 до 15 тыс. знаков без учета кода.
● 3-4 статьи в месяц.

Оплата
● 4к руб. за статью.
● перевод — 250 руб. за 1000 символов без учета кода.
● работаем с самозанятыми, ИП.

Статья публикуется на сайте proglib.io, в группе ВК (425к подписчиков), на канале «Библиотека программиста» (77к подписчиков) и в «Библиотеке devops’а» (6к подписчиков).

➡️ Заполнить анкету ⬅️
5👍3
🧑‍🏫🧑‍🏫🧑‍🏫 Что такое NOC-команда, и какие 5 KPI на нее вешать для улучшения аптайма вашей платформы

Network Operations Center — это команда, которая занимается 24/7 мониторингом системы и алертинга, и их первой линией поддержки. Команда понимает как делать базовый дебаг алертов и варнингов. Команда отвечает за полный цикл инцидент-менеджмента: то есть оркестрацию процесса фикса этого инцидента, и артефактами после того как все случилось.

Как обычно с любым процессом, всплывают роли, артефакты и события.

Роли:

🔹 NOC-команда, которая мониторит;
🔹 Incident Commander — это Engineering Manager, который ответственен за валидацию дебага и исправлением инцидента;
🔹 Incident Team — дежурящие инженеры.

Артефакты:

🔹 Root Cause Analysis (RCA) — пост-мортем (ниже будет);
🔹 Runbook — источник знаний по каждой метрике и алерту, как они могут влиять на пользователей и систему, а также как их дебажить и эскалировать.

События:

🔹 Post-Mortem — в котором вы анализируете и пишете Root Cause Analysis документ;
🔹 Incident — когда все горит и очень опасно.

К примеру, у вас есть у вас дашборд с критическими системными метриками SaaS-платформы в Grafana и команда мониторит этот дашборд. На каждый чарт в этом дашборде есть некие показатели и паттерны поведения, которые команда отслеживает. Все эти правила лежат в Runbook (справочнике). Если что-то упало — нужно смотреть что это значит, и определять можно ли это NOC-команде подебажить (вдруг ночью упала пиковая нагрузка), пофиксить (рестарт сервера), или эскалировать саппорту или инженерам.

Подробнее здесь

#обучалка
9👍4
Находитесь в поиске нормальной вакансии?
Вы уже подумали за вас и у нас есть канал вам в помощь.
Сохраняйте, чтобы не потерять
4🔥2
#туториал

Нужно найти какой-то файл?
Нет, не find!

🔎 Утилита locate используется для поиска файлов, расположенных на машине пользователя или на сервере, опираясь на собственную БД.

Обновление БД происходит автоматически, +- раз в сутки или командой updatedb.

locate txt

Ищем все файлы, имена которых содержат «txt». Опа, меньше чем за секунду команда нашла все подходящие файлы, а find потратил бы гораздо больше времени.

locate '*txt' Ищем файлы, которые оканчиваются на «txt»

Посчитаем общее количество файлов, которые нашлись: locate -ic '*txt'

(-i — не смотрим на регистр, -с — вывести общее количество найденных файлов)

Углубимся немного и заюзаем strace.

В папке tmp создадим пустой файл: > hello.txt

locate *txt

Ничего не вывел 🤔

Мы вызываем внешнюю команду locate, которую вызывает интерпретатор. И тут всплывает подстановка имен файлов, то есть Globbing.

🧑‍🎓 После того, как интерпретатор обнаружил символ «*», интерпретатор попытался сделать подстановку Globbing. При вызове команды locate она получила в качестве аргументов, результат этих подстановок. Запускаем:

strace -e execve locate *txt

Получаем:

execve("/usr/bin/locate", ["locate", "hello.txt"], 0x7ffe242252d8 /* 27 vars */) = 0

Опция e и аргумент execve сообщают strace, что отслеживаются только системные вызовы execve.

execve() выполняет программу, заданную параметром filename

Возвращаемся к выводу от strace и видим, что locate получила в качестве аргумента hello.txt

И теперь locate будет искать файлы именно по этому шаблону, а не по тому, что мы ожидали, когда писали *txt. Поэтому ничего не вывелось, когда запустили locate *txt

Чтобы этого не происходило ⚠️ всегда используйте кавычки для ожидаемого результата.

locate '*txt'
👍114
🧑‍🎓😎 Еще одна серия с мероприятия OFFZONE 2023.
Здесь собираются безопасники, разработчики, инженеры, исследователи, преподаватели и студенты из десятков стран мира. В центре внимания — только хардкорный технический контент по кибербезопасности.

Деобфускация и анализ клиентского JavaScript‑кода для обнаружения DOM‑based XSS

Основная цель доклада — описание нового, разработанного докладчиком, автоматизированного метода анализа JavaScript‑кода, использующего статический и динамический анализ, а также сравнение результатов его работы с существующими автоматизированными сканерами веб‑уязвимостей

Смотреть
👍54
HyperDX — помогает инженерам быстрее понять, почему прерывается продакшн, с помощью централизованных журналов, метрик, трассировок и исключений в одном месте. Крутая опенсорсная альтернатива Datadog и New Relic, удобная для разработчиков.

Что включено

🕵️ End to end корреляция от сеанса браузера к журналам и трассировкам всего за несколько кликов
🔥 Высокая производительность благодаря Clickhouse
🔍 Интуитивно понятный полнотекстовый поиск и синтаксис поиска свойств
🤖 Автоматическая кластеризация шаблонов событий
📈 Панель мониторинга событий без сложного языка запросов
🔔 Настройка оповещений
🔭 Нативная Open Telemetry

Вы можете начать с развертывания полного стека с помощью Docker Compose:

docker compose up -d

После этого можно перейти на http://localhost:8080 чтобы получить доступ к UI HyperDX.
10
🤔 Очередной #дайджест по DevOps

➡️ Kube FM — подкаст про Kubernetes, новейшие инструменты и тенденции

➡️ Вы платите слишком много — сокращение затрат на ведение журнала Cloudwatch на 80% благодаря Firehose, S3 и Athena

➡️ Как быстрее выполнять запросы Loki metric с более точными результатами — делаем пользователей Grafana счастливее с помощью повышения производительности

➡️ Мониторинг AWS Lambda — полное руководство по Serverless подходу

➡️ Terraform Evolution — как мы безопасно отделили дюжину сервисов от монолита
23🔥18🥰13👏11👍8
Вопрос по Linux
#вопросы_с_собеседований

Что такое системные вызовы? Зачем они нужны и как они работают? Какие системные вызовы знаешь?
...............................................................................................................
Системный вызов — это то, посредством чего код приложения, выполняющегося в пользовательском режиме, запрашивает службу, предоставляемую кодом, который выполняется в режиме ядра.

read - чтение из файлового дескриптора.
open - открывающий и по возможности создающий файл или устройство
close - закрыть файловый дескриптор
access - проверка пользовательских привилегий для этого файла
mmap - служит для отображения предварительно открытого файла (например, с помощью системного вызова open()) в адресное пространство вычислительной системы
👍13🔥4
25 сентября прошла масштабная конференция Yandex Scale. В программе предполагалось 30+ докладов на 6 тем/направлений:

Infra + K8s
Serverless
Digital Workplace
ML
Data Platform
Security

Здесь мы рассмотрим полное выступление из ветки Infra + K8s (остальные не забудем, ожидайте😊😇)

#мероприятие
5🔥3
😎🥷 Разбираемся с Microcks Docker Extension

Microcks — это облачный опенсорсный Kubernetes-инструмент для макетирования и тестирования API.

🔹 Симуляция API или микросервиса на основе набора описательных ресурсов (спецификаций или контрактов)
🔹 Валидация соответствия приложения и API путем проведения контрактного тестирования

Уникальность Microcks — он предлагает единый и согласованный подход для всех видов запросов/ответов к API (REST, GraphQL, gRPC, SOAP) и API и event-driven API.

Зачем запускать Microcks в качестве Desktop-расширения для Docker?

Благодаря бесшовной интеграции возможностей контейнеризации Docker разработчикам больше не нужно ориентироваться в сложных настройках или бороться с проблемами совместимости. Разработчики могут без особых усилий настраивать и развертывать Microcks в существующей среде Docker, без необходимости править большие конфиги.

Подробнее читаем тут

#обучалка
🔥223
👷‍♂️🏗️ Контейнеризованная платформа автоматизации Ansible

Эта штука может устанавливать и запускать контейнеризованные авто-контроллеры, Ansible automation hub и Event-Driven службы Ansible на одном или нескольких базовых узлах RHEL с архитектурой x86_64 и ARM64. Для этого не требуется Kubernetes, поскольку она использует собственный RHEL podman поверх RHEL-хоста.

Преимущества

🔹 упрощенный процесс установки
🔹 многоуровневый подход к установке
🔹 контейнеризированный подход к сервисам
🔹 защита «из коробки» с использованием rootless Podman контейнеров
🔹 стартовая площадка для улучшенных функций в будущем
🔹 согласование подхода к поддерживаемым платформам развертывания и опциям

Читать статью

#гайд
🤩27🔥61👍1
🧑‍🎓😎 Еще одна серия с мероприятия OFFZONE 2023

Здесь собираются безопасники, разработчики, инженеры, исследователи, преподаватели и студенты из десятков стран мира. В центре внимания — только хардкорный технический контент по кибербезопасности.

Эксплуатация уязвимостей HTTP Request Splitting

В своем докладе Сергей расскажет об уязвимостях HTTP Request Splitting / CRLF Injection в проксировании HTTP‑запросов пользователя между веб‑серверами. Будут освещены методы обнаружения подобных уязвимостей при автоматическом сканировании и варианты их эксплуатации на примере популярных багбаунти-программ

Смотреть

#видео
3👍3🔥2
#вопросы_с_собеседований
Простенький вопрос, который часто предлагают вначале собеса

Представлен вывод команды top. Что означает каждая запись в выводе?

top - 10:44:36 up 91 days, 19:29, 7 users, load average: 0,00, 0,02, 0,05
Tasks: 156 total, 1 running, 155 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0,0 us, 1,5 sy, 0,0 ni, 96,9 id, 0,0 wa, 0,0 hi, 0,0 si, 1,5 st
KiB Mem : 12137392 total, 6227844 free, 1117728 used, 4791820 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 10090148 avail Mem

top — утилита
10:44:36 — время системы
up — сколько система работает с момента последнего запуска
7 user — количество авторизованных юзеров в системе
load average: 0.00, 0.02, 0.05 — параметр средней нагрузки на систему за период времени 1 минута, 5 минут, 15 минут
156 total — всего процессов в системе
1 running — количество процессов в работе
155 sleeping — ожидание процесса или сигнала
0 stopped — количество приостановленных процессов сигналом STOP или выполнение трассировки
0 zombie — количество зомби-процессов, которые завершили своё выполнение, но присутствующие в системе, чтобы дать родительскому процессу считать свой код завершения.
👍116🔥5🥰5🎉2
Forwarded from Библиотека программиста | программирование, кодинг, разработка
💼🖥️ Топ лучших бирж фриланса и платформ для программистов

Где начинающему разработчику найти работу и получить первый коммерческий заказ? В этом могут помочь фриланс-биржи и human-cloud платформы. Но какие именно — расскажем в статье.

📌 Полезные материалы по теме:

🧒 Как найти работу junior-разработчику: 5 самых неочевидных способов
👍 Тесты на собеседовании: как к ним подготовиться и получить оффер
📝 Как правильно составить сопроводительное письмо программисту
🔍 ТОП-12 джоб-сайтов: где программисту разместить резюме и найти работу
🤖 40 сервисов на базе AI, которые помогут найти работу в 2023 году
💼 ТОП-9 не самых очевидных компаний для стажировки в ИТ
🗺️ Как программисту искать (и найти) работу за границей в 2023 году
🔝 Подборка полезных материалов для улучшения профиля на LinkedIn и не только
💾 Список каналов «Библиотеки программиста» с вакансиями

🤩Понравился пост? Проголосуйте за нас, чтобы мы могли публиковать сторис (требуется премиум).
4👍4🔥2
📚 ТОП-8 книг по DevOps в 2023 году

Список из 8 лучших книг, которые должны быть в библиотеке каждого начинающего и продвинутого DevOps-специалиста.

Читать статью

#книги
👍83🔥3