Как стать автором
Обновить
395.37

Open source *

Открытое программное обеспечение

Сначала показывать
Порог рейтинга
Уровень сложности

Как мы пытались подружить VictoriaMetrics и Thanos (и у нас почти получилось)

Время на прочтение14 мин
Количество просмотров5.7K

Привет! Меня зовут Григорий, я техлид в Cloud Infrastructure Team в Сравни. Моя команда отвечает за observability системы и облачную инфраструктуру. Не так давно мы полностью обновили наш стек мониторинга. Хочу рассказать, как у нас организовано хранение long-term метрик без использования Object Storage.

Мы в Сравни долгое время использовали связку Prometheus + Thanos для мониторинга и хранения данных. Для Thanos мы использовали схему с sidecar’ом. Эта схема работала довольно неплохо, но с ростом проекта — росло и потребление ресурсов. Со временем задачи по scrape samples уже потребляли значительные ресурсы. Когда только на Prometheus стало уходить больше 30 ядер vCPU и 100 гигабайт RAM, мы начали искать способы оптимизации потребления ресурсов. 

Первым делом определили требования, которые необходимы для системы мониторинга:
- должно поддерживаться развертывание в Kubernetes;
- система должна быть способна переезжать из одного Kubernetes-кластера в другой без потери данных;
- нужна поддержка downsampling;
- возможность построить high availability систему;
- в идеале, чтобы система требовала очень мало внимания на обслуживание ;)

Мы поизучали варианты, и сперва показалось, что будет хорошей идеей взять стек VMAgent + Thanos receiver. Как несложно угадать из названия статьи, этого у нас не получилось. Недавно я увидел в одном профессиональном чате, что коллеги захотели использовать такой же стек и по тем же причинам, что и мы. Поэтому решил поделиться нашим опытом и рассказать, к чему мы в итоге пришли.

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии3

Яндекс выложил YaLM 100B — сейчас это крупнейшая GPT-подобная нейросеть в свободном доступе. Вот как удалось её обучить

Время на прочтение10 мин
Количество просмотров117K

Больше примеров — в конце поста

В последние годы большие языковые модели на архитектуре трансформеров стали вершиной развития нейросетей в задачах NLP. С каждым месяцем они становятся всё больше и сложнее. Чтобы обучить подобные модели, уже сейчас требуются миллионы долларов, лучшие специалисты и годы разработки. В результате доступ к современным технологиям остался лишь у крупнейших IT-компаний. При этом у исследователей и разработчиков со всего мира есть потребность в доступе к таким решениям. Без новых исследований развитие технологий неизбежно снизит темпы. Единственный способ избежать этого — делиться с сообществом своими наработками.

Год назад мы впервые рассказали Хабру о семействе языковых моделей YaLM и их применении в Алисе и Поиске. Сегодня мы выложили в свободный доступ нашу самую большую модель YaLM на 100 млрд параметров. Она обучалась 65 дней на 1,7 ТБ текстов из интернета, книг и множества других источников с помощью 800 видеокарт A100. Модель и дополнительные материалы опубликованы на Гитхабе под лицензией Apache 2.0, которая допускает применение как в исследовательских, так и в коммерческих проектах. Сейчас это самая большая в мире GPT-подобная нейросеть в свободном доступе как для английского, так и для русского языков.

В этой статье мы поделимся не только моделью, но и нашим опытом её обучения. Может показаться, что если у вас уже есть суперкомпьютер, то с обучением больших моделей никаких проблем не возникнет. К сожалению, это заблуждение. Под катом мы расскажем о том, как смогли обучить языковую модель такого размера. Вы узнаете, как удалось добиться стабильности обучения и при этом ускорить его в два раза. Кстати, многое из того, что будет описано ниже, может быть полезно при обучении нейросетей любого размера.
Читать дальше →
Всего голосов 123: ↑122 и ↓1+164
Комментарии139

Пробуем Chaos Mesh, или Гармония хаоса и есть порядок

Время на прочтение11 мин
Количество просмотров3.9K

