Построение цифровой модели рельефа (DEM) с использованием открытого программного обеспечения PyGMTSAR (Python InSAR) является ярким примером технология, которая выглядит настоящей магией. Действительно, для создания спутникового DEM требуется всего один клик. Указанный пример и многие другие интерактивные примеры InSAR с 3D визуализацией доступны на Google Colab, в Docker образах и даже на GitHub Actions на https://InSAR.dev
Software Architect
Инженерия устойчивости — основной инструмент выживания вашей организации
Привет! Меня зовут Сергей Реусин и последние пять лет я занимаюсь эксплуатацией production-систем с непрерывной практикой инцидент-менеджмента. Каждый день, сталкиваясь с аномалиями и проблемами, невольно спрашиваешь себя: «Почему это происходит? А главное — как с этим дальше жить?». Три нелегких года работы в Купере ( ex СберМаркет), где мне доверили строить культуру инцидент-менеджмента, помогли мне утвердиться во мнении и подходах, которые действительно помогают справляться с подобными вызовами. О них и поговорим!
Чтобы сложить цельную картину о создании устойчивых систем и организации, мы пройдем по шагам:
1. Определим, ради чего вся эта «доступность» и «стабильность» нужна
2. Попробуем устаканить терминологию, чтобы говорить на одном языке
3. Посмотрим на понятие системы с позиции устойчивости
4. Обратимся к историческому опыту
5. Изучим возможные паттерны отказов систем и способы их митигации
6. Визуализируем модель восприятия аномалий
7. Познакомимся с ключевыми личностями в подходах Resilience Engineering
Kubernetes без интернета: как мы устанавливаем Deckhouse в закрытом контуре (обзор и видео доклада)
Всем привет! На связи Максим Набоких, архитектор и технический руководитель Deckhouse Kubernetes Platform. Deckhouse работает в компаниях из разных отраслей: нефтегазовые предприятия, финтех, государственные организации, банки, облачные провайдеры и так далее. И больше чем в половине этих организаций во внутренней инфраструктуре нет интернета — он просто запрещён. Поэтому нам надо было придумать процесс установки своей платформы в закрытый контур.
О том, как устанавливать Kubernetes (Deckhouse использует ванильный K8s), где «не ступал» ни один пакет из публичной сети, я рассказал на HighLoad++ 2023. Эта статья — текстовая версия моего доклада. Мы разберём целевую схему закрытого контура, нюансы работы инструментов для создания безопасной среды, посмотрим, как готовить дистрибутив Kubernetes-платформы к установке и осуществлять доставку приложений в закрытых окружениях.
Vector.dev: как упростить подсчет метрик по логам
Меня зовут Дима Синявский, я SRE-инженер в Vi.Tech — это IT-дочка ВсеИнструменты.ру. В этой статье я расскажу вам о нашем опыте работы с vector.dev, как мы сначала превращали логи в метрики и как это автоматизировали до такой степени, что теперь с этим справиться один yaml-developer.
Наш сайт создает более 100 тысяч заказов каждый день, и чтобы все это успешно работало у нас много сервисов, которые пишут много логов по ним часто нужно считать метрики. А SRE часто нужны метрики и порой это надо сделать прямо сейчас, а не ждать доработки приложения. Потому метрики по логам спасают.
Если у вас в эксплуатации уже есть коммерческие функциональностью подсчета логов по метрикам, то, думаю, ваши потребности им уже закрыты. Однако, тем кто строит свои системы с применением открытого ПО - это может быть полезно.
TLDR. Да мы смогли улучшить этот процесс, упростить и автоматизировать при помощи шаблонизации конфигов, да посмотреть код можно, есть в опенсорс есть на github.
Как ELK довел нас… до Vector.dev и Clickhouse
Меня зовут Дима Синявский, я SRE-инженер в Vi.Tech — это IT-дочка ВсеИнструменты.ру. В этой статье расскажу я вам о том как мы развивались и с нами развивалась наша система логирования. Почему вам нужен Vector.dev + Clickhouse для хранения и когда это выгодно.
Когда компания была маленькой нам хватало и блокнота, чего сейчас уже не скажешь.
У нас 931 000 пайплайнов в месяц, 4 кластера Kubernetes: от 170 до 190 нод в каждом, и 200 ГБ логов ежедневно.
Дизайн-система Gravity UI: как легко построить свой интерфейс
Всем привет, я Алексей Сизиков, руководитель отдела User Experience в Yandex Cloud. В этой статье я хочу поделиться новостью: мы выпустили нашу дизайн-систему и библиотеку компонентов Gravity UI в опенсорс.
Под катом — рассказ, зачем мы сделали Gravity UI, как его используем, в чём особенности и преимущества нашего подхода и как мы планируем развивать его дальше. А ещё — как настроить разные цветовые схемы в своих проектах и почему у нас четыре темы вместо двух стандартных.
Home Lab мечты в Kubernetes
Когда я только начал осваивать Linux, я почти сразу загорелся идеей держать собственный сервер для экспериментов и повседневного использования. Такой сервер называют домашней лабораторией и способов ее построения достаточно много. Это интересное занятие очень популярно среди Linux‑энтузиастов.
В этой статье я расскажу про свой путь в построении такой лаборатории с помощью Kubernetes и облачных технологий. Здесь вас ждут полностью воспроизводимые k8s‑кластеры, бекапы с авто‑восстановлением, хитрые VPN‑ретрансляторы, хорошо защищенные приватные и публичные приложения, а также много‑много автоматизации и красивых инженерных решений.
Готовим по рецепту: CI/CD в MLOps
Всем привет! Меня зовут Роза и я MLOps-инженер в Купере. Под катом расскажу, как построить CI/CD-пайплайн для ML-приложений с нуля, поэтапно и без боли. Ну почти :)
Раньше очень часто работа DS-инженера заканчивалась на подготовке кода модели в Jupyter-ноутбуке, а дальше его подхватывали команды разработки и доводили до продакшена. У такого подхода есть минусы. Например, если произойдёт инцидент, непонятно кто ответственен за сервис — команда разработки или авторы ML-модели?
К счастью, культура разработки меняется: теперь ML-инженер — это специалист, который разрабатывает свой ML-сервис на всем пути от общения с бизнесом до продакшена. Этот подход хорошо описывает принцип «you build it, you run it»: кто построил модель, тот её и запускает. Как раз в этом здорово помогает CI/CD.
Пара шаблонов кастомизированных элементов Handlebars для Apache Superset
Apache Superset всё чаще становится выбором для визуализации данных благодаря открытому коду. Но, увы, столкнувшись с его ограничениями и тонкостями, даже самые опытные пользователи могут столкнуться с трудностями. Есть много ограничений, которые требуют обращения за доработками к разработчикам, но с помощью шаблона Handlebars в сочетании с шаблонизацией jinja некоторые трудности можно обойти.
С его помощью можно внедрить web-верстку прямо в ваши дашборды, обходя множество подводных камней. Готовых шаблонов для handlebars (superset) мало, так как это довольно трудоемкая задача, часто выходящая за рамки работы с готовыми BI-системами.
Знания как код: архитектурный репозиторий в git на базе PlantUML
Привет, Хабр! Меня зовут Максим Приходский, я архитектор R-Style Softlab и сегодня хочу рассказать вам о проекте создания архитектурного репозитория в git на базе PlantUML.
Atlas: Как реконструировать 3D сцену из набора изображений
Всем привет! Если вы увлекаетесь 3D-технологиями или просто хотите узнать больше о современных методах создания трехмерных моделей, вам точно стоит прочитать эту статью. Мы погрузимся в метод Atlas — уникальный способ 3D-реконструкции сцены на основе всего лишь 2D-изображений. Вы узнаете, как линейная регрессия и усеченная знаковая функция расстояния (TSDF) могут значительно упростить процесс моделирования, обеспечивая более точные результаты без необходимости использования карт глубины.
Мы рассмотрим ключевые концепции, такие как извлечение признаков с помощью 2D-CNN и превращение их в воксельные объёмы, а также узнаем, как 3D-CNN уточняет эти признаки для более глубокого понимания сцены. Даже если вы не знакомы с терминологией, я постараюсь объяснить всё доступным языком.
Балуемся кластеризацией и синхронизацией: как устроена мгновенная загрузка фото в Яндекс Диске
Всем привет! Меня зовут Дима, я тимлид команды Яндекс Диска. Сегодня расскажу, как обрабатывать сотни терабайт загружаемого контента в день и быстро доставлять его в ленту со всеми фотографиями пользователя. Лента выглядит как локальная галерея на телефоне, но может содержать в себе сотни тысяч фотографий, хранящихся в облаке, и быстро переходить к любой точке среди огромного количества контента.
В статье подробно расскажу про технический челлендж, наш подход к реализации задачи и про особенности синхронизации, используемой в этом случае.
Использование инерциальной навигационной системы (ИНС) с несколькими датчиками на примере задачи стабилизации высоты квадрокоптера
Как я прогнозирую полярные сияния с помощью открытых данных, Python и облачного сервера
Доводилось ли вам наблюдать полярное сияние? В окрестностях Санкт-Петербурга это не такое уж и редкое явление, но многие мои друзья и знакомые его ни разу не видели. Как оказалось, они не знают, когда, куда и при каких обстоятельствах отправиться, чтобы его застать. Это побудило меня впервые написать код на Python, чтобы решить проблему. В этой статье расскажу, как я автоматизировал оценку состояния магнитосферы Земли и запустил Telegram-бота на облачном сервере, чтобы получать информацию о предстоящих полярных сияниях.
Как подружить Gorm и PostGIS, решение промышленного уровня
GORM Фантастическая ORM для Golang.
PostGIS расширяет возможности реляционной базы данных PostgreSQL , добавляя поддержку хранения, индексирования и запросов геопространственных данных.
В этой статье поделимся своим опытом интеграции GORM и PostGIS, сложностями при попытке использования gorm для работы с геометрическими данными и конечно предлагаем готовое решение.
Изначально эта статья была опубликована здесь.
Как писать требования и документацию к проекту. Полный гайд с шаблоном документации и примерами заполнения
Хабр, привет!
Меня расстраивает несправедливость в мире IT: для новичков-разработчиков есть куча пошаговых инструкций, о там, как разработать API или мобильное приложение. Хочу немного уровнять баланс вселенной, поэтому я написал небольшой гайд для аналитиков для составления документации.
В прошлой статье я представил шаблон, а теперь заполнил его для фичи «Экспресс-доставка товара в маркетплейсе». Моя цель – показать, как можно вести документацию и как правильно заполнять этот шаблон.
Сравнение алгоритмов ограничения частоты запросов
▍ Зачем ограничивать частоту?
Представьте чат в Twitch со множеством активных пользователей и одним спамером. Без ограничения частоты сообщений единственный спамер может запросто заполнить всю беседу сообщениями. При ограничении частоты у каждого пользователя появляется равная возможность участия.
Ограничитель частоты позволяет управлять частотой обрабатываемого вашим сервисом трафика, блокируя запросы, превосходящие заданное пороговое значение за период времени. И это полезно не только для борьбы со спамом в чатах. Например, ограничение частоты отправки формы логина позволяет защититься от брутфорс-атак, оставляя при этом пользователю право на ошибку.
Конечные точки API тоже часто ограничивают по частоте запросов, чтобы их ресурсы не монополизировал единственный пользователь. Представьте, что вам нужно, чтобы пользователи могли обращаться к затратной конечной точке не чаще ста раз в минуту. Это можно отслеживать при помощи счётчика, обнуляющегося каждую минуту. Все запросы после сотого в пределах этой минуты будут блокироваться. Это один из простейших алгоритмов ограничения частоты, называющийся fixed window limiter (ограничитель с фиксированным окном). Это распространённый способ управления трафиком к сервису.
Но не всегда всё так просто.
Когда начинается и заканчивается каждое одноминутное окно? Если я запущу поток запросов ближе к концу окна, смогу ли превысить лимит? Ёмкость окна восстанавливается по одному запросу за раз, или сразу на всё количество?
В этом посте мы рассмотрим три самых популярных алгоритма, чтобы ответить на каждый из этих вопросов.
Пайплайны Gitlab CI: моя коллекция граблей
Привет, Хабр! Я Евгений Малышев, SRE-инженер в Купере (так теперь называется СберМаркет). Моя основная задача — это надежная работа сервисов фронтенда, и немалую роль в этом играют правильно построенные пайплайны CI/CD. В этом нам помогает Gitlab CI. В компании мы широко используем этот инструмент для создания общих шаблонов для сервисов на различных языках. На уровне отдельного репозитория легко расширить или настроить шаблонные джобы и добавить свои.
До этого у меня был опыт с Jenkins и Azure Devops, так что Gitlab CI мне показался довольно простым: есть стадии, есть правила запуска джоб с shell-подобным синтаксисом, да и скрипты джоб тоже используют bash-интерпретатор. Но в процессе близкого знакомства не раз возникали ситуации, когда поднимается то одна бровь, то обе, а то и руки в праведном гневе. Заходите посмотреть, какую коллекцию граблей собрал я.
Весь код с примерами граблей можно посмотреть в репозитории.
Шифруй то, шифруй это, или LLM под замком
Здравствуйте, уважаемые читатели Хабра. Чем больше я погружаюсь в LLM, тем больше укрепляюсь во мнении, что сейчас они (LLM) заняли если не самое важное, то уж точно одно из очень значимых мест во всём пантеоне моделей машинного обучения. При этом всё чаще встаёт вопрос шифрования моделей в самом широком смысле. Речь не столько о механизмах, алгоритмах, подходах и методиках шифрования того, что запрашивает пользователь, сколько о работе с данными в целом, в том числе и для обучения моделей. То есть о шифровании как на входе, так и на выходе — данных от пользователя, от модели и обучающих данных.
Мы поговорим о безопасном обращении с коммерческим контентом, шифровании данных, моделях и подходах к безопасному обращению и встраиванию коммерческих данных в модель. Будет интересно ;)
Почему это важно? Сегодня работает четвёртое поколение GPT‑систем, ждём пятое. Есть много аналогов «четвёрки» (Megatron‑LLM, LLaMA, Claude, PaLM, Mistral, BLOOM, Grok, Megatron‑Turing NLG, Chinchilla, OPT, GODEL, Jurrassic-2), которые по ряду параметров намного превосходят GPT-4. Однако для качественной «эволюции» систем необходимо «скармливать» им «правильный» эксплуатационный код, апробированный и полностью покрытый тестами, который создаётся крупными корпорациями, средним и малым бизнесом. Но есть нюанс: такой код просто так никто не отдаст. Более того, он защищён авторскими правами и имеет ряд наложенных юридических условий использования.
TTPoE от Tesla на выставке Hot Chips 2024: Замена TCP для low latency приложений
Tesla решила адаптировать Ethernet к своим потребностям с помощью изменения протокола транспортного уровня. TCP был заменен на Tesla Transport Protocol over Ethernet, или TTPoE. TTPoE разработан как для обеспечения микросекундных задержек, так и для простой аппаратной нагрузки. Уровни нижнего слоя остались без изменений, что позволило протоколу работать через стандартные коммутаторы Ethernet.
Информация
- В рейтинге
- Не участвует
- Откуда
- Швеция
- Зарегистрирован
- Активность