Ecwid изначально был системой, состоящей из нескольких, взаимодействующих друг с другом сервисов, но никаких «правил игры» не было. В результате каждый сервис был, как снежинка, не похожим ни на какой другой. Они по-разному были написаны, они по-разному взаимодействовали между собой (plain socket, plain HTTP, JAX-WS etc.), у них были разные схемы и правила деплоя и т.д. и т.п. Когда таких сервисов стало примерно с десяток — решили начать процесс формализации. Бомбили одновременно с программерско-архитектурной стороны и со стороны ops-задач.