Pull to refresh
5
0
Send message

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

Reading time5 min
Views12K

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

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

Читать далее
Total votes 19: ↑19 and ↓0+19
Comments31

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

Level of difficultyMedium
Reading time5 min
Views2.8K

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

Читать далее
Total votes 4: ↑3 and ↓1+4
Comments6

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

Reading time7 min
Views7.8K

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

Читать далее
Total votes 4: ↑4 and ↓0+4
Comments13

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

Reading time7 min
Views8.5K

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

Читать далее
Total votes 8: ↑8 and ↓0+8
Comments14

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

Level of difficultyHard
Reading time18 min
Views9K

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

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

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

Читать далее
Total votes 41: ↑41 and ↓0+41
Comments17

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

Level of difficultyMedium
Reading time10 min
Views7.5K

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

Читать далее
Rating0
Comments7

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

Level of difficultyEasy
Reading time10 min
Views10K

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

В этой статье мы подробно рассмотрим мониторинг, расскажем о нескольких примерах использования, дадим рекомендации, а также поговорим о том, как конкретно мониторинг способен повысить безопасность, производительность и надёжность при помощи наблюдаемости.
Читать дальше →
Total votes 26: ↑25 and ↓1+34
Comments2

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

Reading time7 min
Views4K

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

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

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

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

Читать далее
Total votes 13: ↑13 and ↓0+13
Comments3

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

Reading time8 min
Views3.9K

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

Читать далее
Total votes 7: ↑5 and ↓2+4
Comments0

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

Reading time6 min
Views14K

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

Читать далее
Total votes 29: ↑29 and ↓0+29
Comments5

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

Reading time11 min
Views7.1K

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

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

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

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

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

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

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

Читать далее
Total votes 2: ↑2 and ↓0+2
Comments10

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

Reading time7 min
Views2.2K

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

Читать далее
Total votes 9: ↑7 and ↓2+6
Comments1

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

Reading time3 min
Views6.5K

К 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 их видел. К счастью в голове тогда была мысль, что это как-то неправильно.

Читать далее
Total votes 8: ↑6 and ↓2+11
Comments21

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

Reading time2 min
Views12K

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

Читать далее
Total votes 5: ↑3 and ↓2+2
Comments24

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

Reading time7 min
Views3.8K

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

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

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

Читать далее →
Total votes 8: ↑5 and ↓3+2
Comments5

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

Reading time6 min
Views43K

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

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

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

Читать далее
Total votes 13: ↑10 and ↓3+8
Comments16

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

Reading time7 min
Views12K

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

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

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

Читать далее
Total votes 10: ↑9 and ↓1+9
Comments3

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

Reading time4 min
Views14K

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

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

Укыйбызмы?
Total votes 5: ↑4 and ↓1+3
Comments5

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

Reading time29 min
Views5K

Всем привет!

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

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

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

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

Читать далее
Total votes 19: ↑19 and ↓0+19
Comments13

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

Reading time13 min
Views23K


Команда VK Cloud перевела статью о проблемах в Kubernetes, с которыми часто сталкиваются инженеры-разработчики при запуске новых масштабируемых отказоустойчивых веб-сервисов. 
Читать дальше →
Total votes 33: ↑29 and ↓4+40
Comments3
1

Information

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