Читаем Создание микросервисов полностью

Ожидается, что каждое подразделение внутри направления бизнеса несет ответственность за весь жизненный цикл создаваемых им сервисов, включая создание, тестирование и выпуск, поддержку и даже вывод из эксплуатации. Основная команда службы поставок выдает рекомендации и указания этим командам, а также разрабатывает инструментарий, помогающий выполнять их задачи. Ключевым положением является культура автоматизации, и в REA широко используется AWS как основная составляющая, повышающая автономность команд. Порядок работы всего этого механизма показан на рис. 10.1.

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

Рис. 10.1. Общее представление о структуре организации Realestate.com.au и ее команд, а также об увязке с архитектурой

Эта структура позволяет добиться высокой автономности не только команд, но и различных частей бизнеса. Начав с совсем небольшого количества сервисов несколько лет назад, REA теперь обладает сотнями сервисов, количество которых превышает количество сотрудников и растет высокими темпами. Возможность поставки изменений помогла компании добиться значительных успехов как на местном рынке, так и за рубежом. И что отраднее всего, из разговоров с людьми я вынес впечатление, что существующее состояние как архитектуры, так и организационной структуры сформировалось благодаря самым последним шагам на этом пути, но никак не достижению конечного пункта назначения. Я полагаю, что в ближайшие пять лет облик REA снова претерпит существенные изменения.

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

Закон Конвея наоборот

До сих пор речь шла о том, как организационная структура влияет на устройство системы. А как насчет обратного влияния? То есть может ли устройство системы изменить организацию? Несмотря на то что я не смог найти столь же убедительных доказательств идеи о том, что закон Конвея работает и в обратном порядке, периодически мне приходилось сталкиваться с этим явлением.

Наверное, наилучшим примером был клиент, с которым я работал много лет назад. В те дни, когда Всемирная сеть только зарождалась, а Интернет воспринимался как нечто поступающее на гибком диске компании AOL через входную дверь, эта компания представляла собой довольно солидную издательскую фирму, у которой был небольшой, весьма скромный сайт. Это был сайт ради сайта, и, по большому счету, порядок, в котором работал бизнес, был совершенно неважен. Когда была создана исходная схема, порядок работы системы строился на весьма произвольных технических решениях.

Содержимое для этой системы обеспечивалось несколькими способами, но основная часть поступала от третьих лиц, размещавших объявления для всеобщего обозрения. Была система ввода информации, позволявшая третьим лицам за плату создавать содержимое, центральная система, получавшая данные и улучшавшая их различными способами, и система вывода, формировавшая окончательный вид сайта.

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

Перейти на страницу:

Все книги серии Бестселлеры O'Reilly

Искусство управления IT-проектами
Искусство управления IT-проектами

В отличие от множества трудов, посвященных руководству проектами и командами, в этой книге не проповедуются никакие новые учения и не превозносятся великие теории. Скотт Беркун считает залогом успеха практику и разнообразие подходов. В книге описываются основные сложности и проблемные ситуации, возникающие в работе менеджера проекта, даны рекомендации по выходу из них.Издание предназначено не только для лидеров команд и менеджеров высшего звена, но и для программистов, тестеров и других исполнителей конкретных проектных заданий. Также оно будет полезно студентам, изучающим бизнес-менеджмент, проектирование изделий или программную инженерию.Текст нового издания значительно переработан автором с целью добиться большей ясности, кроме того, книга дополнена новым приложением и более чем 120 практическими упражнениями.

Скотт Беркун

Деловая литература
iOS. Приемы программирования
iOS. Приемы программирования

Книга, которую вы держите в руках, представляет собой новый, полностью переписанный сборник приемов программирования по работе с iOS. Он поможет вам справиться с наболевшими проблемами, с которыми приходится сталкиваться при разработке приложений для iPhone, iPad и iPod Touch. Вы быстро освоите всю информацию, необходимую для начала работы с iOS 7 SDK, в частности познакомитесь с решениями для добавления в ваши приложения реалистичной физики или движений — в этом вам помогут API UIKit Dynamics.Вы изучите новые многочисленные способы хранения и защиты данных, отправки и получения уведомлений, улучшения и анимации графики, управления файлами и каталогами, а также рассмотрите многие другие темы. При описании каждого приема программирования приводятся образцы кода, которые вы можете смело использовать.

Вандад Нахавандипур

Программирование, программы, базы данных / Программирование / Книги по IT

Похожие книги