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

Software Architect

Отправить сообщение

Создание цифровой модели рельефа (DEM) по открытым данным

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров2.5K

Построение цифровой модели рельефа (DEM) с использованием открытого программного обеспечения PyGMTSAR (Python InSAR) является ярким примером технология, которая выглядит настоящей магией. Действительно, для создания спутникового DEM требуется всего один клик. Указанный пример и многие другие интерактивные примеры InSAR с 3D визуализацией доступны на Google Colab, в Docker образах и даже на GitHub Actions на https://InSAR.dev

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

Инженерия устойчивости — основной инструмент выживания вашей организации

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

Привет! Меня зовут Сергей Реусин и последние пять лет я занимаюсь эксплуатацией production-систем с непрерывной практикой инцидент-менеджмента. Каждый день, сталкиваясь с аномалиями и проблемами, невольно спрашиваешь себя: «Почему это происходит? А главное — как с этим дальше жить?». Три нелегких года работы в Купере ( ex СберМаркет), где мне доверили строить культуру инцидент-менеджмента, помогли мне утвердиться во мнении и подходах, которые действительно помогают справляться с подобными вызовами. О них и поговорим!

Чтобы сложить цельную картину о создании устойчивых систем и организации, мы пройдем по шагам:

1. Определим, ради чего вся эта «доступность» и «стабильность» нужна

2. Попробуем устаканить терминологию, чтобы говорить на одном языке

3. Посмотрим на понятие системы с позиции устойчивости

4. Обратимся к историческому опыту

5. Изучим возможные паттерны отказов систем и способы их митигации

6. Визуализируем модель восприятия аномалий

7. Познакомимся с ключевыми личностями в подходах Resilience Engineering

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

Kubernetes без интернета: как мы устанавливаем Deckhouse в закрытом контуре (обзор и видео доклада)

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров6.2K

Всем привет! На связи Максим Набоких, архитектор и технический руководитель Deckhouse Kubernetes Platform. Deckhouse работает в компаниях из разных отраслей: нефтегазовые предприятия, финтех, государственные организации, банки, облачные провайдеры и так далее. И больше чем в половине этих организаций во внутренней инфраструктуре нет интернета — он просто запрещён. Поэтому нам надо было придумать процесс установки своей платформы в закрытый контур.

О том, как устанавливать Kubernetes (Deckhouse использует ванильный K8s), где «не ступал» ни один пакет из публичной сети, я рассказал на HighLoad++ 2023. Эта статья — текстовая версия моего доклада. Мы разберём целевую схему закрытого контура, нюансы работы инструментов для создания безопасной среды, посмотрим, как готовить дистрибутив Kubernetes-платформы к установке и осуществлять доставку приложений в закрытых окружениях.

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

Vector.dev: как упростить подсчет метрик по логам

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров2K

Меня зовут Дима Синявский, я SRE-инженер в Vi.Tech — это IT-дочка ВсеИнструменты.ру. В этой статье я расскажу вам о нашем опыте работы с vector.dev, как мы сначала превращали логи в метрики и как это автоматизировали до такой степени, что теперь с этим справиться один yaml-developer.

Наш сайт создает более 100 тысяч заказов каждый день, и чтобы все это успешно работало у нас много сервисов, которые пишут много логов по ним часто нужно считать метрики. А SRE часто нужны метрики и порой это надо сделать прямо сейчас, а не ждать доработки приложения. Потому метрики по логам спасают.

Если у вас в эксплуатации уже есть коммерческие функциональностью подсчета логов по метрикам, то, думаю, ваши потребности им уже закрыты. Однако, тем кто строит свои системы с применением открытого ПО - это может быть полезно.

TLDR. Да мы смогли улучшить этот процесс, упростить и автоматизировать при помощи шаблонизации конфигов, да посмотреть код можно, есть в опенсорс есть на github.

Пойдем-ка посчитаем...
Всего голосов 10: ↑8 и ↓2+9
Комментарии4

Как ELK довел нас… до Vector.dev и Clickhouse

Уровень сложностиСложный
Время на прочтение7 мин
Количество просмотров9.3K

Меня зовут Дима Синявский, я SRE-инженер в Vi.Tech — это IT-дочка ВсеИнструменты.ру. В этой статье расскажу я вам о том как мы развивались и с нами развивалась наша система логирования. Почему вам нужен Vector.dev + Clickhouse для хранения и когда это выгодно.

