Перенос коммерческих интеграционных Mule-приложений c on-premise в облачную среду
Краткое описание проекта:
задача данного проекта заключалась в переносе интеграционных приложений, соединяющих глобальную Distribution Management System с ERP системами (SAP и JD Edwards) региональных дистрибьюторов, с on-premise среды на облачную платформу CloudHub.
Интеграционные приложения были реализованы при помощи MuleESB. Основная сложность заключалась в том, что каждое приложение запускалось в нескольких экземплярах с отдельными настройками для каждого рынка/дистрибьютора, при этом для некоторых приложений количество таких настроек приближалось к 30. Это не представляло проблемы при работе на серверах заказчика в среде on-premise, но для запуска каждого приложения в облаке создается специальный контейнер с определенным количеством выделенных ресурсов. В рамках платформы CloudHub это называется vCore, и он может иметь значения 0.1, 0.2, 0.5 и т.д. Т.е. даже при условии выделения минимального количества vCores (0.1) на одно приложение, была бы возможность одновременного запуска лишь малой части от всех приложений.
Для решения данной проблемы все приложения были обновлены и адаптированы для работы со специальным Mule-application, которое позволяет динамически деплоить их по расписанию. Кроме этого, были обновлены все используемые библиотеки и Mule Runtime до последних версий.
Технологии: Mule ESB, Anypoint Platform, CloudHub, RAML, Maven, Jenkins.
Скриншоты:
Особенности проекта:
- Распределённая команда из 3 стран в разных часовых поясах (Индия, США, Беларусь).
- Перенос приложений в облако и поддержка оригинальных приложений выполнялись параллельно, и часто приходилось проносить изменения и фиксы из on-premise приложений в “облачные”, что требовало проведения повторного регрессионного тестирования.
- Инфраструктура заказчика находилась в виртуальной сети, и определенные ее узлы были недоступны извне. Приходилось использовать внешние IP и настраивать VPC доступ для определенных групп IP адресов.
- В рамках переноса приложений в облачную среду также был осуществлен перенос ряда приложений в новую бизнес-группу. Это было связано с тем, что старая группа имела очень сложную структуру.
- Была подготовлена вся необходимая инфраструктура: созданы очереди в Anypoint MQ, сгенерированы client и secret идентификаторы, сконфигурированы API и т.д.
Результат проекта:
- Mule Runtime был обновлён до последней версии 3.9.0. Для этого было необходимо внести изменения в конфигурации коннекторов Anypoint MQ, OAuth, SFTP, поскольку версия 3.9.0 не имеет полной обратной совместимости с прошлой версией (3.8.0).
- Приложения были адаптированы для работы в облачной инфраструктуре Anypoint Platform (так, например, ActiveMQ был заменен на AnypointMQ).
- Добавлена аутентификация для HTTP-запросов.
- Успешно пройдены все стадии User Acceptance Testing и System integration testing, подготовлена вся необходимая документация.
Достижения компании на проекте:
- В процессе разработки команда JazzTeam взяла на себя ответственность за постановку задач другим разработчикам, участвующим в проекте.
Отзывы клиентов:
Майкл О’Мира, Вице-президент, Infoview Systems Inc, Разработка интеграционных проектов, помогающих заказчикам встраивать инновационные сервисы и системы в существующие корпоративные решения на базе мейнфреймов, Детройт, США
Мы начали сотрудничество с JazzTeam с целью усиления нашей оффшорной команды, что позволило расширить предлагаемые нами услуги для клиентов по всему миру.
Начиная с самого первого проекта, мы были довольны их эффективными процессами, надлежащим управлением и высоким уровнем технической экспертизы, которые команда JazzTeam привнесла в общий опыт работы с клиентами.
Ежедневные стендапы на проектах с открытой коммуникацией позволяют нам оставаться на связи, а также информировать всех членов команды о текущем статусе проекта. Такой подход позволяет нам прогнозировать риски и управлять ими, а при необходимости быстро реагировать на различные ситуации. Команда JazzTeam работает сообща с нашей глобальной командой, обеспечивая успешное продвижение проекта. Я рекомендую эту компанию в качестве надежного партнера в области разработки программного обеспечения.