Облачные технологии

1 ноября в МГУ в рамках Дня технологий Microsoft для студентов выступит с лекцией Стив Баллмер. Речь CEO Microsoft будет посвящена технологиям будущего и в первую очередь — облачным технологиям. Лекцию можно будет посмотреть через онлайн-трансляцию, и, надо полагать, эта возможность должна заинтересовать не только технических специалистов, но и людей, профессионально не связанных с IT, однако следящих за прогрессом и желающих знать, в какую сторону будет развиваться компьютерная индустрия.

А для того чтобы ввести таких людей в курс дела, мы решили подготовить статью, в общих чертах описывающую основные принципы и самые известные примеры реализации облачных технологий. Вообще, эта тема уже поднималась на нашем сайте (предлагаем вам посмотреть репортажи с конференций Remix 2010 и Платформа 2010), однако это были статьи о конкретных решениях. Сегодня же мы поговорим о самом принципе облачных технологий и попытаемся привести самые разные примеры их использования в «обычной» жизни.

Сразу оговоримся: данный материал вряд ли будет интересен тем, кто глубоко разбирается в этой теме и ощущает себя в ней как рыба в воде. Однако смеем надеяться, что даже среди продвинутых читателей iXBT.com есть те, кто еще не вполне разобрался в том, что же такое cloud computing и «с чем его едят». Поэтому цель нашего сегодняшнего материала — разложить все по полочкам и попытаться систематизировать основные сведения, связанные с данной темой.

История

Первые идеи, косвенно соотносящиеся с тем, что мы сегодня понимаем под облачными вычислениями, и описывающие возможность вычислений с использованием удаленных вычислительных центров, относятся еще к 70-м — 80-м годам. Однако публичная история собственно cloud computing в современной реализации начинается примерно с 2006 года. Именно тогда не нуждающаяся в представлении компания Amazon представила свою инфраструктуру веб-сервисов (Web Services), обеспечивающую не только хостинг, но и предоставляющую клиенту удаленные вычислительные мощности. Вслед за Amazon аналогичные сервисы представили Google, Sun и IBM. А в 2008 году свои планы в этой области озвучила компания Microsoft. Причем Microsoft анонсировала не просто сервис, но полноценную облачную операционную систему Windows Azure (о ней мы еще поговорим).

На первый взгляд, Microsoft не удалось обогнать своих конкурентов по облачной сфере — официальный релиз Windows Azure состоялся лишь в начале 2010 года. Тем не менее, на сегодняшний день Windows Azure остается одним из самых крупных и всеохватных проектов в сфере cloud computing. Но 2010 год можно считать важной датой в истории облачных технологий не только из-за релиза Azure, но и благодаря появлению ряда облачных сервисов, ориентированных уже не на разработчиков, а на простых пользователей. И именно на примере одного такого сервиса мы попробуем объяснить суть концепции cloud computing.

Концепция cloud computing: взгляд со стороны пользователя

17 июля в США был запущен облачный сервис OnLive, предоставляющий возможность играть в современные игры даже на самом простом оборудовании. Технически это выглядит следующим образом: сама игра располагается на удаленном сервере и там же производится обработка графики, которая на компьютер конечному пользователю поступает уже в «готовом» виде. Проще говоря, те вычисления, которые при обычной игре на компьютере выполняют видеокарта и процессор, здесь уже выполнены на сервере, а ваш компьютер используется лишь как монитор. Можно и вовсе использовать обычный телевизор, только придется к нему прикупить миниатюрную приставку OnLive MicroСonsole, которая и будет связующим звеном между пользователем, сервисом и отображающим устройством.

Собственно, в этой информации уже скрывается ответ на вопрос «что же такое облачные вычисления». Облачные вычисления — это новая парадигма, предполагающая распределенную и удаленную обработку и хранение данных. Облако (раньше это слово мы писали с кавычками, но за последние два года оно так распространилось именно в своем компьютерном значении, что можно его использовать уже как термин, а не как метафору) — это не что иное, как некий крупный дата-центр (или сеть взаимосвязанных между собой серверов). В случае с OnLive именно в этом дата-центре хранятся файлы (в данном случае — игры), и именно там совершаются все вычислительные операции. Что это значит? Это значит, что автоматически снимаются все проблемы с производительностью компьютера и количеством свободного места на винчестере. Кроме того, отпадает необходимость платить довольно большие деньги сразу за продукт, который вам не обязательно придется по душе. Не секрет, что большинство игр не хочется проходить повторно, поэтому получается, что стоимость нескольких часов (или пусть даже нескольких дней) удовольствия — неоправданно высока. Куда удобней был бы вариант, при котором вы платили бы только за то время, которое играете. Или же (если такой вариант вам психологически неудобен) — вы бы платили некую небольшую фиксированную сумму ежемесячно, что позволяло бы вам играть без ограничений в любые из доступных игр. Именно это и предлагает OnLive.