Когда компания была маленькой нам хватало и блокнота, чего сейчас уже не скажешь.
У нас 931 000 пайплайнов в месяц, 4 кластера Kubernetes: от 170 до 190 нод в каждом, и 200 ГБ логов ежедневно.

cat elk-vector.md | more // Прочитать...
Всего голосов 26: ↑26 и ↓0+29
Комментарии47

Дизайн-система Gravity UI: как легко построить свой интерфейс

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров45K

Всем привет, я Алексей Сизиков, руководитель отдела User Experience в Yandex Cloud. В этой статье я хочу поделиться новостью: мы выпустили нашу дизайн-систему и библиотеку компонентов Gravity UI в опенсорс. 

Под катом — рассказ, зачем мы сделали Gravity UI, как его используем, в чём особенности и преимущества нашего подхода и как мы планируем развивать его дальше. А ещё — как настроить разные цветовые схемы в своих проектах и почему у нас четыре темы вместо двух стандартных.

Читать далее
Всего голосов 66: ↑64 и ↓2+67
Комментарии27

Home Lab мечты в Kubernetes

Уровень сложностиСложный
Время на прочтение34 мин
Количество просмотров9.6K

Когда я только начал осваивать Linux, я почти сразу загорелся идеей держать собственный сервер для экспериментов и повседневного использования. Такой сервер называют домашней лабораторией и способов ее построения достаточно много. Это интересное занятие очень популярно среди Linux‑энтузиастов.

В этой статье я расскажу про свой путь в построении такой лаборатории с помощью Kubernetes и облачных технологий. Здесь вас ждут полностью воспроизводимые k8s‑кластеры, бекапы с авто‑восстановлением, хитрые VPN‑ретрансляторы, хорошо защищенные приватные и публичные приложения, а также много‑много автоматизации и красивых инженерных решений.

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

Готовим по рецепту: CI/CD в MLOps

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров4.5K

Всем привет! Меня зовут Роза и я MLOps-инженер в Купере. Под катом расскажу, как построить CI/CD-пайплайн для ML-приложений с нуля, поэтапно и без боли. Ну почти :)

Раньше очень часто работа DS-инженера заканчивалась на подготовке кода модели в Jupyter-ноутбуке, а дальше его подхватывали команды разработки и доводили до продакшена. У такого подхода есть минусы. Например, если произойдёт инцидент, непонятно кто ответственен за сервис  — команда разработки или авторы ML-модели?

К счастью, культура разработки меняется: теперь ML-инженер — это специалист, который разрабатывает свой ML-сервис на всем пути от общения с бизнесом до продакшена. Этот подход хорошо описывает принцип «you build it, you run it»: кто построил модель, тот её и запускает. Как раз в этом здорово помогает CI/CD.

Погнали!
Всего голосов 20: ↑18 и ↓2+21
Комментарии11

Пара шаблонов кастомизированных элементов Handlebars для Apache Superset

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров2.2K

Apache Superset всё чаще становится выбором для визуализации данных благодаря открытому коду. Но, увы, столкнувшись с его ограничениями и тонкостями, даже самые опытные пользователи могут столкнуться с трудностями. Есть много ограничений, которые требуют обращения за доработками к разработчикам, но с помощью шаблона Handlebars в сочетании с шаблонизацией jinja некоторые трудности можно обойти.

С его помощью можно внедрить web-верстку прямо в ваши дашборды, обходя множество подводных камней. Готовых шаблонов для handlebars (superset) мало, так как это довольно трудоемкая задача, часто выходящая за рамки работы с готовыми BI-системами.

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

Знания как код: архитектурный репозиторий в git на базе PlantUML

Уровень сложностиСложный
Время на прочтение10 мин
Количество просмотров10K

Привет, Хабр! Меня зовут Максим Приходский, я архитектор R-Style Softlab и сегодня хочу рассказать вам о проекте создания архитектурного репозитория в git на базе PlantUML.

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

Atlas: Как реконструировать 3D сцену из набора изображений

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров2.4K

Всем привет! Если вы увлекаетесь 3D-технологиями или просто хотите узнать больше о современных методах создания трехмерных моделей, вам точно стоит прочитать эту статью. Мы погрузимся в метод Atlas — уникальный способ 3D-реконструкции сцены на основе всего лишь 2D-изображений. Вы узнаете, как линейная регрессия и усеченная знаковая функция расстояния (TSDF) могут значительно упростить процесс моделирования, обеспечивая более точные результаты без необходимости использования карт глубины.

