Книга: Руководство по DevOps
Эволюционная архитектура в компании Amazon (2002 г.)
Эволюционная архитектура в компании Amazon (2002 г.)
Одно из наиболее изученных преобразований архитектуры произошло в компании Amazon. В интервью с обладателем награды ACM Turing и техническим специалистом компании Microsoft Джимом Греем Вернер Фогельс, технический директор компании Amazon, объяснил, что Amazon.com начал работу в 1996 г. как «монолитное приложение на веб-сервере, обращаясь к базе данных на серверной части. Это приложение, получившее название Obidos, эволюционировало, чтобы сохранить всю бизнес-логику, всю логику отображения и все функциональные возможности, которые в конце концов прославили Amazon: аналоги, рекомендации, Listmania, обзоры и так далее».
С течением времени Obidos разросся и стал слишком запутанным, со сложными взаимосвязями отдельных частей. Его невозможно было масштабировать по мере необходимости. Фогельс рассказал Грею, что это означает: «Многие вещи, которые вы хотели бы видеть работающими в хорошей программной среде, больше не могут быть сделаны; множество сложных единиц программного обеспечения объединены в единую систему, но она больше не могла развиваться».
Описывая процесс обдумывания новой желаемой архитектуры, он рассказывал Грею: «Мы прошли через период серьезного самоанализа и пришли к выводу о том, что сервис-ориентированная архитектура могла бы обеспечить уровень изоляции, достаточный для того, чтобы позволить нам создавать множество компонентов программного обеспечения быстро и независимо друг от друга».
Фогельс отмечает: «Компания Amazon в течение последних пяти лет (2001–2005) прошла через большие изменения архитектуры, чтобы сменить двухуровневую монолитную архитектуру на полностью распределенную децентрализованную платформу сервисов, обслуживающую множество различных приложений. Потребовалось множество инноваций, чтобы такие изменения стали возможными, и мы были одними из первых, использовавших этот подход». Из опыта работы Фогельса в компании Amazon можно извлечь следующие уроки, имеющие большое значение для нашего понимания смен архитектуры:
• урок 1: при неукоснительном применении строгая ориентация на сервисы — отличный метод для достижения изоляции, вы можете добиться невиданного прежде уровня владения и управления;
• урок 2: запрет прямого доступа клиентов к базе данных делает возможным выполнение масштабирования и повышение надежности вашего сервиса, не затрагивая клиентов;
• урок 3: процессы разработки и эксплуатации получают значительную выгоду от перехода на сервис-ориентированную модель. Она стала ключевым фактором успеха в создании команд, быстро внедряющих инновации в интересах клиентов. Каждая служба имеет команду, несущую полную ответственность — от оценки функциональности до создания архитектуры, разработки и управления ее работой.
Применение этих результатов повышает продуктивность работы и надежность до показателей, захватывающих дух. В 2011 г. компания Amazon выполняла примерно 15 тысяч развертываний в день. К 2015 г. она выполняла почти 136 тысяч развертываний в день.
- Архитектура, обеспечивающая производительность, тестируемость и безопасность
- Облачное хранилище данных компании Google
- Архитектурные архетипы: монолитный или микросервисы
- Практический пример
- Эволюционная архитектура в компании Amazon (2002 г.)
- Используем шаблон «удушающих приложений», чтобы безопасно развивать архитектуру нашей организации
- Практический пример
- Шаблон удушения в программе Blackboard Learn (2011 г.)
- Заключение
- Заключение к третьей части
- Классическая архитектура на Windows NT (Yaffil CS)
- CPC или CPM: показатель оптимизации № 11 – CPC как инновация компании Google
- 2.2. Практическая разработка фирменного стиля компании 51
- 1.3 Архитектура Windows NT
- 7.4 Технология виртуализации хранилища от компании Microsoft
- Глава 10 Архитектура клиент-сервер: складской учет
- 2.3. Российский ответ: крупные компании объединяются
- Глава 33 Четыре маленьких шага к большим продажам на Amazon
- Гибридная архитектура PKI
- Зачем вашей компании может быть нужен корпоративный блог?
- Простая архитектура PKI
- Многоверсионная архитектура InterBase