В современных разработках ускорение тестирования является критически важной задачей, особенно в условиях интенсивной работы с CI/CD. В этой статье мы рассмотрим, как оптимизировать процесс тестирования с использованием Testcontainers и Spring, чтобы минимизировать время инициализации окружения, включая базу данных и контекст приложения. Мы поделимся практическим опытом настройки, основанным на реальном проекте, где мы смогли значительно сократить время выполнения компонентных тестов, сделав их более эффективными.
Prometheus: как Бог огня стал Богом мониторинга
Одним из важных компонентов современной разработки программного обеспечения является мониторинг. Он позволяет непрерывно следить за состоянием приложений и инфраструктуры, что дает возможность активно обнаруживать проблемы, предотвращать возникновение аварий и оптимизировать работу системы.
Метрики собирает и анализирует Prometheus – гибкая система с открытым исходным кодом, являющаяся одним из самых распространенных инструментов для реализации мониторинга.
Цель данной статьи - рассмотреть процесс разработки сервиса мониторинга на основе Prometheus и оценить его значимость в контексте современной разработки программного обеспечения.
Как улучшить пооперационное планирование в «1С:ERP»
Обычно переход с SAP на «1C» – непростой процесс со множеством подводных камней. И не только потому, что сама по себе миграция – комплексный проект, а корректный перенос данных и бизнес-процессов требует усилий и времени. Часто заказчики сталкиваются с отсутствием в новой системе привычных возможностей. Однако с надежным технологическим партнером реализовать их в российской ERP-системе возможно.
Цикл статей о Greenplum. Часть 2. Оптимальный DDL
Всем привет!
В прошлой статье мы с вами разобрались, как устроена MPP-архитектура Greenplum. Сегодня мы в сотрудничестве с @imzorin углубимся и разберемся, что представляет из себя DDL в этом хранилище. Также постараемся выделить основные моменты, на которые стоит обращать внимание при выборе типа таблиц, дистрибуции и прочего.
Как настроить маршруты согласования документов в 1С: нестандартные подходы
Логика формирования маршрутов согласования документов в крупных мультинациональных компаниях бывает очень сложной. При их построении необходимо соблюсти условия иерархии, которая не всегда совпадает со штатной или управленческой организационной структурой. Как реализовать это на практике, если справочники организаций, подразделений, сотрудников ведутся в разных информационных системах и на разных языках, а управленческая структура усложнена двойным и даже тройным подчинением, рассказывает Лидия Капитонова, руководитель проектов в области информационных технологий Axenix.
Миграция витрины данных с СУБД Teradata в СУБД Greenplum
Миграция СУБД с одной технологии на другую — сложный процесс, который связан не только с конвертацией кода и переливкой данных из одной системы в другую, хотя и здесь есть неочевидные нюансы. Это часто и вопросы, связанные с совместимостью функциональности, производительностью, безопасностью данных, архитектурными особенностями новой системы и многими другими аспектами.
Меня зовут Станислав Свириденко и я DWH-разработчик AXENIX. В этой статье хочу рассказать об опыте миграции витрины данных с проприетарной СУБД Teradata на свободную СУБД GreenPlum. Поговорим о задачах, подводных камнях, на которые мы периодически натыкались, и способах решений, найденных в процессе.
Математическая оптимизация для бизнеса. Часть 1. Пассажирские авиалинии
В рамках серии статей по применению математической оптимизации для решения задач в бизнесе мне хотелось бы кратко, но ёмко раскрыть причины и предпосылки возникновения потребности у бизнеса решений задач такого класса, а также привести конкретные примеры кейсов, которые успешно реализованы в крупнейших компаниях мира. В отдельности каждый кейс заслуживает не менее 50 страниц текста для полноценного описания, я же постараюсь изложить главную суть решений и некоторые технические особенности в формате статей на Хабре.
Алгоритмы математической оптимизации относятся к категории Prescriptive – аналитики, наиболее сложного и ценного для бизнеса аналитического сегмента. Данная категория позволяет создавать сложные интеллектуальные системы принятия решения с целью максимизировать экономические, производственные и многие другие KPI в рамках заданных ограничений. Математическая оптимизация имеет своё применение в каждом из видов бизнеса любого масштаба, включая промышленность, производство, розничную торговлю, транспорт и логистика, телеком, агросектор, энергетика, строительство, финансы, банкинг, спорт, кино, медицина, образование и т.д. В текущей статье пойдет речь о задачах в индустрии пассажирских авиалиний.
Цикл статей о Greenplum. Часть 1. GP под капотом
Всем привет!
Как вы знаете, многие поставщики ПО ушли с российского рынка ввиду введённых санкций и многие компании столкнулись с необходимость заняться импортозамещением в кратчайшие сроки. Не стал исключением и наш заказчик. Целевой системой, на которое было принято решение мигрировать старое хранилище, стал Greenplum (далее GP) от компании Arenadata.
Этой статьей мы запускаем цикл материалов посвященных Greenplum. В рамках цикла мы разберем, как вообще устроен GP и как выглядит его архитектура. Постараемся выделить must have практики при работе с данным продуктом, а также обсудим, как можно спроектировать хранилище на GP, осуществлять мониторинг эффективности работы и многое другое. Данный цикл статей будет полезен как разработчикам БД, так и аналитикам.
«Михалыч, где заказ?» или как мы автоматизировали процесс заказа лома и отслеживали его по RFID
Для того, чтобы повысить качество производства и продолжать расти, бизнесу приходиться автоматизировать ручные операции. Но борьба с легаси-процессами только на первый взгляд кажется простой и лёгкой. Найти то, что плохо работает и придумать, как это решить, не так то просто. А отучить сотрудников делать так, как они привыкли — ещё сложнее.
Привет, Habr! На связи Александр Тамразов и Дмитрий Кривенко, разработчики из Аxenix.
Старт приложений в БД Oracle через CRON: предотвращение параллельного выполнения
Работа одного и того же приложения одновременно в нескольких сессиях ни к чему хорошему привести не может, в лучшем случае – это просто лишняя нагрузка на сервер, в худшем – взаимные блокировки (deadlock) и как следствие – аварийное завершение приложений и/или значительное увеличение времени работы из-за многочисленных откатов транзакций. Как предотвратить параллельный запуск? Читайте в статье.
Жизненный цикл проекта внедрения ERP-системы на примере коробочных SAP и 1С решений, а также кастомных разработок
Слухи о необходимости замены импортных программных продуктов ходят еще с 2014 года. Но до 2022 года, кажется, многие организации и их ИТ-директоры воспринимали это скорее, как маркетинговый трюк, а не реальную потребность. Уход большинства зарубежных вендоров из России вызвал панику среди руководства ИТ-индустрии. Что позже превратилось в целый ряд различных проектов: срочные переходы с глобального шаблона SAP на локальную версию, внедрение продуктов 1С, создание кастомных разработок для заполнения возникших пробелов на рынке, а также долгосрочные инициативы по импортозамещению. Все это затронуло многих в нашей области: занимаясь только проектами и продуктами SAP, мы пропустили множество других программных решений и способов их внедрения, которые демонстрируют разнообразие в мире информационных технологий и корпоративных информационных систем (КИС).
Наряду с каскадной методологией, являющейся основой имплементации большинства проектов SAP и гибридных SAP-методов, живущих фактически лишь на бумаге, специалистам доступны принципы Agile, применимые в кастомных разработках, спиралевидные модели внедрения, рекомендуемые 1С в технологии ТКВ (технология корпоративного внедрения) и много всего другого, на что мы не обращали должного внимания при господстве западных программных продуктов.
Поучаствовав в нескольких проектах внедрения 1С решений, а также кастомных разработок и имея более чем 15-ти летний опыт вовлечения в SAP проекты, я бы хотел поделиться результатами сравнения особенностей их реализации. Дальнейший материал будет рассматриваться в контексте следующих проектов: тиражирование SAP ERP, автоматизация закупочной деятельности на базе SAP ERP MM/IM/FM, имплементация 1С ERP, БП и ЗУП, подготовка целевой ИТ-архитектуры на базе 1С ERP, а также реализация кастомного SRM-решения, для которых было критически важно подобрать релевантную модель внедрения и доставить результат точно в срок.
Раскрывая потенциал GenICam и Harvester в системах компьютерного зрения
Опыт работы с крупнейшими производственными площадками позволяет сказать, что на сегодняшний день целый ряд производств считает современные цифровые технологии и, в частности технологии искусственного интеллекта, неотъемлемой частью производства. В ряде компаний создана экосистема цифровых продуктов, сформированы мощные команды поддержки и развития, создана культура разработки, внедрения и использования цифровых продуктов. Большинство крупных производственных компаний вступило в новую эру цифровизации производства в промышленных масштабах.
Join или не Join, вот в чем вопрос…
В процессе разработки программ с обращениями к базам данных часто возникает проблема создания SQL-запроса по большому количеству таблиц. Существует два варианта: один сложный запрос с большим количеством Join’ов и условий или несколько простых SQL-запросов с последовательным применением результата обработанного запроса к следующим запросам. Какой более эффективный? Читайте в статье.
Интеграция Keycloak в приложение Spring Boot 3 с использованием протокола OAuth2.0
В современном мире веб-разработки обеспечение безопасности пользовательских идентификаторов и управление доступом к ресурсам становятся все более важными задачами. Один из мощных инструментов, предоставляющих полноценное решение для этих задач, это Keycloak, современная система управления идентичностью и доступом.
В данной статье мы рассмотрим процесс интеграции Keycloak в наше приложение Spring Boot 3 в качестве сервера авторизации с использованием протокола OAuth2. Обсудим смысл OAuth2, его механизм работы и сравним его с другими протоколами. Кроме того, мы настроим Keycloak с использованием Docker Compose, воспользовавшись PostgreSQL в качестве базы данных для Keycloak. Затем мы интегрируем Keycloak с нашим приложением Spring Boot 3, используя протокол OAuth2. Также мы подключим Keycloak Admin Client и, наконец, проверим функциональность всей системы.
Сравнение Open Source BI-платформ
Привет, Habr!
Меня зовут Остапенко Настя, я лидирую направление BI в компании Axenix. Год назад мы выпустили статью с большим обзором Российского рынка BI. На этот раз мы проведем сравнение трех популярных Open-Source BI-платформ: Apache Superset, Metabase и относительно нового участника - Yandex Datalens, который совсем недавно стал доступен в качестве Open-Source продукта.
Асинхронный API First
API-First — один из популярных подходов к проектированию серверных приложений. Для обеспечения этого подхода создано множество программных продуктов. Однако сложно найти продукт, который поможет реализовать этот подход для серверных приложений, использующих брокеры сообщений в качестве средства интеграции — такие, как Apache Kafka, RabbitMQ, Apache ActiveMQ. Мы решили это исправить и представляем вам свое решение AxenAPI.
Логмайним Оракл
Перед нашей командой была поставлена задача осуществить миграцию из Oracle в PostgreSQL большой (несколько десятков терабайт) работающей базы с нагрузкой порядка 20 миллионов dml-операций в час и генерацией 2ГБ редо-логов в минуту. Особенность задачи состояла в том, что миграция должна была происходить не один-в-один, а по частям в разные шарды. А какие данные в какие шарды и в каком порядке поедут, определялось бы в процессе самой миграции, по результатам этой миграции, в режиме, так сказать, ручного управления.
Миграция базы данных с Oracle на PostgreSQL в системе с микросервисной архитектурой
Привет! Эта статья рассказывает о моем опыте миграции СУБД с Oracle на PostgreSQL в системе с микросервисной архитектурой и является продолжением моего доклада на PGConf.Russia 2023. Я постарался выделить и описать в ней самые интересные и важные, на мой взгляд, моменты на пути по поиску и внедрению альтернативы Oracle, тестированию Greenplum и, в конечном итоге, переходу на несколько связанных баз данных PostgreSQL. Надеюсь, что данная информация будет полезна и интересна всем, кто уже столкнулся с похожей задачей, неизбежно к ней движется или просто интересуется данной темой.
Модульные тесты как оплот стабильности в Agile разработке
В этой статье мы рассмотрим ту часть тестирования, которой не касаются специалисты по тестированию — модульные тесты. Почему же при Agile так необходимо иметь качественное покрытие модульными тестами? Раскроем их положение в цикле разработки и цели их создания. Рассмотрим различные варианты оценки качества покрытия тестами при разработке backend приложения на языке Java с использованием Spring-boot. С помощью Jacoco построим отчет и увидим недостатки численных оценок покрытия тестами. Сформулируем субъективные оценки модульного тестирования и советы по их разработке.
DevOps. Terraform. Построение динамических зависимостей в depends_on
В статье описывается один из вариантов решения создания ресурсов Terraform в определённой последовательности. К сожалению, стандартными средствами это реализовать не удалось, поэтому, пришлось решать с помощью дополнительного компонента. В результате использования компонента time_sleep, удалось получить необходимую последовательность создания жёстких дисков.
Информация
- Сайт
- axenix.pro
- Дата регистрации
- Дата основания
- Численность
- 1 001–5 000 человек
- Местоположение
- Россия
- Представитель
- Жамиля