Еще один игровой сервис, который также предоставляет богатую интернет-функциональность и имеет отношение к облачным технологиям — Xbox Live (в России он будет запущен 10 ноября). Суть сервиса в том, что обладатели приставок Xbox 360 и КПК на базе Windows Phone 7 могут играть друг с другом в компьютерные игры и общаться, а также покупать новые игры, адд-оны и различный мультимедийный контент в онлайн-магазине. Таким образом, Xbox Live создает некую виртуальную вселенную для геймеров, компоненты которой расположены не на консолях конечных пользователей, а в облаке. Однако, в отличие от OnLive, Xbox Live не предполагает (по крайней мере, пока) обработку аудиовизуального контента, снимающую необходимость приобретения консоли/КПК.

Но главное — и тот, и другой сервисы предлагают нам игры как услугу. А теперь представим, что речь идет не об играх, а о программном обеспечении. То есть вы платите не за продукт как таковой (грубо говоря, за коробку с диском), а за конкретные функции/возможности, которые вам предоставляет данный продукт. И здесь мы подошли еще к одному ключевому понятию из сферы облачных технологий: Software as a Service (ПО как сервис, сокращенно — SaaS).

Software as a Service

Согласно SaaS-концепции вы платите не единовременно, покупая продукт, а как бы берете его в аренду. Причем, используете ровно те функции, которые вам нужны (и, соответственно, платите за них же). Например, раз в год вам нужна некая программа. И чаще вы ее использовать не собираетесь. Так зачем же покупать продукт, который будет у вас лежать без дела? И зачем тратить на него место (в квартире, если это коробка с диском, на винчестере, если это файл)? Здесь, конечно, можно возразить, что программы, которые мы используем изредка, как правило, имеют небольшой размер и цену, и их легче купить один раз, потом уже не думая об этом. А если онлайн-сервис (предоставляющий полные функциональные возможности этой программы) бесплатный? Уже можно задуматься! Именно по такому пути пошли два конкурента — Microsoft и Google. Обе компании выпустили наборы сервисов, позволяющих работать с документами. У Google это Google Docs, у Microsoft — Office Web Apps.

При этом, оба сервиса тесно взаимосвязаны с почтой (Gmail в первом случае и Hotmail во втором) и файловыми хранилищами. Таким образом, пользователя как бы переводят из привычной ему оффлайн-среды в онлайн. Важно, что и Google, и Microsoft интегрируют поддержку своих онлайн-сервисов во все программные среды — как настольные, так и мобильные (напомним, что Google создала ОС Android, а Microsoft — Windows Phone 7).

Аналогичную концепцию (но с несколько другими акцентами) продвигает и главный конкурент обеих компаний — Apple. Речь идет об очень любопытном сервисе под названием MobileMe (подробнее о нем читайте здесь). Сервис включает в себя почтовый клиент, календарь, адресную книгу, файловое хранилище, альбом фотографий и инструмент для обнаружения утерянного iPhone. За возможность пользоваться всем этим Apple берет примерно 65 евро (или 100 долларов) в год. На первый взгляд, за что деньги-то платить? Почтовые онлайн-сервисы существуют и существовали прежде. Но главное здесь — другое. Apple обеспечивает такой уровень взаимодействия своего набора интернет-сервисов и приложений на компьютере (под управлением Mac OS X), телефоне, плеере и iPad (все – под управлением iOS), что необходимость в использовании браузера пропадает. Вы пользуетесь привычными программами на своем Mac, iPhone и iPad, однако, все данные хранятся не на них, а в облаке, что позволяет забыть о необходимости синхронизации, а также — о доступности (наверняка многим владельцам КПК знакома ситуация, когда вы вбили новый контакт в адресную книгу на компьютере, а потом забыли перенести на КПК, и в итоге в нужный момент контакта под рукой не оказалось). При этом, оговоримся, не обязательно использовать именно приложения — можно и просто через браузер с любого компьютера зайти в свой аккаунт.

