Сейчас OpenTelemetry — это самый быстрорастущий проект CNCF. Опытом внедрения этого набора инструментов для отладки и анализа производительности распределённых систем поделился тимлид платформенной команды Норвежского управления труда и социального обеспечения. В переводе под катом вас ждёт тернистый путь от первых коммитов до реального применения OpenTelemetry в production, а также планы команды на будущее.
Редактор во «Фланте»
Обзор Kwasm — оператора для запуска WebAssembly-приложений в кластере Kubernetes
Продолжаем обозревать инструменты, которые позволяют использовать WebAssembly-приложения в кластере Kubernetes. В этот раз пробуем оператор Kwasm: установим его в кластер, развёрнутый с помощью kind, и запустим тестовое приложение.
Оркестраторы в российском DevOps в 2024: рост использования Managed Kubernetes и отечественных дистрибутивов
В конце августа 2024 года вышел подробный отчёт о состоянии DevOps в России. В статье мы расскажем, как себя чувствуют в российском DevOps технологии оркестрации: что среди них лидирует, какие дистрибутивы Kubernetes сейчас используются и какие критерии влияют на выбор оркестратора.
Руководство от ненавистника Kubernetes: как использовать эту технологию
Пол Батлер, инженер-программист и создатель Jamsocket, уверяет, что Kubernetes — это как сложный, но увлекательный пазл: его можно ненавидеть, но без него не обойтись. Мы перевели его статью, в которой он рассказал, какие ресурсы K8s использует с удовольствием, а от каких предпочитает держаться подальше. В этом руководстве ненавистника вы найдете ценные советы, как извлечь максимум пользы из Kubernetes.
Некоторые моменты switchover в Patroni. Практические истории из SRE-будней. Часть 8
Однажды нам нужно было уменьшить мастер кластера PostgreSQL по CPU и памяти. План был надёжный: дождаться низкой нагрузки на кластер, сменить мастер на одну из асинхронных реплик, переконфигурировать виртуальную машину с бывшим мастером и сделать switchover обратно. Казалось бы, что могло пойти не так?
Что изменилось в ИТ-инфраструктуре российских компаний за год: Enterprise Linux сдаёт позиции, CI/CD на подъёме
Сегодня вышел подробный отчёт о состоянии DevOps в России. В исследовании этого года приняло участие рекордное количество респондентов — больше 4100 линейных специалистов и руководителей. В статье мы расскажем, что узнали про инфраструктуру российских компаний: какие ОС чаще используют на серверах, где хранят логи, какие системы контроля версий предпочитают и как меняется картина от года к году.
Как я собрал солнечную станцию своими руками: детальный обзор компонентов и процесса сборки
Однажды автор решил, что самостоятельно соберет дополнительный источник, так как у него есть опыт работы с электроникой, а также много разных инструментов для этого.
В статье он рассказал, почему решил сделать именно солнечную станцию, и детально расписал основные её части, а ещё объяснил, что понадобится для сборки. Из последней части вы узнаете, как собрать подобный источник энергии. Спойлер: он прошёл испытания и отлично работает.
Создание скрипта на Python с помощью ChatGPT-4о: автоматизация миграции доменов
ChatGPT-4o написал Python-скрипт на 400 строк, который с помощью API Cloudflare переносит домены со всеми настройками между разными аккаунтами. В статье подробно рассмотрен процесс создания скрипта, включая сохранение и копирование настроек и DNS-записей. Также приводятся примеры кода и пояснения, позволяющие легко адаптировать решения под конкретные задачи.
Список из 100 полезных фраз для IT на английском языке с примерами употребления
Насколько ваш английский хорош, чтобы комфортно общаться в профессиональной среде? Или просто воспринимать информацию по нужной вам теме из первоисточника?
Чтобы иметь обоснованное представление об этом, предлагаю воспользоваться гайдом из 100 слов наиболее часто встречающихся в теме IT. Этот список наработан мною за 2 года работы с видео и статьями из таких изданий, как MIT, TechLife News, Bloomberg, Science Today, Harvard Business Review.
Слова разделены по рубрикам и к каждому слову добавлены описание на английском, перевод и пример употребления. В отдельных случаях указана транскрипция, чтобы вы обратили внимание на правильное произношение.
Можно ли выучить английский по списку слов? Нет, конечно. Но по нему можно оценить в процентном соотношении, сколько из 100 вам уже известно.
Важно: не воспринимайте перевод слишком буквально и попробуйте предложить свой, исходя из описания на английском.
Как сделать безопасную загрузку с полностью зашифрованным диском на Linux без загрузчика на UEFI
Наша новая статья — для довольно искушённых пользователей Linux. В ней DevOps-инженер Алексей Гаврилов разобрал, как установить Debian или аналогичный дистрибутив на полностью зашифрованный диск без загрузчика на UEFI с включённым Secure Boot.
После завершения установки вы получите включённый Secure boot с использованием личных ключей для подписи EFI-файлов, подписанные ключом файл ядра и initramfs, а также зашифрованные разделы диска за вычетом EFI boot. Это позволит уменьшить возможность векторного взлома ноутбука и усложнит жизнь потенциальному взломщику, поскольку в его распоряжении будут только подписанные EFI-файлы.
Kubernetes 1.31: новый VolumeSource, эмуляция старых версий и настройка анонимного доступа к эндпоинтам
Сегодня официально выпустили новую версию Kubernetes — 1.31. Среди главных нововведений — VolumeSource, поддерживающий OCI-образы и/или OCI-артефакты и поле SupplementalGroupsPolicy для контроля дополнительных групп, которые присоединяются к первому процессу в контейнере, а также флаг --emulation-version для эмулирования возможностей предыдущих версий Kubernetes и механизм, который позволяет пользователям настраивать, к каким эндпоинтам возможен анонимный доступ.
Как использовать blue-green-деплой: руководство по выкату одного и нескольких приложений
В статье я задеплою приложение в blue-green, а также покажу, как работает смена между blue и green на практике. Cначала рассмотрим реализацию деплоя приложения в blue-green-стратегии, а затем попробуем werf bundle для деплоя нескольких приложений из одного репозитория. Будем деплоить с помощью werf, все ресурсы описывать как Helm-шаблоны, а для развёртывания использовать GitLab.
Открытый онлайн-курс по цифровой схемотехнике: от истоков до первого устройства
Привет, Хабр! У нас новости. Мы запустили онлайн-курс по цифровой схемотехнике для начинающих. Он подойдет всем, кому интересно собрать из простых компонентов готовое устройство на макетной плате и узнать больше о «внутренностях» электроники. Присоединяйтесь сами или рассмотрите курс для совместного досуга с ребенком, младшим братом или сестрой. Возможно, кому-то он поможет не только найти новое занимательное хобби, но и определиться с будущей профессией.
Всего в курсе 11 практических роликов с подробными теоретическими материалами к каждому. Будем не просто смотреть на картинки с электрическими схемами, а проводить эксперименты своими руками. Начнем с истоков: познакомимся с оборудованием и линейными электронными компонентами, а закончим сборкой секундомера с применением микросхем цифровой логики. Все подробности — на странице курса и под катом.
Заглянем в хрустальный шар: как продвигается разработка стандартных матричных расширений RISC-V
Привет, Хабр! В предыдущем тексте мы рассмотрели все существующие матричные расширения. Возникает вопрос: ждать ли в ближайшее время новых расширений для матричных операций? Ответ — да, они разрабатываются прямо сейчас для архитектуры RISC-V. Новость может вызвать удивление, ведь в обзоре уже есть целых два матричных расширения RISC-V. Но оба эти расширения — кастомные, и, конечно же, в консорциуме RISC-V International задумались о разработке стандартного решения.
В этот статье я подробно расскажу, что это за решения и чего от них ожидать. А еще поделюсь последними новостями из мира разреженных матриц.
Итеративная сборка FPGA-проектов
Всем привет! Я Константин Павлов, старший инженер по разработке систем на кристалле. Работаю в группе прототипирования в компании YADRO, занимаюсь отладкой на ПЛИС исходного кода, который затем будет работать в ASIC.
В статье я расскажу об итеративной (многократной) сборке проектов ПЛИС. Зачем она нужна и какими способами — вендорскими и самописными — ее возможно реализовать. А еще на примерах из практики покажу, каких впечатляющих результатов можно добиться, используя итеративную сборку.
No fail, no gain: как мы исправили более миллиона тестов, проверяя оптимизацию библиотеки OpenBLAS под RISC-V
Открытая архитектура RISC-V активно развивается: в стандарт добавляются новые расширения и инструкции, разрабатываются новые ядра и SoC. Поскольку многие компании видят перспективы архитектуры и готовы использовать ее в продакшене, создается программный стек для высокопроизводительных вычислений — RISC-V HPC (High Performance Computing). Прогресс сопровождает формирование нового тренда — OpenHPC. Он заключается в технологической независимости от решений коммерческих компаний. Причем это относится не только к ПО, но и к железу.
Чтобы концепция OpenHPC реализовывалась быстрее, нужно, чтобы к инициативе присоединилось как можно больше компаний, помогающих в развитии экосистемы решений для RISC-V HPC. Меня зовут Андрей Соколов, я инженер-программист в компании YADRO. В R&D-команде мы поставили перед собой задачу: изучить, как можно поддержать архитектуру RISC-V со стороны библиотек линейной алгебры BLAS и LAPACK. Тестирование одной из open source-библиотек привело нас к интересным открытиям, о которых я расскажу под катом.
В далекой-далекой Galaxy: как организовать общее пространство для Ansible-контента
Привет! Меня зовут Павел, я DevOps-инженер в YADRO. Где бы я ни работал, я был девопсом и использовал Ansible — где-то активнее, где-то меньше. В YADRO с этим инструментом работают почти все департаменты — от enterprise, где разрабатывают серверы, СХД и другое оборудование, до телекома.
В какой-то момент мы с коллегами поняли, что DevOps-инженеры в разных отделах иногда делают похожие автоматизации с нуля, хотя могли бы переиспользовать уже существующие Ansible-компоненты. Решили исправить это и организовать понятное и удобное общее пространство с компонентами, которые уже были написаны под конкретные задачи.
В статье я расскажу, с какими проблемами мы столкнулись (признаюсь, их было немало), какие варианты решения рассматривали и к чему в итоге пришли.
Lane margining: как оценить качество PCIe-соединения без дополнительной аппаратуры
При запуске новых плат и устройств с PCIe-соединениями недостаточно просто вставить карту в слот. Нужно так настроить эквалайзеры, редрайверы, пресеты и ретаймеры, чтобы на каждой полосе «поднялся линк», то есть установилось соединение. Это значит, что приемопередатчики на обоих концах распознали друг друга, договорились о кодировке и скорости передачи.
Долгое время без специального дорогостоящего инструмента нельзя было убедиться в устойчивости линка: что он не пропадает при малейших воздействиях температуры, влажности или любопытных лапок. То есть нелегко было узнать количественный запас по уровню сигнала, насколько он близок к границе потери различимости физических уровней — а значит, и разрыва соединения. Эта безнадежная ситуация изменилась с появлением четвертого поколения стандарта PCIe.
Расширяем тестовый фреймворк с помощью Pytest-плагинов. Часть 2: практика
В первой части статьи мы разбирались с теорией, которую нужно знать для создания собственных Pytest-плагинов: фикстурами, маркерами и хуками. А теперь перейдем к практике.
Я покажу два примера плагинов, которые помогают нам в интеграционном тестировании систем хранения данных. Расскажу, какие задачи они решают, сформулирую требования, покажу реализацию и код тестов. А в конце затрону вопрос о том, когда код имеет смысл оставить во фреймворке, а когда лучше вынести его в отдельный плагин.
Расширяем тестовый фреймворк с помощью Pytest-плагинов. Часть 1: теория
Всем привет! Меня зовут Александр Волков, я занимаюсь интеграционным и компонентным тестированием в YADRO. В числе продуктов компании есть системы хранения данных и, говоря о тестировании, я буду иметь в виду в первую очередь работу с СХД. Однако описанные подходы пригодятся всем, кто ищет инструменты для создания тестового фреймворка и расширения его возможностей под свои задачи.
Я расскажу, как можно разрабатывать свои плагины для тестового фреймворка, построенного поверх Pytest. Для удобства чтения статья разделена на две части. В первой рассмотрю минимально необходимую теорию: фазы работы Pytest, а также пользу фикстур, маркеров и хуков. Во второй части перейду к практике: разберу два примера реализации плагинов из нашего фреймворка и затрону вопрос о том, когда стоит выносить код в отдельный плагин.