Search
Write a publication
Pull to refresh
8
0
Send message

HiFire-4. Гиперзвук — это просто (почти)

Reading time5 min
Views12K

Летные испытания гиперзвукового самолета - это дорого и сложно. Но есть способы в разумных пределах упростить эту задачу, примером чему служит летный эксперимент HiFire-IV, выполненный в составе международной исследовательской программы HiFire

По материалам AIAA

Читать далее

Управление архитектурой как кодом (январские тезисы)

Level of difficultyMedium
Reading time5 min
Views3.5K

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

Читать далее

Собираем логи веб-приложений в Kibana/Loki

Reading time7 min
Views11K

Привет, Хабр! Меня зовут Евгений Лабутин, я разработчик в МТС Digital. Расскажу вам о том, как мы на нашем проекте МТС Твой бизнес собираем логи с клиентских веб‑приложений. А еще обсудим вспомогательный микросервис логирования, который мы вывели в Open source, и поговорим о том, как устроено логирование в принципе.

Читать далее

Как написать автотесты деплоя и сэкономить нервы DevOps-инженеров

Reading time7 min
Views9K

Привет! Меня зовут Артём Комаренко, я работаю на позиции QA Lead в команде PaaS в СберМаркете. Хочу поделиться историей, как мы придумывали способ быстро убедиться, что очередные изменения в скриптах деплоя не разломают процесс выкатки во всей компании. Статья будет полезна QA-специалистам и DevOps-инженерам, которые хотят автоматизировать тесты инфраструктуры.

Читать далее

Солитоны. Модель Френкеля-Конторовой

Level of difficultyHard
Reading time18 min
Views11K

В физике часто оперируют волновыми функциями с ярко выраженными свойствами частиц. Давно стали обыденными понятия частиц с положительным и отрицательным зарядами и с соответствующим взаимодействием. Широко используют Лоренц-преобразования, когда при увеличении скорости волна-частица сжимается, с соответствующим увеличением полной энергии при приближении к скорости света.

Но можно ли представить простейшую и наглядную модель, из которой выводятся все эти свойства разом?

Одной из таких моделей является модель Френкеля-Конторовой, которую мы рассмотрим в рамках истории теории солитонов.

Читать далее

Руководство по созданию экономического бота для Discord, а также установка необходимых компонентов и ресурсов

Level of difficultyMedium
Reading time10 min
Views9.9K

Руководство по созданию экономического бота для мессенджера Discord. + Установка необходимых компонентов.

Читать далее

Повышаем производительность и безопасность мониторингом логов и метрик

Level of difficultyEasy
Reading time10 min
Views11K

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

В этой статье мы подробно рассмотрим мониторинг, расскажем о нескольких примерах использования, дадим рекомендации, а также поговорим о том, как конкретно мониторинг способен повысить безопасность, производительность и надёжность при помощи наблюдаемости.
Читать дальше →

Как Василий ускорял сборку тестов

Reading time7 min
Views4.2K

Однажды инженер Василий проснулся и понял, что больше не может ждать эти бесконечные пайплайны.

Чтобы отделить ощущения от реальности, он начал собирать статистику — сколько ходят пайпланы, сколько выполняются сами тесты в сервисе фото, а сколько собираются образы. Всё обдумав, он осознал: нужно что-то делать непосредственно с самой сборкой — от пайплайна к пайплайну зависимости меняются редко, а пересобирается всё каждый раз, как в первый.

Картина была такая: от старта пайплайна до непосредственного запуска тестов в сервисе проходило в среднем 7,5 минут. Допустим, за рабочий день каждый член команды (разработчик/тестировщик) запускает 3 пайплайна, а людей в команде — 14. Тогда на сборку образа уходит 5 часов 15 минут. 

Василию не подходит.

Читать далее

Технология непрерывной поставки ПО

Reading time8 min
Views4.8K