Если Apple интегрирует веб-сервисы в привычные приложения операционной системы, то Google заходит с противоположной стороны: разрабатываемая интернет-гигантом операционная система Chrome OS представляет собой, фактически, один браузер, через который пользователь взаимодействует с разветвленной сетью веб-сервисов. ОС ориентирована на нетбуки, отмечаются очень низкие системные требования и отсутствие необходимости самостоятельной установки программ (так как все программы работают непосредственно в вебе). То есть Google предоставляет преимущества облачной концепции, обычно декламируемые при работе с корпоративными клиентами, обычным пользователям. Вместе с тем, очевидна невозможность использования таких нетбуков в странах с недостаточно широким проникновением широкополосного интернета. Потому что без интернета нетбук на базе Chrome OS будет совершенно бесполезен.

Microsoft пока чуть более осторожна в этой сфере. Основные продукты Microsoft для частных клиентов — Windows и Office — пока еще сохраняют привычную схему работы и распространяются по традиционной модели. Однако, Microsoft довольно активно начинает предлагать свои корпоративные продукты по облачной модели Software as a Service.

Ну а в центре всей облачной инфраструктуры Microsoft — операционная система Windows Azure. Windows Azure создает единую среду, включающую облачные аналоги серверных продуктов Microsoft (реляционная база данных SQL Azure, являющаяся аналогом SQL Server, а также Exchange Online, SharePoint Online и Microsoft Dynamics CRM Online) и инструменты разработки (.NET Framework и Visual Studio, оснащенная в версии 2010 года набором Windows Azure Tools). Так, например, программист, создающий сайт в Visual Studio 2010, может не выходя из приложения разместить свой сайт в Windows Azure.

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

Pay as you go

Представьте, что вы захотели открыть свой бизнес и создать какой-то сайт. Купили сервер, наняли IT-сотрудника, запустили свой сайт… Поначалу посетителей немного, и сервер справляется с нагрузкой, но затем сайт рекламирует известный блоггер, количество посетителей резко увеличивается, и вам приходится срочно покупать новые серверы. А следовательно — покупать программное обеспечение, нанимать сотрудников, искать дополнительные помещения и так далее. В общем, расходы взлетают до небес. Но вот количество посетителей стабилизируется, и оказывается, что серверы работают в среднем на 10-15 процентов своих возможностей. Лишь изредка количество посетителей возрастает настолько, чтобы загрузить серверы достаточно сильно. А иногда даже бывает, что серверы оказываются перегружены — и тогда ваши посетители начинают испытывать сложности общения с сайтом. Как же решить эту проблему? Воспользоваться возможностями облачных технологий. Вы можете разместить сайт в облаке, и оплачивать вам придется лишь те мощности, которые будут реально задействованы, тот трафик, который будет реально создан.  Это убережет вас от необходимости приобретения дополнительного оборудования в случае пиковых нагрузок и одновременно избавит от проблем с повседневным обслуживанием многочисленных серверов. Чем это отличается от обычного хостинга? Тем, что помимо физического размещения и поддержки вашего сайта вам еще предоставляют необходимый софт (который также расположен в облаке), масштабируемость и бесконечные возможности для расширения.

Приведем еще один пример. Допустим, вы владелец студии дизайна. Как правило, в ней работает несколько человек. Но однажды поступает крупный заказ, который надо выполнить в сжатые сроки. Вам приходится нанять на время работы над проектом посторонних сотрудников. Однако, их же надо обеспечить дорогостоящим профессиональным софтом, чтобы они могли работать! Что делать? Покупать дополнительные лицензии, хотя вы знаете, что потом они использоваться не будут? Допустим. Но вам же еще придется потратить силы и время на установку и настройку этого приложения на каждом компьютере. А затем — на обслуживание. То есть вдобавок к новым дизайнерам придется нанимать и нового IT-сотрудника… В общем, не самый лучший вариант. Куда удобнее использовать онлайн-вариант необходимого софта, заплатив лишь за то время, которое сотрудники пользовались этим софтом. Причем вы автоматически избегаете проблем с настройкой, администрированием и поддержкой программы. Кстати, выигрывают от этого не только пользователи, но и сами производители софта. Почему? Ответ простой: потому что это полностью снимает проблему пиратства.