В продолжение наших статей про Chaos Engineering расскажу про недавний опыт проверки на прочность приложений в кластере Kubernetes с помощью Open Source-оператора Chaos Mesh.

Читать далее
Всего голосов 24: ↑22 и ↓2+26
Комментарии2

Со скрипта на «верфь»

Время на прочтение11 мин
Количество просмотров5.5K

Использование того или иного продукта в проекте - это всегда попытка найти лучшее решение, балансируя между ограниченным бюджетом, возможностями роста практически по любому сценарию и высотой "порога входа". Существует много продуктов, которые связаны с контейнерами, что выбрать подходящий инструмент становится всё сложнее и сложенее, а community с "промытыми мозгами" и мышлением "ёжиков жрущих кактус" только добавляет сложности (хотя в противовес оным есть хейтеры, которые наоборот обгадят решение, просто потому что в своё время оно им не подошло).

В целом, чтобы выбрать нужное решение чаще всего приходится поднять лабу, которая покроет 90% задач, чтобы понять насколько решение подходящее, а это значит пройти какую-то боль, потратить время и деньги. Но ещё помогают статьи, в которых рассматриваются частные случаи внедрения и подбор инструментов, чтобы научиться на чужих ошибках через объективный взгляд со стороны. Надеюсь, эта статья о том, почему и как мы пришли к решению с werf, поможет кому-то подобрать инструмент для своих нужд.

Читать далее
Всего голосов 23: ↑21 и ↓2+28
Комментарии0

Истории

Go, Allure и HTTP, или Как мило тестировать HTTP-сервисы на Go

Время на прочтение10 мин
Количество просмотров14K

Привет! Меня зовут Сергей, я старший разработчик в Ozon и раньше вообще не был замечен в QA.

Все мы привыкли к лёгкому написанию тестов на Python и Java — это основные языки автотестировщиков с богатым инструментарием утилит и всего, что упрощает жизнь. Что нужно для написания автотестов для HTTP-сервиса на Python или Java? Гугл, бутылочка крафта и два часа времени. 

А как быть в случае с Go? Как раз на нём мы в большинстве случаев пишем микросервисы. И если тесты написаны на другом языке, разработчики не могут внести в них свой вклад или отревьюить их. Поэтому внутри Ozon активно развивается Go-сообщество QA, и этим ребятам тоже нужно тестировать HTTP-сервисы и проверять отчёты в Allure. Как настоящие сварщики мы подумали: «Если чего-то не хватает, нужно написать своё». Сказано — сделано: встречайте опенсорс-библиотеку CUTE в BDD-стиле, которая облегчает тяготы создания автотестов и упрощает переход на Go. Главные фичи: создание HTTP-тестов, возможность реализовывать проверки из коробки, Allure-отчёты и низкий порог входа. Инструкция — под катом.

Читать далее
Всего голосов 50: ↑48 и ↓2+51
Комментарии9

13 лучших игр с открытым кодом на Gamedev.js Jam 2022

Время на прочтение4 мин
Количество просмотров15K

В 2022 году в сообществе Gamedev.js прозвучал призыв делиться исходниками игр на GitHub. Подборку игр с открытым кодом представляем к старту курса по Fullstack-разработке на Python. Автор этого материала — основатель Enclave Games и конкурса js13kGames.

Читать далее
Всего голосов 4: ↑2 и ↓20
Комментарии1

Про настройку гиперпараметров ансамблей моделей машинного обучения

Время на прочтение13 мин
Количество просмотров4.8K

Привет Хабр!

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

А мемы про гиперпараметры?
Всего голосов 4: ↑4 и ↓0+4
Комментарии0

Дерево комиксов на D3.js из API Marvel

Время на прочтение3 мин
Количество просмотров4.5K

Интерактивное дерево комиксов с связями и обложками, написанное на d3.js 6.
Данные берутся динамически по API Marvel.

Как я это сделал?
Всего голосов 8: ↑8 и ↓0+8
Комментарии1

Ретро про участие в Tinkoff Invest Robot Contest