Разработка программного обеспечения давно уже стала серьезным промышленным направлением, по сложности зачастую превосходящим некоторые технологические  производства. Это в прежние времена и архитектурой, и разработкой и тестированием приложения могли заниматься только программисты, которые сами писали код. Сейчас в разработке участвует множество различных специалистов: архитекторов, разработчиков, дизайнеров, тестировщиков и многих других. Все эти специалисты отвечают за то, чтобы продукт вышел в продакшен. После чего за дальнейшее исправное функционирование решения отвечают уже другие специалисты – техническая поддержка, специалисты по эксплуатации. Однако и это не исчерпывающий список участников процесса обеспечения жизненного цикла приложения. Любое сетевое приложение сейчас может стать целью для хакеров. Поэтому и разработка, и эксплуатация приложений должны вестись с учетом актуальных практик по информационной безопасности.

Читать далее

Управление производительностью с Python 3.12

Reading time6 min
Views15K

В Python 3.12 появилась поддержка perf profiling. В этой статье увидим, как это помогает сократить время выполнения Python-скрипта с 36 секунд до 0,8. Мы рассмотрим Linux-инструмент perfграфики Flame Graph, посмотрим на  дизассемблированный код и займемся поиском ошибок.

Читать далее

Управление IT-командой в Jira: опыт Банка ДОМ.РФ

Reading time11 min
Views10K

Привет, Хабр! Меня зовут Игорь Рарог, в Банке ДОМ.РФ я совмещаю две роли: лид команды и релиз-менеджер, и сегодня поделюсь своим опытом ведения проектов в Jira.

Вначале хочу рассказать о нашем проекте под названием «Апикс» — это ипотечный конвейер (о нем мы уже писали тут: Методология разработки и архитектура кредитного конвейера АПИКС в Банке ДОМ.РФ).

В команде нас более 100 человек, и мы поделены на продуктовые команды, где каждая отвечает за свою часть функциональности или бизнес-направление.

К примеру, одна из команд занимается заявочной частью: пилит фичи по работе с персональными данными клиента, дорабатывает openAPI для работы с партнерами и т.д. 

Другая делает доработки для выдачи ипотеки клиенту, множество интеграций с шиной, АБС (Автоматизированная Банковская Система) и другими внешними сервисами.

Всего таких команд 10, причём одна из них, платформенная, занимается только техническим долгом и не реализует никаких бизнес-фич. Данная команда отвечает за оптимизацию разработанных микросервисов, рефакторинг, сокращение времени обработки запросов, развязыванием микросервисов и много чем еще интересным.

В каждой команде, за исключением команды тех. долга, есть следующие роли:

Читать далее

Прокачка виртуального персонажа и иные методы геймификации в Agile

Reading time7 min
Views2.6K

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

Читать далее

Kubernetes через грабли или внедрение в университете

Reading time3 min
Views6.8K

К Kubernetes мы присматривались два года. Изучали различные статьи, пытались его разворачивать, но после развертывания не понимали что делать дальше. Пока однажды мы не решили попробовать завернуть одну из систем в контейнер. Для оркестрации контейнера была выбрана система Docker Swarm, так как она проще, и тут возникла первая проблема – в выбранной системе была авторизация, а Docker Swarm проблема с сохранением сессии пользователя если контейнеров больше одного (мы использовали ADFS для авторизации в системе) – т.е. текущая сессия пользователя не сохранялась и при обновлении страницы выходила стартовая. Поиск различных решений сводил к одному – нужен Kubernetes с его Ingress контроллером, где есть «липкие сессии» (sticky session). При выборе дистрибутива было принято решение использовать «ванильный» k8s.

В очередной раз установив Kubernetes начался поиск решения как доставить туда наш контейнер. Контейнеры собирались на отдельной виртуальной машине и загружались в локальный Docker Container Registry, а чтобы развернуть этот контейнер в Kubernetes использовался Gitlab Runner на мастере. Не самое лучшее решение, но компетенций на другое не хватало. И вот когда Deployment был развернут возник вопрос. Как вывести контейнер наружу. Так как мы использовали Bare Metal конфигурацию, то при первом запросе в Google вылез Metal LB. Если бы мы знали тогда, что можно использовать Ingress Nginx с параметром Host Network: True, то это сэкономило бы нам месяц экспериментов с Metal LB и мы знали, что от него можно сразу отказаться. Для Metal LB использовалась L2 конфигурация, где создавался виртуальный пул адресов, который виден только внутри кластера. А как вывести это наружу? Конечно установить Nginx на мастер и прописывать виртуальные адреса в /etc/hosts, чтобы Nginx их видел. К счастью в голове тогда была мысль, что это как-то неправильно.

