2021-08-02 10:51:33
#машины_разное #люди
Пару слов об архитектурных решениях.
Для начала давайте определимся с терминологией:
ADR - реестр архитектурных решений, то есть архив всех архитектурных и дизайн документов с историей.
RFC - request for comments, он же (русское значение мне больше по душе) рабочее предложение - документ, описывающий новое решение или радикальное изменение текущего.
Многие из вас слышали про RFC под разными номерами, и ассоциируете этот акроним только с сетевыми штучками. Это в корне неверно (RFC есть даже по UTF-8 и SQL), и в то же время верно - ведь его придумали не абы кто, а отцы-основатели интернета IETF.
Несложно догадаться, что ADR хранит в себе один и более RFC, как принятых, так и (что еще важнее) непринятых - быть им наукой для новичков, которые с полпинка хотят внедрить вундервафлю и получить солидный бонус.
А что касается RFC, то порядок и формат оформления, рассмотрение и принятие оного разнится от организации к организации. Однако некоторые постулаты неизменны.
Во-первых, RFC обладают своими уровнями: какие-то преподносят изменения, пусть и радикальные, в одно-два места, другие же трансформируют инженерные процессы или организацию в целом. Для сравнения: 1) развернуть один из продуктов на облачном провайдере или 2) перенести все нагрузки в K8s. Идея 1 по масштабу значительно меньше Идеи 2, а значит и рассматривать ее будет меньше людей (об этом позже).
Во-вторых, RFC должны включать в себя: предысторию, ставшую причиной идеи; обоснование; известные ограничения, принятые к сведению; полностью дизайн; детали имплементации. Все это необходимо, чтобы "продать" идею, да и в первую очередь для себя - проще будет задачи нарезать.
В-третьих, каждый RFC проходит приемную комиссию, состоящую из высокогрейдовых инженеров из разных групп: как бизнесовой, так и инфобез, инфраструктурщины, сетей, и т.д. Количество подписей и пар глаз, критически смотрящих на ваше творение, зависит от того самого уровня RFC. Приемка нужна, чтобы убедиться, что нужного инструмента или решения уже нет на месте, ну и чтобы вы учитывали все-все-все нюансы.
Ну и самое интересное: после принятия решения - то есть когда RFC подписано всеми, кем надо, и готово к имплементации - оспаривать его уже нельзя. Можно изменить что-то на уровне ниже, но если вы договорились тащить K8s, на полпути переходить на Nomad не выйдет.
Даже если очень хочется.
626 views07:51