Мы рассмотрим ключевые концепции, такие как извлечение признаков с помощью 2D-CNN и превращение их в воксельные объёмы, а также узнаем, как 3D-CNN уточняет эти признаки для более глубокого понимания сцены. Даже если вы не знакомы с терминологией, я постараюсь объяснить всё доступным языком.

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

Балуемся кластеризацией и синхронизацией: как устроена мгновенная загрузка фото в Яндекс Диске

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров4.3K

Всем привет! Меня зовут Дима, я тимлид команды Яндекс Диска. Сегодня расскажу, как обрабатывать сотни терабайт загружаемого контента в день и быстро доставлять его в ленту со всеми фотографиями пользователя. Лента выглядит как локальная галерея на телефоне, но может содержать в себе сотни тысяч фотографий, хранящихся в облаке, и быстро переходить к любой точке среди огромного количества контента. 

В статье подробно расскажу про технический челлендж, наш подход к реализации задачи и про особенности синхронизации, используемой в этом случае.

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

Использование инерциальной навигационной системы (ИНС) с несколькими датчиками на примере задачи стабилизации высоты квадрокоптера

Время на прочтение8 мин
Количество просмотров86K
В данной статье я постараюсь рассказать о своем опыте создания и реализации алгоритма для обработки сигналов с нескольких стандартных датчиков, входящих в состав ИНС (в английской версии IMU), для решения задачи стабилизации высоты многороторного летательного аппарата (в моем случае — квадрокоптера). На хабре уже был ряд статей, описывающих, что это за игрушка и как её сделать самому. Как программисту по профессии, мне было интересно не только его собрать, но и поковыряться в «мозгах» и сделать что-то полезное для сообщества. В качестве «мозгов» я выбрал Arduino и замечательный проект MultiWii. Он полностью открытый, динамично развивается, но в нем пока есть «белые пятна». Например, неудовлетворительно работает стабилизация положения по высоте. И я решил разобраться, можно ли с имеющимся оборудованием улучшить эту часть системы.
Читать дальше →
Всего голосов 38: ↑37 и ↓1+36
Комментарии37

Как я прогнозирую полярные сияния с помощью открытых данных, Python и облачного сервера

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

Доводилось ли вам наблюдать полярное сияние? В окрестностях Санкт-Петербурга это не такое уж и редкое явление, но многие мои друзья и знакомые его ни разу не видели. Как оказалось, они не знают, когда, куда и при каких обстоятельствах отправиться, чтобы его застать. Это побудило меня впервые написать код на Python, чтобы решить проблему. В этой статье расскажу, как я автоматизировал оценку состояния магнитосферы Земли и запустил Telegram-бота на облачном сервере, чтобы получать информацию о предстоящих полярных сияниях.
Читать дальше →
Всего голосов 58: ↑58 и ↓0+78
Комментарии4

Как подружить Gorm и PostGIS, решение промышленного уровня

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров1.2K

GORM Фантастическая ORM для Golang.

PostGIS расширяет возможности реляционной базы данных PostgreSQL , добавляя поддержку хранения, индексирования и запросов геопространственных данных.

В этой статье поделимся своим опытом интеграции GORM и PostGIS, сложностями при попытке использования gorm для работы с геометрическими данными и конечно предлагаем готовое решение.

Изначально эта статья была опубликована здесь.

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

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

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров33K

Хабр, привет!

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

В прошлой статье я представил шаблон, а теперь заполнил его для фичи «Экспресс-доставка товара в маркетплейсе». Моя цель – показать, как можно вести документацию и как правильно заполнять этот шаблон.

Читать далее
Всего голосов 54: ↑51 и ↓3+53
Комментарии24

Сравнение алгоритмов ограничения частоты запросов

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров6.9K

▍ Зачем ограничивать частоту?


Представьте чат в Twitch со множеством активных пользователей и одним спамером. Без ограничения частоты сообщений единственный спамер может запросто заполнить всю беседу сообщениями. При ограничении частоты у каждого пользователя появляется равная возможность участия.

Видео


Ограничитель частоты позволяет управлять частотой обрабатываемого вашим сервисом трафика, блокируя запросы, превосходящие заданное пороговое значение за период времени. И это полезно не только для борьбы со спамом в чатах. Например, ограничение частоты отправки формы логина позволяет защититься от брутфорс-атак, оставляя при этом пользователю право на ошибку.