Время на прочтение6 мин
Количество просмотров2.7K

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

Читать далее
Всего голосов 5: ↑4 и ↓1+6
Комментарии9

Использование WebAssetsManager Joomla 4 (Joomla 5) и добавление собственных пресетов с помощью плагина

Время на прочтение8 мин
Количество просмотров3.1K

В мире фронтенда многие ресурсы (ассеты) связаны между собой. В Joomla никогда не было простого способа указать эту связь, но Joomla 4 изменила эту ситуацию, введя концепцию Web Assets. Управление JavaScript и CSS в Joomla значительно упростилось, благодаря классу WebAssetManager. Есть замечательная статья Как правильно подключать JavaScript и CSS в Joomla 4, в которой подробно и с примерами кода рассказывается об этой концепции и её применении. Рекомендую ознакомиться с ней для более полного понимания сути этой статьи.

Однако, в процессе разработки собственных решений я столкнулся с проблемой. Решение её в данной заметке будет небольшим дополнением к вышеупомянутой статье.

Читать далее
Всего голосов 3: ↑3 и ↓0+3
Комментарии4

Интервью с создателями Organic Maps — открытых мобильных карт на основе OpenStreetMap

Время на прочтение6 мин
Количество просмотров15K

В июне прошлого года вышла первая версия программы Organic Maps - бесплатных мобильных карт для Android и iOS с открытым исходным кодом. Об этом событии я опубликовал небольшую заметку на Хабре. Весь год шла интенсивная разработка, а число установок превысило 100 тысяч. Я решил взять небольшое интервью у разработчиков Organic Maps и обсудить с ними итоги года работы и планы на будущее.

Читать далее
Всего голосов 49: ↑48 и ↓1+61
Комментарии69

Проверяем эмулятор GPCS4, или сможем ли когда-нибудь поиграть в «Bloodborne» на PC

Время на прочтение15 мин
Количество просмотров10K

Эмулятор – это приложение, способное имитировать запуск программы, предназначенной для одной платформы, на другой. Примером эмулятора является GPCS4, предназначенный для запуска игр для PS4 на PC. Недавно состоялся первый релиз GPCS4, и мы решили проверить этот проект. Давайте посмотрим, какие ошибки удалось найти PVS-Studio в исходном коде этого эмулятора.

Читать далее
Всего голосов 8: ↑7 и ↓1+8
Комментарии10

Go ebiten: разбираемся с рендерингом и позиционированием текста

Время на прочтение11 мин
Количество просмотров6.1K

Перед вами первая заметка на тему разработки игр на Go с использованием библиотеки ebiten (также известный как Ebitengine).


Сегодня мы будем разбираться, как выполняется позиционирование текста. Как центрировать его, менять межстрочный интервал и так далее. Официальная документация и примеры содержат почти всё необходимое, но чтобы свести всё воедино и понять все концепции можно потратить несколько вечеров. Я постараюсь сэкономить ваше время.


Читать дальше →
Всего голосов 13: ↑12 и ↓1+14
Комментарии18

Ближайшие события

Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург
Summer Merge
Дата28 – 30 июня
Время11:00
Место
Ульяновская область

SObjectizer: что это, для чего это и почему это выглядит именно так? Взгляд из 2022-го

Время на прочтение18 мин
Количество просмотров4.2K

Шесть лет назад, в июне 2016-го года, вышла первая статья об инструменте, с разработкой которого я связан уже много лет. Шестилетней давности публикация дала толчок интереса к SObjectizer-у и, как я понимаю, кто-то сумел попробовать SObjectizer в деле (или собрался попробовать) именно благодаря той статье. Поскольку за прошедшее время SObjectizer несколько изменился, то я подумал, что не помешало бы выпустить обновленную версию статьи. Исправленную и дополненную. С учетом не только того, что в SObjectizer изменилось/появилось/исчезло, но и отталкиваясь от критических отзывов на предыдущие статьи про SObjectizer.

Итак, вашему вниманию предоставляется свежий взгляд на то, что же это за инструмент, для чего он создавался и почему получился именно таким.

