История компании Amazon и облачные вычисления

Илья Дергунов

Илья Дергунов

Автор статьи. ИТ-специалист с 20 летним стажем, автор большого количества публикаций на профильную тематику (разработка ПО, администрирование, новостные заметки). Подробнее.

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

В течение двух десятилетий, с начала 1990-х годов, книжный интернет-магазин Amazon.com со штаб-квартирой в Сиэтле превратился в крупнейшее в мире предприятие данного профиля. Теперь эта компания, известная в наши дни просто как Amazon, продает гораздо более широкий ассортимент товаров. В 2015 году Amazon превзошла по объему торговли компанию Walmart — наиболее заметного розничного торговца в США. Самая интересная часть истории беспрецедент­ного роста Amazon может быть сведена к одному вопросу: каким образом сайт, начинавшийся с простого книжного интернет-магазина, превратился в одного из мировых гигантов розничной торговли, не открыв при этом ни одной торговой точки?

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

Техническим развитием компании Amazon от весьма успешного книжного интернет-магазина до одной из наиболее влиятельных технологических компаний в мире, занимающихся розничной торговлей, управлял ее технический директор Вернер Фогельс (Werner Vogels). В июне 2006 года Фогельс дал интервью компьютерному журналу ACM Queue по вопросу быстрой эволюции технологий, которая привела к взлету компании Amazon. В нем директор рассказал об основном движущем факторе этого прогресса.

В основном техническое развитие Amazon.com обуславливалось обеспечением не­прерывного роста, чтобы при исключительно высокой масштабируемости сохранялись доступность и производительность.

Вернер Фогельс. A Conversation with Werner Vogels; ACM Queue 4, № 4 (2006): 14-22

Фогельс продолжает утверждать, что компании Amazon для достижения высокой масштабируемости понадобился переход к другой структуре архитектуры ПО. Он напомнил, что сначала Amazon.com использовала монолитное приложение. Со временем, по мере того как над одним и тем же приложением стало трудиться все больше и больше команд, границы принадлежности кода стали размываться. «Отсутствие изолированности привело к отсутствию четко выраженной принад­лежности», — сказал Фогельс.

Фогельс отметил, что совместно используемые ресурсы, такие как базы данных Vogels, затрудняют расширение всего бизнеса. Чем больше объем совместно при­меняемых ресурсов, будь то серверы приложений или базы данных, тем слабее контроль за работой при вводе компонентов программ в эксплуатацию.

Вы создаете этот продукт, вам и обслуживать его работу.

Вернер Фогельс, технический директор компании Amazon

Фогельс затронул общую тему, имеющую отношение и к приложениям, оптимизи­рованным для работы в облачной среде: команды должны быть владельцами того, что они создают. Далее он сказал: «Традиционная модель заключается в следу­ющем: ПО перетаскивается через барьер, отделяющий создание от практического применения, работа над ним прекращается, после чего о нем забывают. Но это не про Amazon. Вы создаете этот продукт, вам и обслуживать его работу».

Слова, которые чаще всего цитировались основными докладчиками на отдельных ведущих конференциях по программному обеспечению («вы создаете этот продукт, вам и обслуживать его работу»), позже стали слоганом популярного движе­ния, известного сегодня просто как Dev Ops.

Ряд приемов, о которых говорил Фогельс в 2006 году, дал начало многим по­пулярным движениям в области разработки ПО, ныне процветающим. Можно установить связь таких подходов, как DevOps и разработка микросервисов, с иде­ями, высказанными Фогельсом более десяти лет назад. Идеи, аналогичные этим, вырабатывались в крупных интернет-компаниях, подобных Amazon, однако на создание соответствующих инструментов, позволяющих добиться их развития и становления в виде предложения конкретных услуг, ушло бы немало лет.

В 2006 году в Amazon был запущен новый продукт под названием Amazon Web Services (AWS). Идея, положенная в его основу, заключалась в предоставлении платформы, аналогичной той, что использовалась внутри Amazon, и выпуске ее в виде сервиса для открытого применения. Компания была заинтересована в развитии идей и инструментов, на которых основывалась эта платформа. Многие из выдвинутых Фогельсом идей уже были внедрены в платформе Amazon.com; выпуская платформу в качестве сервиса для открытого использования, компания стремилась выйти на новый рынок, названный публичным облаком.

Были озвучены идеи, положенные в основу этого облака (облачных вычислений). Виртуальные ресурсы могут предоставляться по требованию, при этом исключается необходимость беспокоиться относительно основной инфраструктуры. Разработчики могут просто арендовать виртуальную машину для размещения своих приложений, не нуждаясь в приобретении инфраструктуры или в управлении ею. Такой прием представлял собой вариант самообслуживания с низкой степенью риска, повышающий при­влекательность публичного облака с технологией AWS, прокладывающей путь к внедрению.

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

Чтобы самые крупные компании воспользовались публичным облаком, им нужно внести изменения в способ разработки их приложений.

 

Вас заинтересует / Intresting for you:

Лучшие дешевые ноутбуки на Ama...
Лучшие дешевые ноутбуки на Ama... 2006 просмотров Илья Дергунов Wed, 25 Sep 2019, 05:55:00
Использование службы SSH (Secu...
Использование службы SSH (Secu... 1796 просмотров dony_b Tue, 21 Nov 2017, 13:19:25
Что такое граф?  и для чего пр...
Что такое граф? и для чего пр... 2123 просмотров Светлана Комарова Mon, 29 Oct 2018, 05:21:13
Voting Disk, что это?
Voting Disk, что это? 2433 просмотров Александров Попков Tue, 21 Nov 2017, 13:18:05
Войдите чтобы комментировать