практическая модель, охватывающая организацию команды разработчиков, приемы предметного проектирования, подходы к созданию инфраструктуры, разработке и выпуску. Наша цель — дать вам единое представление о реализации микросервисов и помочь сделать решительный первый шаг на пути к внедрению.
целом есть три человеческих фактора, оказывающих наибольшее влияние на систему микросервисов: размер команды, навыки работы в ней и координация между командами.
Операционная модель — это люди, процессы и инструменты, лежащие в основе вашей системы. Эта модель определяет все процессы принятия решений и работу, выполняемую при создании программного обеспечения.
Архитектура микросервисов сложна, и потребуется принять множество решений. Нам понадобится способ отслеживать важные принимаемые решения, чтобы можно было пересмотреть и переоценить их в будущем.
Чтобы удовлетворить эту потребность, мы воспользуемся инструментом под названием реестр архитектурных решений (architecture decision record, ADR). Мы точно не знаем, кто изобрел термин ADR и когда он был впервые использован, но идея документирования проектных решений существует давно. Проблема заключается в том, что большинство людей не тратят на это время. По нашему опыту, ADR — чрезвычайно полезный инструмент, позволяющий прояснить принимаемые решения.
В разработке ПО решения имеют большое значение. Профессиональным инженерам-программистам и архитекторам много платят за решения, которые они принимают, и за задачи, которые они решают
Многие из успешных разработчиков микросервисов, с которыми мы беседовали, создавали свои системы путем постоянных повторений и улучшений.
Аналитический паралич. Сложность проектируемой системы вкупе с длительными циклами обратной связи обнажает трудности построения микросервисной архитектуры.
Одни команды реагируют на новые стимулы и немедленно меняются, другим нужны помощь и поддержка, чтобы адаптироваться.
Слишком много движущихся частей. Система микросервисов — это сложная адаптивная система. Каждая часть системы некоторым образом влияет на другие ее части.