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

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

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

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

РКН: https://gosuslugi.ru/snet/6798b4e4509aba565
Download Telegram
Media is too big
VIEW IN TELEGRAM
⚙️⚙️ Terraform — альтернативный провайдер AWS под названием AWSCC

#видео
👍3🤔1🥱1
🧑‍🎓🧑‍🎓 Мониторинг простыми словами, или как я объяснил маме работу SRE

Несмотря на то, что я не единственный айтишник в семье, объяснить свою профессию выходило немного накладно. «Что такое SRE? Как сис.админ что ли? А в чем разница-то?». И ведь действительно, с учетом того, что в РФ границы между теми же DevOps и SRE размыты, а на должность системного администратора ищут чернокнижника с опытом стабилизации прода, неудивительно, что человек и вовсе не связанный с этой сферой может запутаться.

Подробнее тут

#почитать
1👍5🔥2
Опрос «Как вы учитесь с помощью телефона: поделитесь своим опытом!»

Дорогие подписчики, мы на миссии улучшений, и вы — наш ключ! 🔑


Мы хотим стать ещё круче, и для этого нужно узнать, как вы учитесь!

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

Займёт всего 5 минут — как раз успеете за чашкой кофе! А за ваш ценный вклад мы дарим 15% скидку на все курсы https://proglib.academy/ 🎁
👍1
🧩⚛️ React + структуры данных = суперкод: 7 примеров для практики

Представляешь, оказывается, если правильно подобрать структуру данных, можно не только заставить приложение летать, но и сделать код настолько чистым и красивым, что глаз не оторвать. Серьезно, это как убраться в квартире — и жить приятнее, и гостей не стыдно позвать. Причем, это не какая-то там магия — это просто грамотный подход, который может освоить каждый разработчик, было бы желание!

Читать статью
👍2❤‍🔥1
🧑‍🎓🧑‍🎓Спецификации Pod Level Resource

Интересный KEP про Pod-level resource limits and requests для всех подов, без необходимости суммировать ресурсы контейнеров при шедулинге. Полезно, если нет желания рассчитывать ресурсы для каждого контейнера отдельно.

Подробнее тут
❤‍🔥1👍1
📊🚀 Почему все говорят о Kafka?

Хочешь узнать, как обрабатывать миллионы событий в секунду и почему такие гиганты, как Netflix и Uber, без ума от Kafka? Давай разберемся, как этот инструмент может превратить поток данных в золотую жилу для твоего проекта.

Читать статью
👍3❤‍🔥1
Очередной #дайджест для DevOps-ов

Улучшенная аналитика предупреждений в Grafana — в Grafana 11.2 появился новый интерфейс для просмотра истории состояний всех оповещений в системе

GlitchTip вместо Sentry — как бесплатно настроить мониторинг ошибок

Может ли пода Kubernetes быть подключена к нескольким сетям — использование Multus CNI и оператора состояния NM для добавления дополнительных сетей к модулям и виртуалкам в OpenShift Virtualization

Kubectl Port-forward Flow — все, в диаграмму Mermaid, начиная с этапа аутентификации и заканчивая отправкой запроса через localhost, который отправляется через SPDY

k8gb — GSLB-решение с открытым исходным кодом для Cloud Native
👍2❤‍🔥1
Какой механизм использует Kubernetes для предотвращения несанкционированного доступа к конечным точкам через сервер API?
Anonymous Quiz
10%
Аутентификация прокси
13%
Авторизация конечной точки
67%
RBAC (ролевое управление доступом)
10%
Сегментация сети
🔥3❤‍🔥1
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🪶 Как следовать принципу DRY при настройке Apache APISIX

DRY — один из самых известных принципов разработки ПО: он помогает избежать ненужного повторения фрагментов кода, которые выполняют одни и те же действия. DRY также стоит применять при настройке конфигурации сложных систем, поскольку этот принцип:

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

В качестве примера в статье рассматриваем, как применять DRY при настройке конфигурации API-шлюза Apache APISIX.

🔗 Читать статью
🔗 Зеркало
❤‍🔥1😁1
🤔🤔 Как снизить расходы на мониторинг: более разумный подход к данным

Мониторинг может стать дорогостоящим из-за огромных объемов данных, которые необходимо обрабатывать. В этой статье вы узнаете о лучших способах хранения и обработки метрик мониторинга для снижения расходов и о том, как VictoriaMetrics может в этом помочь.

Подробности тут

#туториал
🥰2❤‍🔥1👍1
🚀 Новые возможности React 19: конец эры повторных рендерингов

Новый компилятор React 19 обещает существенное повышение производительности, что станет настоящим прорывом для разработчиков. Но это лишь верхушка айсберга. В этой статье мы не только разберемся, как работает компилятор, но и погрузимся в мир других новейших возможностей React 19.

🔗 Читать статью
🔗 Зеркало
❤‍🔥1
Какой из этих вариантов не является методом WebElement?
Anonymous Quiz
14%
getText()
30%
size()
17%
setTagName()
39%
sendKeys()
❤‍🔥1
Вакансии «Библиотеки программиста» — ждем вас в команде!

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