Конечные точки API тоже часто ограничивают по частоте запросов, чтобы их ресурсы не монополизировал единственный пользователь. Представьте, что вам нужно, чтобы пользователи могли обращаться к затратной конечной точке не чаще ста раз в минуту. Это можно отслеживать при помощи счётчика, обнуляющегося каждую минуту. Все запросы после сотого в пределах этой минуты будут блокироваться. Это один из простейших алгоритмов ограничения частоты, называющийся fixed window limiter (ограничитель с фиксированным окном). Это распространённый способ управления трафиком к сервису.

Но не всегда всё так просто.

Когда начинается и заканчивается каждое одноминутное окно? Если я запущу поток запросов ближе к концу окна, смогу ли превысить лимит? Ёмкость окна восстанавливается по одному запросу за раз, или сразу на всё количество?

В этом посте мы рассмотрим три самых популярных алгоритма, чтобы ответить на каждый из этих вопросов.
Читать дальше →
Всего голосов 34: ↑34 и ↓0+53
Комментарии4

Пайплайны Gitlab CI: моя коллекция граблей

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров9.8K

Привет, Хабр! Я Евгений Малышев, SRE-инженер в Купере (так теперь называется СберМаркет). Моя основная задача — это надежная работа сервисов фронтенда, и немалую роль в этом играют правильно построенные пайплайны CI/CD. В этом нам помогает Gitlab CI. В компании мы широко используем этот инструмент для создания общих шаблонов для сервисов на различных языках. На уровне отдельного репозитория легко расширить или настроить шаблонные джобы и добавить свои.

До этого у меня был опыт с Jenkins и Azure Devops, так что Gitlab CI мне показался довольно простым: есть стадии, есть правила запуска джоб с shell-подобным синтаксисом, да и скрипты джоб тоже используют bash-интерпретатор. Но в процессе близкого знакомства не раз возникали ситуации, когда поднимается то одна бровь, то обе, а то и руки в праведном гневе. Заходите посмотреть, какую коллекцию граблей собрал я.

Весь код с примерами граблей можно посмотреть в репозитории.

Пройтись по граблям
Всего голосов 28: ↑23 и ↓5+23
Комментарии9

Шифруй то, шифруй это, или LLM под замком

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров3.4K

Здравствуйте, уважаемые читатели Хабра. Чем больше я погружаюсь в LLM, тем больше укрепляюсь во мнении, что сейчас они (LLM) заняли если не самое важное, то уж точно одно из очень значимых мест во всём пантеоне моделей машинного обучения. При этом всё чаще встаёт вопрос шифрования моделей в самом широком смысле. Речь не столько о механизмах, алгоритмах, подходах и методиках шифрования того, что запрашивает пользователь, сколько о работе с данными в целом, в том числе и для обучения моделей. То есть о шифровании как на входе, так и на выходе — данных от пользователя, от модели и обучающих данных.

Мы поговорим о безопасном обращении с коммерческим контентом, шифровании данных, моделях и подходах к безопасному обращению и встраиванию коммерческих данных в модель. Будет интересно ;)

Почему это важно? Сегодня работает четвёртое поколение GPT‑систем, ждём пятое. Есть много аналогов «четвёрки» (Megatron‑LLM, LLaMA, Claude, PaLM, Mistral, BLOOM, Grok, Megatron‑Turing NLG, Chinchilla, OPT, GODEL, Jurrassic-2), которые по ряду параметров намного превосходят GPT-4. Однако для качественной «эволюции» систем необходимо «скармливать» им «правильный» эксплуатационный код, апробированный и полностью покрытый тестами, который создаётся крупными корпорациями, средним и малым бизнесом. Но есть нюанс: такой код просто так никто не отдаст. Более того, он защищён авторскими правами и имеет ряд наложенных юридических условий использования.

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

TTPoE от Tesla на выставке Hot Chips 2024: Замена TCP для low latency приложений

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров1.8K

Tesla решила адаптировать Ethernet к своим потребностям с помощью изменения протокола транспортного уровня. TCP был заменен на Tesla Transport Protocol over Ethernet, или TTPoE. TTPoE разработан как для обеспечения микросекундных задержек, так и для простой аппаратной нагрузки. Уровни нижнего слоя остались без изменений, что позволило протоколу работать через стандартные коммутаторы Ethernet.

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

Информация

В рейтинге
Не участвует
Откуда
Швеция
Зарегистрирован
Активность