Читать далее
Всего голосов 27: ↑27 и ↓0+27
Комментарии16

SIEM-SIEM, откройся: какие инструменты наиболее эффективно анализируют цифровую инфраструктуру

Время на прочтение4 мин
Количество просмотров2.6K

Волна кибератак нарастает, две трети из них совершаются с целью получения данных. Как найти белые пятна в средствах защиты информации (СЗИ) и навести порядок в инфраструктуре, как помогает в решении этих задач Security Information and Event Management (SIEM), раскрыл руководитель отдела консалтинга и инженерной поддержки направления по информбезопасности компании Axoft Денис Фокин.

Читать далее
Рейтинг0
Комментарии0

Мое дикое знакомство с OpenStack

Время на прочтение6 мин
Количество просмотров19K

Как я знакомился с OpenStack и прострелил себе колени, голову и сердце.

Читать далее
Всего голосов 9: ↑8 и ↓1+9
Комментарии24

Rust и Linux

Время на прочтение8 мин
Количество просмотров23K

Во время прошлогодней Linux Plumbers Conference 2021 один из мейнтейнеров, Мигель Охеда, задался вопросом: нужен ли сообществу Rust в коде ядра Linux и что нужно для того, чтобы соответствующие патчи были приняты в древе проекта? Комментарии от разработчиков были в основном доброжелательными, но без фанатизма. Лидер проекта Линус Торвальдс сказал, что не против т․ н․ пилотной серии патчей на Rust, с оговоркой, что и остальные разработчики должны рассматривать их в качестве опытной партии.

Тут уместно вспомнить, что ядро Linux вероятно один из самых масштабных проектов с открытым исходным кодом и самый успешный, учитывая пройденный путь за более, чем 30 лет после опубликования версии ядра 0.01. Всё это время разработка велась и ведётся поныне на языке программирования C. Линус Торвальдс без ума от C и не раз высказывался в том духе, что от добра добра не ищут, и все остальные ЯП непригодны для разработки ядра.
Читать дальше →
Всего голосов 49: ↑43 и ↓6+56
Комментарии174

Краткая история облачных технологий

Время на прочтение5 мин
Количество просмотров6.1K

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

Шон О'Салливан два года делал свой стартап NetCentric, целью которого было запихнуть софт в интернет (software inside the internet). Compaq проинвестировали 5 млн долларов и выделили своего директора по маркетингу Джорджа Фавалоро, чтобы написать нормальный бизнес-план.

NetCentric столкнулся с трудностями и был продан в 2001 году. Для Compaq это стало началом 2-миллиардного бизнеса по продаже серверов интернет-провайдерам.

До "облачных вычислений" О'Салливан основал в 1986 году MapInfo (один из первых location-based services) и за 7 лет набрал более миллиона пользователей и капитализацией 200 млн долларов. А в 2011 О'Салливан пытался сделать свой Uber. Вернемся к облачным вычислениям.

Читать далее
Всего голосов 8: ↑6 и ↓2+7
Комментарии0

Взять и погрузиться в DevSecOps — книги, вебинар и другие ресурсы, которые помогут сделать это

Время на прочтение4 мин
Количество просмотров6.8K

Мы продолжаем рассказывать о полезных ресурсах для ИТ-специалистов. В прошлый раз составили подборку для системных администраторов, сегодня — для специалистов, занимающихся автоматизацией разработки безопасных приложений. В список попали тематические справочники, сборники историй с фейлами, курируемый репозиторий на GitHub и тематический вебинар, который пройдет 22 июня.

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии0

Эксперимент с HPFS в ReactOS

Время на прочтение2 мин
Количество просмотров3.5K

Я решил провести эксперимент с драйвером файловой системы HPFS (файловая система OS/2). Мне интересно проверить как будет работать HPFS в ReactOS после установки драйвера (он в своё время существовал для Windows NT). Я на виртуалке использовал OS/2 Extended Edition 1.2

Читать далее
Всего голосов 6: ↑5 и ↓1+6
Комментарии10

Вклад авторов