Собственно говоря, мы привели лишь пару частных примеров. Если же говорить глобально, то все варианты облачных технологий подразумевают подписочную модель оплаты. Причем, не только в отношении софта, но и по части аппаратных ресурсов. И это условно называется Pay as you go. Ну а тем, кому аппаратные ресурсы не нужны, могут просто взять требуемые приложения в аренду (и здесь мы возвращаемся к понятию Software as a Service).

Применимо к корпоративным нуждам, аренда приложений дает следующие преимущества:

  • Низкие первоначальные инвестиции в ИТ (не нужно покупать оборудование, ПО, платить за установку и настройку решения);
  • Оптимизация расходов (оплата ежемесячно по факту использования);
  • Снижение рисков (лицензии на ПО не надо ставить на баланс, то есть нет ответственности, сервис-провайдер несет ответственность за бесперебойную работу услуги);
  • Масштабируемость решений (можно легко увеличивать и уменьшать количество пользователей, добавлять новые решения)
  • Простота поддержки (оплачивается единая IT-услуга, в состав которой все включено; не надо заботиться о стандартизации ПО, обучении сотрудников IT новым версиям и т.д.)

Приведем высказывание Николая Прянишникова, президента российского отделения Microsoft: «Благодаря облаку IT становится услугой. Это выгодно всем. Компаниям, которые могут значительно сократить расходы на IT, сконцентрировав высвободившиеся ресурсы на развитии собственного бизнеса, и частично перевести капитальные расходы в операционные (кроме того, компании малого и среднего бизнеса получают дополнительные преимущества от использования недоступных ранее корпоративных IT-технологий). Рынку IT и телеком, способствуя возникновению новых бизнес-моделей и стимулируя появление стартапов. И, как следствие, государству и обществу: повышается уровень информатизации страны и развитие экономики получает дополнительный стимул».

Представители компаний, использующих облачные технологии, соглашаются с Microsoft. «Наряду с повышением производительности и эффективности на всех уровнях - как в офисе, так и при удаленной работе, - мы получили решение, которое может расти вместе с нашей компанией и расширяться в соответствии с нуждами бизнеса. Данное решение очень удачно вписывается в наш бизнес-план. Чтобы установить в компании Microsoft Exchange Server, обычно требуется несколько недель, а то и месяцев, начиная с момента покупки лицензий и серверов до запуска в эксплуатацию. Также необходим собственный штат IT-специалистов для его установки и обслуживания. А мы получили решение немедленно и по низкому месячному тарифу» — говорит президент компании Организация времени Глеб Архангельский.

Взгляд в будущее

Несмотря на очевидные преимущества, саму концепцию облачных технологий немало критикуют, причем с самых разных сторон. Главные претензии связаны с безопасностью (достаточно ли надежно защищены данные в облаке? И нет ли вероятности того, что сам владелец дата-центра решит воспользоваться доверенными ему данными?) и жизненной необходимостью надежного широкополосного доступа в интернет. Мы сейчас не будем увязать в полемике, тем более что эти моменты действительно не так уж и очевидны. Однако, несмотря на все сомнения будущее облачных технологий представляется самым радужным. Доказательством того, что это не временное увлечение, а новый путь развития высоких технологий, является следующий факт: сколь бы ни были сильны противоречия между тремя гигантами — Microsoft, Apple и Google, сколь бы ни различались взгляды их руководителей и идеологов на развитие индустрии и потребности пользователей, практически одновременно они вошли на эту новую (пока что) территорию, и совершенно не собираются оттуда уходить. Более того, именно с облачными технологиями все три компании связывают свое будущее. И пусть Microsoft об этом трубит на каждом углу, а Apple, наоборот, не делает громких заявлений и держит в тайне свои планы (среди которых, в частности, называют создание облачного варианта iTunes), однако, дела говорят сами за себя. Еще два года назад концепция cloud computing казалась лишь красивой идеей, «маниловщиной», странным экспериментом. Сегодня же преимущества облачных технологий могут почувствовать даже те люди, которые не связаны с разработкой программ, веб-технологиями и прочими узкоспециализированными вещами (вышеупомянутые Xbox Live, Windows Live, MobileMe, OnLive, Google Docs — яркие тому примеры). А что будет завтра? Об этом, возможно, нам как раз и собирается рассказать Стив Баллмер! Не пропустите!




29 октября 2010 Г.