13 Заключение — новое начало?Все компании, независимо от своего происхождения, становят-ся цифровыми. Такие преобразования требуют создания API и сервисов, используемых в мобильных приложениях, устрой-ствах Интернета вещей (IoT) и даже в автономном транспорте и других системах. Рост ответственности, возлагаемой на такие системы, означает, что они должны проектироваться с учетом избыточности, отказоустойчивости и высокой доступности. В то же время требования бизнеса обуславливают потребность в высокой маневренности в плане разработки и внедрения но-вого ПО, поддержки старого, а также экспериментов с новыми пользовательскими и программными интерфейсами. Сочетание упомянутых факторов привело к значительному увеличению потребности в распределенных системах.
Создавать такие системы все еще слишком сложно. Суммарная стоимость их разработки, обновления и сопровождения очень 218Часть III. Паттерны проектирования систем пакетных вычислений высока. С другой стороны, количество людей, обладающих не-обходимыми навыками и способностями, слишком мало, чтобы удовлетворить растущий спрос.
Исторически возникновение подобных ситуаций в сфере раз-работки ПО и технологий приводило к появлению новых уров-ней абстракции и паттернов проектирования ПО. Они делали процесс разработки быстрее, проще и надежнее. Впервые это произошло с созданием первых компиляторов и языков про-граммирования. Потом появились объектно-ориентированные языки программирования на основе управляемого промежу-точного кода. В каждый из этих моментов накопленные тех-нические результаты кристаллизовали суть знаний и навыков экспертов в виде множества алгоритмов и паттернов соответ-ственно. Это позволило пользоваться данными результатами более широкой аудитории разработчиков-практиков. Развитие технологий и укоренение паттернов делало процесс разработки программного обеспечения более демократичным и расширяло круг разработчиков, способных строить приложения на новой платформе. Это, в свою очередь, привело к появлению еще большего количества приложений и росту их разнообразия, что, в свою очередь, повышало спрос на разработчиков с подобными навыками.
Сегодня мы снова находимся на пороге технической трансфор-мации. Спрос на распределенные системы значительно превы-шает предложение. К счастью, развитие технологий привело к созданию нового инструментария, расширяющего контингент разработчиков таких систем. Недавнее появление контейнеров и систем их оркестрации обеспечило нас инструментами более простого и быстрого развертывания распределенных систем. Если повезет, эти инструменты вкупе с паттернами и практи-ками, описанными в данной книге, улучшат распределенные системы, создаваемые современными разработчиками, и, что Глава 13. Заключение — новое начало? 219
важнее, сформируют качественно новое сообщество специали-стов, способных создавать подобные системы. Такие паттерны, как Ambassador, Sidecar, шардирование, FaaS, очереди задач, а также многие другие могут сформировать фун-дамент, на котором будут строиться сегодняшние и будущие распределенные системы. Разработчикам распределенных си-стем больше не надо создавать свои системы с нуля в одиноч-ку — им нужно совместно работать над обобщенными, повторно используемыми реализациями канонических паттернов, кото-рые сформируют базис для вновь разрабатываемых систем. Это позволит нам удовлетворить спрос на современные, надежные, масштабируемые API и сервисы, а также будет способствовать созданию нового класса приложений и сервисов в будущем. Об авторе
Брендан Бёрнс (Brendan Burns) — выдающийся инженер фир-мы Microsoft, сооснователь open-source-проекта Kubernetes. В Microsoft он трудится над Azure, в частности над контейнера-ми и DevOps. До Microsoft он работал в Google над Google Cloud Platform, где участвовал в создании таких API, как Deployment Manager (Диспетчер развертываний) и Cloud DNS (Облачный DNS).
До того как Брендан стал работать с облачными вычислениями, он занимался поисковой инфраструктурой Google, в частно-сти минимизацией задержек при индексировании. Получил степень кандидата технических наук в области информатики в Массачусетском университете в Амхерсте по специализации «Робототехника». Живет в Сиэтле со своей женой Робин Сен-дерс (Robin Sanders), двумя детьми и кошкой, которая своей железной лапой правит в их доме.
Об иллюстрации на обложке Животное на обложке книги — яванский воробей. Эту птицу ненавидят в дикой природе, но обожают в неволе. Ее латинское наименование — Padda oryzivora . Padda означает «заливное поле», метод выращивания риса, а oryza — сорт риса. Следо-вательно, Padda oryzivora буквально переводится как «пожи-ратель риса с полей». Иногда этих птиц также называют рисо-выми воробьями. Фермеры убивают тысячи диких яванских воробьев, иначе те уничтожат их урожай. Они также ловят этих птиц с целью продажи и употребления в пищу. Несмотря на неравную борьбу, яванские воробьи процветают в Индонезии, на Яве и Бали, а также в Австралии, Мексике и Северной Америке. Их оперение имеет перламутрово-серую окраску, переходящую спереди в бледно-розовый цвет, а ближе к хвосту — в белый. У воробья черная голова и белые щеки. Ноги, перья вокруг глаз и огромный клюв — ярко-розового цвета. Песнь яванского воробья начинается с отдельных нот, похожих на звон колокольчика. Потом она перерастает в сплош-ную трель со звуками трещотки, высокими и низкими нотами. Питаются птицы в основном рисом, но не брезгуют мелкими семечками, травинками, насекомыми и цветковыми растениями. 222Об иллюстрации на обложке
Читать дальше