Подробности тут

Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴

Ждем ваших откликов 👾
❤‍🔥1
Linux Dash

Позволяет мониторить:

👉 Среднюю загрузку системы (load average)
👉 Оперативную память (Всего/Использовано/Свободно)
👉 Использование дисков (свободное место)
👉 Список пользователей
👉 Список ПО и пути до бинарных файлов
👉 Список интерфейсов с их IP-адресами
👉 Текущую скорость интерфейса (Входящая/Исходящая)
👉 Список подключенных пользователей
👉 Список процессов

#софт
😁3❤‍🔥1🔥1
Forwarded from Библиотека программиста | программирование, кодинг, разработка
😮 SQL: от Тетриса до ИИ — неожиданные возможности языка баз данных

Долгое время SQL использовали лишь для запросов и изменения записей в базах данных — для полноценного программирования в привычном смысле слова он не подходил. Однако добавление рекурсивных общих табличных выражений (CTE) сделало SQL полным по Тьюрингу. Рекурсивные CTE состоят из двух частей:

• Нерекурсивная часть (базовый случай) — создает начальные данные.
• Рекурсивная часть — может выполняться много раз, каждый раз используя результат предыдущего шага.

Благодаря CTE на SQL можно при желании реализовать любой алгоритм. Энтузиасты уже сделали:

Визуализацию множества Мандельброта с помощью ASCII-графики.
3D-движок для рисования объемных фигур.
GPT на 500 строках SQL-кода. Подробная статья о реализации этого проекта опубликована здесь.
Трассировку лучей (это метод создания реалистичных изображений).

На прошлой неделе коллекция крутых SQL-проектов пополнилась еще одной интересной разработкой — версией «Тетриса».

Эта реализация демонстрирует несколько нестандартных SQL-техник, о которых стоит знать, даже если вы используете SQL только по прямому назначению:

Игровой цикл. В основе игры – рекурсивное общее табличное выражение (CTE). Оно создает бесконечный цикл, который инициализирует состояние игры, обновляет его на основе ввода пользователя и отрисовывает игру. Цикл продолжается, пока игра не закончится.
Вывод игры. Поскольку SQL-запрос обычно возвращает результат только после завершения, для отображения игры в реальном времени используется команда RAISE NOTICE. Эта команда выводит информацию в стандартный вывод, позволяя отображать игровое поле и другую информацию в процессе игры.
Пользовательский ввод. Обработка пользовательского ввода реализована через отдельную таблицу в базе данных. Эта таблица служит коммуникационной шиной между игрой и пользователем. Пользователь добавляет команды в эту таблицу, а игра их считывает.
Решение проблемы изоляции данных. Чтобы игра могла видеть новые команды, добавленные в таблицу ввода во время выполнения запроса, используется расширение dblink. Оно позволяет создавать новое подключение к базе данных с новым снимком данных, что дает возможность считывать самые последние команды пользователя.
Предотвращение кэширования. Чтобы PostgreSQL не кэшировал результаты запроса к таблице ввода, к запросу добавляется уникальный идентификатор итерации. Это заставляет базу данных выполнять запрос заново на каждой итерации игрового цикла.

Для управления состоянием игры и обработки игровых событий используются подзапросы и агрегатные функции.

• Подзапросы позволяют вычислить новое состояние игры после каждого хода, включая позицию фигуры, состояние поля, счет и т. д. К примеру, рекурсивный подзапрос используется для вычисления максимального количества линий, на которые может упасть текущая фигура.
• Агрегации применяются для подсчета очищенных линий, выбора фигуры с наименьшим рангом, обновления счета и уровня игры. Например, BOOL_OR() применяется для определения, есть ли хотя бы одно столкновение между фигурой и занятыми клетками на поле.

🔗 Подробнее читайте в статье
🔗 Зеркало
❤‍🔥1
#дайджест перед выходными

🛟 Фильтры Ansible: превращаем сложное в простое — как легко и просто можно обрабатывать данные прямо в Ansible, используя его собственные мощные возможности

🛟 Azure DevOps с OpenShift — как интегрировать Azure DevOps с кластером OpenShift для создания и развертывания приложений на нем

🛟 От чего зависит, готова ли нода Kubernetes — что делать со статусом NotReady

🛟 pgbackweb — утилита для управления бэкапами PostgreSQL с графическим интерфейсом.

🛟 Inside PromQL: A closer look at the mechanics of a Prometheus query — как данные передаются от источника к конечному пункту назначения в API
❤‍🔥1🔥1
Claudie

Платформа для управления multi-cloud и hybrid-cloud кластерами Kubernetes с поддержкой пулов нод различных облачных провайдеров и локальных центров обработки данных

Типичные варианты использования

👉 Экономия средств
👉 Локализация данных и соответствие требованиям (например, GDPR).
👉 Управляемый Kubernetes для провайдеров, которые не предлагают подобные услуги
👉 Cloud bursting
👉 Интерконнект сервисов

#софт
❤‍🔥1