Облачные вычисления позволяют размещать ваш рабочий стол там, где вам удобно
Автор: Сандра Апсон, 30.12.2010
Статья является частью специального отчета IEEE Spectrum Топ-11 технологий десятилетия [1]
Всего лишь 18 лет назад Интернет был в зачаточном состоянии, только площадкой для технически подкованных энтузиастов, которые знали, как провести поиск в каталоге и передать файл по FTP [2]. Затем в 1993 году он вступил в подростковый период, когда графические браузеры и интерактивные гиперссылки начали привлекать более широкую аудиторию пользователей. Наконец, в 2000-х годах он достиг совершеннолетия, – с блогами, заметками в социальных сетях [3], а социальные сети захватили миллиарды наивных пользователей безжалостными волнами информации, развлечений и сплетней.
Зрелость Интернета стала возможной по многим причинам, но все они поддерживают одну концепцию продвижения: мы разрушили границы между аппаратным и программным обеспечением. И это глубоко личное. Видео наших самых неловких моментов жизни, сообщения электронной почты с подробностями наши глубочайших переживаний, и каждая цифра наших банковских счетов, номера социального страхования и кредитных карт разнесены по тысячам серверов, управляемых десятками или сотнями компаний.
Добро пожаловать в облачные вычисления. Мы втянулись в это туманное состояние благодаря объединению широко распространенного широкополосного доступа, обилия мобильных устройств [4], обеспечивающих почти постоянное подключение к Интернету, а также сотням нововведений, которые сделали центры обработки данных [5] гораздо проще в построении и запуске. Для большинства из нас физические хранилища данных [6] вполне могут устареть в ближайшие несколько лет [7]. Теперь мы можем запустить сложные вычислительные задачи [8] на чужих серверах дешево или даже бесплатно. Если все это звучит очень похоже на разделение времени на суперкомпьютере, вы правы. Но на этот раз это доступно для всех, и это больше, чем небольшое увлечение.
Соблазнение мира бизнеса началось впервые в 2000 году, когда Salesforce.com начал хостинг программного обеспечения для взаимодействия с клиентами, которое клиент может ребрэндить как свои собственные. Личные данные клиентов, конечно, пошли прямо в базы данных Salesforce. С тех пор сотни компаний превратили свои старые физические товары в виртуальные услуги или изобрели новые с использованием потенциала облачных вычислений.
Потребители соблазнились четыре года спустя, когда Google предложил им свою приманку: Gmail, бесплатный онлайн-сервис электронной почты с беспрецедентным объемом дискового пространства. Сделка имела фаустовский подтекст – вы храните свой адрес электронной почты у нас бесплатно, а в обмен мы используем роботы для сканирования ваших данных – но иллюзия бесконечного хранилища оказалась слишком увлекательной [9]. Это был Google, в конце концов: большой, мускулистый, способный изменять пространство и время [10].
Бесконечное хранилище в Gmail было запущено. Но разработчики программы также использовали новую удобную функцию. Теперь они могли разворачивать обновления всякий раз, когда им вздумается, гарантируя, что пользователи Gmail были синхронизированы без посещения веб-сайта для загрузки и установки обновления. Тот же принцип применяется к совместным инструментам редактирования в GoogleDocs, куда перемещались документы пользователей в браузере без необходимости резервного копирования на жесткий диск. «Шесть лет назад – до запуска Docs – об офисных приложениях в Интернете не было даже идеи», – вспоминает Райен Шет, менеджер по продукции Google.
GoogleDocs,таким образом, был первым, предварительным шагом создать такой программный продукт, как MicrosoftOffice. Вскоре сотни компаний занялись тем же.
Оказалось, добавление новых функций и исправление ошибок может быть перманентным и невидимым процессом. Действительно, в такие сайты, как служба хранения фотографий Flickr [11] и блог-платформа WordPress [12] постоянно просачиваются новые продукты, функции и исправления. Зачистка программного обеспечения на индивидуальных жестких дисках и его запуск в анонимных центрах обработки данных уничтожают старые, медленные циклы выпуска сервиспаков и исправлений.
В 2008 году Google сделал шаг назад от программного обеспечения и запустил AppEngine [13]. Почти за бесплатно Google теперь позволяет своим пользователям загружать Java или Python код, который может быть модифицирован для быстрого запуска на любом желаемом количестве машин. Любой человек с интересной идеей для веб-приложения может проверить ее на серверах Google с минимальным финансовым риском. Допустим, ваше веб-приложение резко набирает популярность: AppEngine определит всплеск и быстро увеличит отведенную вам вычислительную мощность.
С AppEngine Google начал вмешиваться в пространство уже доминирующего другого крупного игрока, Amazon.com. В 2000 году Amazon начал использовать свою платформу продаж для размещения веб-сайтов других компаний, таких как бюджетного ритейлера Target. В 2006 году появилось арендуемое хранилище данных, а затем целый шведский стол «экземпляров» [14], по сути кусочков сервера в десятках форм и размеров. (Экземпляр процессора, как Amazon называет вычислительную единицу, эквивалентен процессорам 1.0–1.2 ГГц Opteron или Xeon 2007 года).
Чтобы получить представление о предлагаемых опциях, представьте, что всего за 0,03 доллара в час, вы можете арендовать неиспользуемые экземпляры в облаке Amazon. Пока ваша ставка превышает цену, установленную Amazon, свободные мощности ваши. Более того, за 2.28 долларов в час вы можете получить «четырёхместный очень большой» экземпляр с 68 гигабайтами памяти, 1690 ГБ хранилища, а истинной щедростью будет 26 вычислительных блоков.
В некотором смысле, облачная среда облегчает достижение своей цели. Цена работающих 10 серверов в течение 1000 часов идентична цене работающих 1000 машин в течение 10 часов – гибкость, которой нет в большинстве корпоративных серверных помещений. «Это неблагодарные задачи, тяжело подъёмные задачи, которые важны для клиентов» говорит Адам Selipsky, вице-президент AmazonWebServices [15].
Кто-то скажет, что это такая же неблагодарная задача, как электроэнергетическая компания. Действительно, облачные сервисы Amazon находятся так близко, как будто мы дошли до 50-летней мечты о «коммунальных вычислениях», в которой обработка рассматривается как электропитание [16]. Пользователи платят за то, что они используют, и не устанавливают собственных генерирующих мощностей. Идея, что каждая компания работает на собственных генераторах, кажется смешной, и некоторые утверждают, что вычисления должны рассматриваться таким же образом.
Продажа экземпляров, конечно, не имеет ничего общего с продажей книг в мягкой обложке, тостеров или DVD-дисков. Если бизнес-модель Google вращается вокруг сбора цифровых активов в мире, Amazon более диверсифицирован, что привело к некоторым дополнительным вещам. Чтобы помочь продать фильмы, например, Amazon теперь транслирует потоковое видео по запросу, так же, как компании вродеNetflix. Netflix, однако, также использует серверы Amazon, чтобы показывать потоковые фильмы. Другими словами, серверы Amazon стоят так дёшево и так полезны, что даже его конкуренты не могут остаться в стороне. Но для более полного понимания настоящего разжигания пристрастия к облаку, вам нужно заглянуть чуть дальше в прошлое.
В середине 1990-х, несколько аспирантов информатики Стэнфордского университета заинтересовались технологией, которую IBM разработала в 1960-х и 70-хчтобы позволить нескольким пользователям разделить одну машину. К 1980 году, когда дешёвые серверы и настольные компьютеры стали вытеснять универсальные компьютеры, эти методы «виртуализации» стали бесполезны.
Студенты применили некоторые из этих старых пыльных идей для ПК под управлением Microsoft Windows и Linux. Они построили то, что называется гипервизором, слой программного обеспечения, который находится между аппаратными и программными структурами высокого уровня, и решает, какие из них получат доступ к CPU, хранилищу и памяти. «Мы назвали её Диско – ещё одна интересная идея из 70-х, готовая вернуться», – вспоминает Стивен Херрод, который был одним из студентов.
Они поняли, что виртуализация может решить многие из проблем, которые начали преследовать ИТ-индустрию. С одной стороны, серверы обычно работают на всего лишь десятую часть своих возможностей, согласно InternationalDataCorp., потому что под ключевые приложения обычно имеется выделенный сервер. Это было способом ограничить уязвимость, потому что полная защита от стихийных бедствий была никому не по карману.
Итак, студенты запустили проект VMware [17]. Они начали с эмуляции поведения платформы Intelx86 в программном обеспечении. Но эти попытки не всегда работали гладко. «Когда вы путали что-то эмуляции, а затем запускали Windows 95, вы иногда получали смешные результаты», – вспоминает Херрод, теперь главный директор по технологиям компании VMware. Они ждали часы для загрузки операционной системы, только чтобы увидеть графику Windows, отрисованную наоборот, с ног на голову. Но постепенно они выяснили, как эмулировать работу первых процессоров, видеокарт и сетевых карт. Наконец они имели версию программного обеспечения на ПК-виртуальной машине.
Затем они приступили к загрузке нескольких виртуальных машин на одной единице оборудования, что позволило им запускать несколько операционных систем на одном компьютере. Вооружившись этими методами, VMware начал помогать своим клиентам закрепить свои центры обработки данных до почти эпического масштаба – уменьшить число серверов с 500 до 20. «Вы можете буквально подойти к серверу, высосать мозги из него, и вставить их на виртуальную машину не прерывая запуск приложения», – говорит Херрод.
Также полезен был автоматизированный процесс, который может переключать основные аппаратные средства, которые поддерживают работающие виртуальные машины, что позволяет ему двигаться от, например, машины Dell к серверу HP. Это была суть распределения нагрузки, если один сервер начал падать или был слишком засорен виртуальными машинами, можно было переместить нагрузку, устраняя потенциальное узкое место.
Можно подумать, что виртуальные машины будут работать гораздо медленнее, чем базовое оборудование, но инженеры решили проблему трюком, который отделяет обычные от ?привилегированных? вычислительных задач. Когда виртуальные машины находятся в совместном доступе, один сервер выполняет рутинные команды, эти вычисления работают на голом железе, смешиваются с задачами их соседей в вычислительной салатницу. Только тогда, когда виртуальная машина должна выполнить более конфиденциальную задачу, например, доступ к сети, она делает отступление назад в окруженную стеной программного обеспечения нишу, где вычисления продолжаются.
Эти скоростные переходы не были бы возможны, если бы не еще один ключевой тренд – консолидация жизни в мире Intel. Еще в первые дни виртуализации одной из основных целей была возможность реализовать внешние архитектуры на любой аппаратной базе, имеющиеся под рукой, скажем, путем эмуляции Power PC на рабочей станции SunMicrosystems. Виртуализация затем имела две функции – сохранить данные и перевести команды для базового оборудования. С микропроцессорными архитектурами, стандартизированных вокруг x86, практически любой сервер теперь совместим с любым другим, исключая утомительный шаг перевода.
VMware больше не обладает монополией на виртуализацию, существует и хороший вариант с открытым исходным кодом [18], но в нем развита большая часть первоначальной идеи. С компьютерами, наструганными на 5-100 гибких универсальных виртуальных машин, пользователи могут претендовать на вычислительную мощность, необходимую в данный момент. Добавление большего количества единиц или урезание является простым и быстрым. В настоящее время рутинные задачи клонирования виртуальных машин и распространение их через несколько центров обработки данных делаются для простых резервных копий. И за несколько центов за CPU-час, облачные вычисления могут быть дешевыми, как грязь.
Так будут ли все вычисления двигаться в облако? Ну, не каждый бит. Некоторые из них будут оставаться здесь, на Земле, где каждой кровельной плитке и зубной щетке, кажется, суждено иметь свой собственный микропроцессор.
Нам с вами нужно больше гарантий того, что наши данные всегда будут в сохранности [19]. Данные могут мигрировать через национальные границы, став восприимчивыми к слабым законам о правах человека недружественного режима. Поставщик облака может выйти из бизнеса, изменить его цены, быть приобретенным главным конкурентом, или быть уничтоженным ураганом. Чтобы защитить себя, облачные жители хотят, чтобы их данные плавно передавались от облака к облаку. На данный момент это не так.
Настоящей проверкой облака может стать следующее поколение судебных дел, где темные детали защиты потребителей [20] и принадлежности данных [21] в облачном мире в конечном итоге будут запутаны. Вот тогда мы осознаем последствия нашей новой наркомании и сможем, наконец, узнать, как именно мечта об Интернете, в котором все компьютеры в мире объединены, также может стать кошмаром [22].
Партийная литература
1. http://spectrum.ieee.org/static/special-report-top-11-technologies-of-the-decade
2. Sandra Upson, ?Cloud Computing: It's Always Sunny in the Cloud?. IEEE Spectrum, January 2011. http://spectrum.ieee.org/computing/networks/cloud-computing-its-always-sunny-in-the-cloud
3. http://spectrum.ieee.org/computing/networks/social-networking-friended
4. http://spectrum.ieee.org/telecom/wireless/smartphones-the-pocketable-pc
5. http://spectrum.ieee.org/green-tech/buildings/tech-titans-building-boom
6. http://spectrum.ieee.org/computing/hardware/death-of-digital-media
7. http://spectrum.ieee.org/computing/hardware/trapped-on-technologys-trailing-edge
8. http://spectrum.ieee.org/computing/networks/cloud-computings-killer-app-gaming
9. http://spectrum.ieee.org/geek-life/tools-toys/21stcentury-backups/0
10. http://spectrum.ieee.org/computing/software/winner-google-chrome
11. http://www.flickr.com/
12. http://wordpress.org/
13. http://code.google.com/appengine/
14. http://aws.amazon.com/ec2/
15. http://aws.amazon.com/
16. http://spectrum.ieee.org/computing/hardware/the-cloud-is-the-computer
17. http://www.vmware.com/
18. http://www.xen.org/
19. http://spectrum.ieee.org/blog/riskfactor
20. http://spectrum.ieee.org/computing/software/cloud-computing
21. http://spectrum.ieee.org/geek-life/tools-toys/21stcentury-backups/0
22. http://spectrum.ieee.org/computing/software/automated-to-death