Читать далее

Первый опыт работы с ChatGPT с примером

Reading time2 min
Views12K

В процессе сотрудничества с одним из новостных порталов была озвучена задача генерации осмысленного текста по наборам тезисов. Это увеличивает время пребывания пользователей на сайте, что, в свою очередь, привлекает рекламодателей. Для этой цели воспользовались общедоступной версией ChatGPT от OpenAI.

Читать далее

Agile-методы: light-версии требований

Reading time7 min
Views4.2K

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

Как ответ на это родились Agile-методы, которые организовывают разработку принципиально иным образом: короткими итерациями, с регулярным получением обратной связи от заказчика и пользователей, для чего необходимо им представлять работоспособную версию продукта, которую они смогут оценить.

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

Читать далее →

Репликации в PostgreSQL

Reading time6 min
Views75K

Сейчас трудно себе представить «боевую» инсталляцию любой серьезной СУБД в виде единственного инстанса. Конечно, некоторые приложения требуют для своей работы использование локальных баз данных, но если мы говорим о сетевом многопользовательском режиме работы, то здесь использование только одной инсталляции это очень плохая идея.

Основной проблемой единственной инсталляции естественно является надежность. В случае падения сервера нам потребуется некоторое, возможно значительное, время на восстановление. Так восстановление террабайтной базы может занять несколько часов.

Да и исправный бэкап есть не всегда, но об этом мы уже говорили в предыдущей статье.

Читать далее

Автоматизация управления с помощью Ansible

Reading time7 min
Views16K

В предыдущей статье мы достаточно подробно рассмотрели вопросы связанные с автоматизацией управлением и настройкой ПО в средних и крупных сетях. Рассмотрели Vagrant и основные методы работы с виртуальной инфраструктурой. В этой статье мы подробно поговорим об использовании такого интересного инструмента, как Ansible.

Данное решение позволяет автоматизировать развертывание и настройку ресурсов в сети, подготовку контейнеров и виртуальных машин, и многое другое. Само приложение Ansible работает в так называемом проталкивающем режиме. Вся работа с инфраструктурой осуществляется с сервера управления. И с этой машины ведется применение настроек к управляемым узлам.

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

Читать далее

Делаем дашборды для Grafana из того, что отдает экспортер метрик Prometheus и автоматизируем это

Reading time4 min
Views21K

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

В статье описание работы конвертора и рассказ о некоторых хитростях в настройке мониторинга Apache Spark и Hadoop.

Укыйбызмы?

Определение победителей матчей регулярного чемпионата КХЛ методами классического ML

Reading time29 min
Views6K

Всем привет!

Давно хотел применить методы машинного обучения в области спортивной индустрии. Данное желание обусловлено интересом к самому спорту и к тому, насколько хорошо математические модели могут предсказывать исходы различных спортивных событий. Возможность реализации задуманного представилась на выпускном проекте курса "Machine Learning. Professional" в Otus. Можно было взять любую интересующую тему, и я выбрал определение победителей матчей регулярного чемпионата КХЛ. Так как курс был по ML, для решения задачи рекомендовалось применять классические методы без использования нейросетевых моделей. Дав волю своему экспериментаторскому началу, я принялся за дело.

Исходные данные

Исходные данные для обучения и тестирования моделей парсились с сайта khl.ru.  В расчёт бралась информация по 4 последним завершенным сезонам – 2018/2019, 2019/2020, 2020/2021 и 2021/2022.

Парсинг состоял из двух частей.

Читать далее

13 распространенных задач в Kubernetes и способы их решения

Reading time13 min
Views28K


Команда VK Cloud перевела статью о проблемах в Kubernetes, с которыми часто сталкиваются инженеры-разработчики при запуске новых масштабируемых отказоустойчивых веб-сервисов. 
Читать дальше →
1

Information

Rating
Does not participate
Location
Россия
Registered
Activity