2015-02-23 4 views
-1

Как подача непрерывной доставки в архитектуру SOA?Непрерывная доставка в SOA

Поскольку каждая служба SOA должна быть независимой, это означает, что нам нужен отдельный конвейер для каждой службы? Как это влияет, когда есть 100 услуг?

Мы можем группировать сервисы в развертываемые устройства для группировки сервисов.

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

Есть ли модель, основанная на этом?

+1

Это действительно зависит от того, насколько я думаю. В одной организации у них были разные методики тестирования, зависящие от того, где находятся в каталоге SOA эти службы. Например, технические службы, то есть отправку почтовой службы, были протестированы независимо, а службы уровня аккаунта и службы уровня SAP в основном тестировались как группа для уменьшения нагрузки. Все это зависит от политики управления SOA. Без них на месте ... быстро становится беспорядочно. – Namphibian

ответ

0
  1. В случае, если у вас есть архитектура микросервисов, где услуги слабо связаны, вы должны идеально провести интеграционные тесты, которые могут «черным ящиком» протестировать одну индивидуальную услугу, которая изменилась. В таком случае вы можете легко построить отдельный конвейер для каждой службы. Вы действительно не хотите развертывать 100 различных компонентов каждый раз, когда вы меняете 1 или 2 компонента
  2. По отдельному конвейеру я не имею в виду отдельную развёртываемую кодовую базу для каждой из служб. Вы можете обобщить свои контейнеры и службы, чтобы код развертывания можно было автоматизировать.
  3. Приступая к настройкам, вы должны отделить SOA, используя резервную структуру. В этом случае у вас нет плотной связи между компонентами и . Измерения дыма могут легко определить, является ли успешное развертывание конкретной услуги или нет.
+0

Я не вижу, как можно управлять 100 отдельными конвейерами. Особенно там, где существует зависимость между сервисами, такими как услуги оркестровки. – IanWatson

+0

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

+0

. Что касается непрерывной доставки, может быть несколько изменений в разных службах, когда я хочу нажать выпуск. Скажет, у нас есть # 1 - Сервис обновленного # 2 - Сервис B обновленный # 3 - Service C обновленной Я хочу нажатие одной кнопки, отпустите все изменения по сравнению с предыдущей версии. Например, если предыдущая версия - # 1, а # 2 и # 3 доступны. Я хочу щелкнуть «build # 3», который будет содержать # 2 и # 3 (все изменения со времени последней версии) Я не вижу, как это «делать» с разными конвейерами. – IanWatson

Смежные вопросы