Некоторое время назад потребовалось решить задачу по переносу виртуальных машин KVM с одного кластера Proxmox VE на другой с минимальным временем простоя. В PVE «из коробки» такой возможности нет, но, как оказалось, онлайн-миграцию виртуальных машин между кластерами можно выполнить средствами KVM. Процедуру переноса я подробно опишу в этом руководстве.
Sr Systems Engineer
Мой базовый паттерн использования ansible
Всем привет! Сегодня я хочу поделиться с вами простым паттерном использования ansible к которому я пришёл за годы работы с этим инструментом. Несмотря на простоту, в типовой инфраструктуре он покрывает процентов 80 кейсов IaC, т.е. является довольно универсальным.
Раз за разом описывая инфраструктуру в своих плейбуках, я заметил, что в большинстве случаев повторяется следующая последовательность:
486-го хватит всем
В конце технического интервью, если кандидат ответил на вопросы и справился с задачами, у нас есть время для свободных вопросов, которые можно задать команде или кому-то из интервьюеров. Эту практику я переносил из компании в компанию, и она всегда помогала разрядить обстановку или вывести человека на разговор, если он был напряжен во время общения. Вопросы могут быть любые, кроме личных или тех, что под NDA. Обычно кандидаты задают технические вопросы по стеку, пайплайнам, иногда пытаются задать каверзные вопросы, особенно по плюсам, чтобы проверить нас. Иногда мы не можем ответить на них. Вопросы в стиле Google — например, «почему таблетки круглые?» — тоже встречаются, но недавно на одном из интервью прозвучал вопрос, на который вроде все и знали ответ, но никто сразу не смог его дать. Вопрос звучал так: «Какие общие технологии и решения появились в процессорах с времён 486, которыми мы часто пользуемся?»
Вопрос действительно интересный — что нового появилось, чем мы пользуемся каждый день? Что умеют современные процессоры, чего не могли процессоры год или два назад, пять или десять лет назад, сорок лет назад? Мы просто используем миллиарды транзисторов, даже не зная, как они работают. Покопавшись в Википедии, на сайте Агнера Фога и в документации Intel, я составил список того, что появилось и используется в современных процессорах. Всё, что указано ниже, относится в основном к x86 и консолям, если не указано иное. Поскольку консоли после третьего поколения PlayStation — фактически ПК с минимальными отличиями, речь дальше пойдёт в основном о ПК. История имеет склонность повторяться, и многое из того, что мы сейчас имеем, вводилось не один раз, просто под разными названиями.
Управление секретами Kubernetes с Sealed Secrets и Helm: GitOps way
В этой статье рассмотрим, как можно организовать простое управление секретами для приложений в Kubernetes при использовании GitOps-подхода. Храним секреты в git безопасно и управляем ими из Helm-чарта приложения.
«Бобер выдыхай»: Go, WinAPI и ассемблер
Что вам приходит в голову при слове «Golang»? Google и микросервисы? Я тоже так думал, но реальность оказалась значительно интересней.
Отказоустойчивый деплой приложений в Kubernetes. Принципы, паттерны и приемы
Привет, Хабр! Я исполнительный директор по разработке департамента ML и BD Газпромбанка. Сегодня хочу поговорить с вами о деплое.
По данным, приведенным в Google SRE book, до 70% проблем происходит вследствие изменений в уже работающих системах. По моим личным ощущениям, это близко к правде: если у вас хорошо спроектированное и написанное приложение и стабильная, отлаженная инфраструктура, именно деплой — узкое место (которое можно улучшить). Для минимизации рисков Google SRE BOOK рекомендует использовать постепенные выкаты, быстро и точно анализировать проблемы, а в случае необходимости легко откатываться обратно.
Эта статья о деплое в Kubernetes, потому что это самая популярная инфраструктурная платформа, которая уже имеет множество возможностей для построения отказоустойчивых выкатов. А то, чего не хватает «из коробки», покрывается возможностями инструментов развитой экосистемы.
Но начать нужно не с возможностей Kubernetes, а с архитектурных особенностей, которые должны быть реализованы при создании приложений, предназначенных для работы в ней.
Те, кто больше любит слушать, чем читать, могут посмотреть мой доклад про это на HighLoad++. Остальным — добро пожаловать под кат.
Надежный обход блокировок в 2024: протоколы, клиенты и настройка сервера от простого к сложному
Поскольку блокировки интернета в РФ в последние недели и месяцы многократно активизировались, а маразм все крепчает и крепчает, стоит еще раз поднять тему обхода этих самых блокировок (и делаем ставки, через сколько дней на эту статью доброжелатели напишут донос в РКН чтобы ограничить к ней доступ на территории страны).
Вы, наверняка, помните отличный цикл статей на Хабре в прошлом году от пользователя MiraclePtr, который рассказывал о разных методах блокировок, о разных методах обхода блокировок, о разных клиентах и серверах для обходов блокировок, и о разных способах их настройки (раз, два, три, четыре, пять, шесть, семь, восемь, десять, десять, и вроде были еще другие), и можете спросить, а зачем еще одна? Есть две основные причины для этого.
Как мы делаем веб-сервис для автоматизации рабочих задач на базе агентов LLM
Друзья, всем привет! Сегодня хотим рассказать про то, как мы — Виталий, Даниил, Роберт и Никита — при поддержке AI Talent Hub, совместной магистратуры Napoleon IT и ИТМО, создаем Цифработа — сервис цифровых работников, который помогает оптимизировать временные затраты у сотрудников на выполнение рабочих задач с помощью агентов больших языковых моделей (LLM).
В данной статье мы вкратце рассмотрим, кто такие агенты, как они могут автоматизировать рабочие процессы, и обсудим ключевые вызовы, с которыми мы столкнулись при разработке сервиса. Сразу хочется отметить, что данная статья, скорее, служит обзором нашего решения проблемы и тех задач, над которыми мы работали, нежели преследует цель предоставить подробное руководство по применению агентов или проектированию архитектуры сервиса.
Предлагаем начинать!
Покрытие архитектуры as Code тестами
💬 На самом деле, моя идея написания тестов на архитектуру настолько проста, легко реализуема и при этом полезна, что я до сих пор толком не понимаю, почему я не встречал материалов на эту тему, и сама тема всё ещё не используется повсеместно 🙂
Статья написана по следам моих докладов на трёх крупных ИТ-конференциях, на каждой из которых ко мне подходили архитекторы и разработчики российских бигтехов, говорили, что я очень точно попал в их боли и предложил суперпрактику, которую они теперь будут внедрять. На всех трёх конференциях я получил высшие оценки от аудитории, а на двух из них доклад был признан лучшим в своей секции. В конце статьи приведена ссылка на видео доклада с одной из конференций.
В статье я поделюсь своей идеей и OpenSource-реализацией решения для написания тестов, разберу примеры тестов на небольшой учебной микросервисной архитектуре, а также расскажу про личный опыт и профит от применения этой практики.
Для разработчиков монолита тоже есть небольшой бонус: в OpenSource-репозитории появилась реализация и примеры тестов на архитектуру модульного монолита.
Кластеризация в ML: от теоретических основ популярных алгоритмов к их реализации с нуля на Python
Кластеризация — это набор методов без учителя для группировки данных по определённым критериям в так называемые кластеры, что позволяет выявлять сходства и различия между объектами, а также упрощать их анализ и визуализацию. Из-за частичного сходства в постановке задач с классификацией кластеризацию ещё называют unsupervised classification.
В данной статье описан не только принцип работы популярных алгоритмов кластеризации от простых к более продвинутым, но а также представлены их упрощённые реализации с нуля на Python, отражающие основную идею. Помимо этого, в конце каждого раздела указаны дополнительные источники для более глубокого ознакомления.
Создание сквозного конвейера MLOps с помощью Open-source инструментов
Эта статья служит целенаправленным руководством для специалистов по исследованию данных и инженеров ML, которые хотят перейти от экспериментального машинного обучения к готовым к производству конвейерам MLOps. Мы выявим ограничения традиционных систем ML и познакомим вас с основными инструментами с открытым исходным кодом, которые помогут вам создать более надежную, масштабируемую и поддерживаемую систему ML.
Среди обсуждаемых инструментов — Feast для управления функциями, MLflow для отслеживания и версионирования моделей, Seldon для развертывания моделей, Evidently для мониторинга в реальном времени и Kubeflow для оркестровки рабочих процессов.
Введение
Ландшафт машинного обучения постоянно меняется, и переход от разработки моделей к их внедрению в производство сопряжен с рядом трудностей. Хотя блокноты Jupyter и изолированные скрипты полезны для экспериментов, им часто не хватает функций, необходимых для системы производственного уровня. Эта статья призвана помочь вам справиться с этими проблемами, познакомив с концепцией MLOps и набором инструментов с открытым исходным кодом, которые могут облегчить создание готового к производству ML-конвейера.
Независимо от того, являетесь ли вы специалистом по исследованию данных, желающим перейти к производственной деятельности, или инженером ML, стремящимся оптимизировать существующие рабочие процессы, эта статья призвана дать целенаправленный обзор основных практик и инструментов MLOps.
Книга «Грокаем машинное обучение»
Машинное обучение — это набор методов анализа данных, основанных на алгоритмах, которые дают все более точные результаты по мере поступления новых данных. Машинное обучение лежит в основе систем рекомендаций, программ распознавания лиц, «умных» колонок и даже беспилотных автомобилей. Эта уникальная книга объясняет основные понятия машинного обучения на простых и доступных примерах, увлекательных упражнениях и запоминающихся иллюстрациях.
Здесь нет зубодробительного академического жаргона, для понимания объяснений достаточно знаний основ алгебры. По мере чтения вы будете создавать модели для идентификации спама и распознавания изображений и другие интересные проекты на языке Python.
Откройте для себя мощные методы машинного обучения, для понимания и применения которых достаточно знаний математики на уровне средней школы!
Для читателей, знающих основы языка Python. Знаний в области машинного обучения не требуется.
В качестве обзора книги мы предлагаем вам ознакомится с переводом статьи автора Luis Serrano.
Пингвин расставил сети: работа сети в Linux
Всем привет! С вами снова я, Аргентум! Сегодня я продолжу нашу серию статей об ядре Linux.
В этой статье мы будем изучать способ организации сети в мире серверов и то, как она эволюционировала от использования традиционного сетевого стека ядра Linux к виртуализации сети с использованием OVS и к обработке нагрузки телекоммуникационных компаний с использованием NFV и SR-IOV.
Локальные нейросети. Аналог ChatGPT-3.5 на домашнем ПК: OpenChat 7B превосходящая 70B, DeepSeek для кода уровня ChatGPT
Есть много локальных аналогов ChatGPT, но им не хватает качества, даже 65B модели не могут конкурировать хотя бы с ChatGPT-3.5. И здесь я хочу рассказать про 2 открытые модели, которые всё-таки могут составить такую конкуренцию.
Речь пойдет о OpenChat 7B и DeepSeek Coder. Обе модели за счет размера быстры, можно запускать на CPU, можно запускать локально, можно частично ускорять на GPU (перенося часть слоев на GPU, на сколько хватит видеопамяти) и для такого типа моделей есть графический удобный интерфейс.
И бонусом затронем новую модель для качественного подробного описания фото.
UPD: Добавлена информация для запуска на Windows с ускорением на AMD.
Подборка видео с последнего SREcon
Всем привет меня зовут Максим, я SRE инженер в группе компаний Тинькофф.
Но сегодня я здесь по другой причине.
Я уже давно собираю и публикую подборки видео, от которых есть толк, с разных каналов SRE направленности в телеграмм канале https://t.me/sre_pub и спасибо им большое за то что позволяют мне это делать.
Но я не видел подобных подборок на хабре и для меня до сих пор загадка почему.
Лично для меня Хабр является основной площадкой для получения информации.
Вы можете это понять по 1500+ моих закладок в профиле.
Так вот я просмотрел все доклады с SREcon23 составил для вас подборку из докладов вырезав все доклады в которых было больше болтовни или рекламы чем пользы.
ИИ-помощники для работы с кодом
Инструменты на базе ИИ с открытым исходным кодом, которые призваны помочь вам в разработке проектов.
Использование технологий машинного обучения в аудите: примеры эффективного применения
Привет, Хабр! На связи Егор Гершевский и Никита Горбачёв, участники профессионального сообщества NTA.
Аудит является неотъемлемой частью бизнес-практики, обеспечивая независимую оценку финансовой отчётности и процессов в организации. Аудиторы полагаются на опыт и статистическую выборку для ручной проверки сотен документов и свидетельств, определения сильных сторон и углублённого анализа организационных процедур и транзакций. Однако этот ручной процесс превратил аудит в трудоёмкую деятельность.
Сегодня почти каждая крупная технологическая компания внедряет машинное обучение (ML) в аудит. Вот, например, как оно применяется в Facebook и Amazon. Его можно задействовать в разных аспектах, включая анализ данных, обнаружение мошенничества, прогнозирование рисков и оптимизацию процессов. Алгоритмы машинного обучения могут обрабатывать и анализировать огромные объёмы данных, выявлять скрытые зависимости и аномалии, что помогает аудиторам принимать более обоснованные и точные решения. Далее мы рассмотрим различные типы задач машинного обучения, которые могут быть применены в аудите.
Как мы боролись с овербукингом Kubernetes-кластеров
Привет! Меня зовут Александр Лебедев, я SRE в Samokat.tech. Мы строим надёжную платформу для сервисов быстрой доставки и в зону ответственности моей команды входят поддержка Kubernetes-кластеров и управление их ресурсами.
Под катом история о том, как мы пришли к своему варианту resource management через борьбу с овербукингом по CPU.
Алгоритмы балансировки нагрузок
Рано или поздно веб-приложения перерастают среду одного сервера. Компаниям требуется увеличить или их доступность, или масштабируемость, или и то, и другое. Чтобы сделать это, они развёртывают своё приложение на нескольких серверах и ставят перед ним балансировщик нагрузок для распределения входящих запросов. Чтобы справляться с нагрузками, большим компаниям могут потребоваться тысячи серверов, на которых запущено веб-приложение.
В этом посте мы рассмотрим способы, которыми один балансировщик нагрузок может распределять HTTP-запросы на множество серверов. Мы начнём снизу и проделаем весь путь вверх до современных алгоритмов балансировки нагрузок.
Собеседование Senior DevOps Engineer: вопросы
Вы когда-нибудь задумывались о том, какие вопросы задают DevOps инженеру на собеседовании? Да, есть вполне обоснованное мнение, что таких инженеров в принципе быть не может (или все инженеры команды являются проводниками методологии DevOps), но все же на рынке хватает вакансий «DevOps Engiineer» разных уровней. Сегодня мы рассмотрим вопросы DevOps инженерам высшего (без пипл менеджмента) уровня – Senior.
Information
- Rating
- 4,845-th
- Location
- Hamburg, Hamburg, Германия
- Registered
- Activity