Версионирование коннекторов

Версионирование коннекторов — это то, как платформа автоматизации или интеграции управляет выпусками готовых коннекторов, на которых работают её сценарии, и остаётся ли работающий сценарий на той версии, под которую он был собран, или переезжает на новую. Это важно, потому что коннектор — программа, которую поддерживает не ваша команда, и стоит она между вашей логикой и чужим API, а меняться может под живым сценарием. В итоге получается по-настоящему сбивающий с толку класс инцидентов: поведение изменилось, а никто у вас ничего не выкладывал. Со стороны сопровождающего изменения совершенно обычные. Коннектор обновляют вслед за нижележащим API, и попутно выходное поле переименовывают или перестраивают, триггер переходит с опроса на подписку на события, действие получает обязательный входной параметр, тип данных приводится иначе, а операция, ранее терпимая к отсутствующему значению, начинает его отвергать. Каждое из этого — оправданное сопровождение. Ниже по потоку любое из них может сломать сопоставление, ссылавшееся на прежнюю форму, или тихо изменить то, что возвращает шаг, не уронив сам шаг. Вопросы к платформе вполне конкретны. Версионируются ли коннекторы вообще и видна ли версия? Можно ли закрепить сценарий за версией, или обновление применяется сразу везде? Предупреждают ли вас до обновления и есть ли журнал изменений, который можно прочитать, а не рассылка, которую вы получаете? Что происходит со сценарием, оставшимся на снятой версии: продолжает работать, предупреждает или останавливается? И кто сопровождает именно этот коннектор — платформа, вендор приложения или участник сообщества: от этого зависит и скорость, с которой он следует за API, и то, сколько он проживёт без внимания. Отсюда и практические привычки. Записывайте версию коннектора рядом со сценарием, который от неё зависит, чтобы разбор инцидента начинался со сравнения, а не с догадки. Где закрепление возможно, закрепляйте сценарии, через которые идут деньги или клиентские данные, а остальным дайте плыть. И настраивайте оповещения на результат сценария — запись, которая должна была появиться, поле, которое должно было заполниться, — а не только на то, отчитался ли запуск об успехе: изменение коннектора чаще всего даёт именно успешный запуск с неверным содержимым.

Похожие термины

Ещё термины: Интеграции