Слова «приложение» и «платформа» постоянно на слуху. Они настолько привычны, что мы редко задумываемся об их взаимосвязи, о трансформациях, которые эти понятия претерпевают в процессе эволюции компьютерных технологий. Вообще говоря, наличие универсальной платформы, на которой строятся специализированные решения, можно обнаружить в самых разных отраслях. В компьютерной индустрии под «платформой» понимают нечто особое — то, что можно программировать, чтобы в результате получить прикладное решение. Представление о том, какой должна быть платформа, постоянно меняется. Когда-то единственным типом платформы было аппаратное обеспечение в его чистом виде — тогда программы писали в кодах или на простейшем языке Ассемблера; позже появились операционные системы, еще позже — программные средства промежуточного слоя и т.д. Строго определить, что такое платформа, сложно, но можно согласиться с утверждением создателя Netscape Марка Андриссена, считающего платформой все то, что можно программировать. С этой точки зрения платформой может быть и компьютерная игра, и СУБД, и все, что имеет специфицированный прикладной программный интерфейс (Application Programming Interface, API), — в том числе сеть, в этом и состоит квинтэссенция нынешнего этапа эволюции.
Неизбежность превращения сети в некий сверхкомпьютер — иными словами, в платформу следующего поколения — предполагали многие специалисты. В предвидении этого компания Sun Microsystems на протяжении двадцати пяти лет интриговала компьютерную общественность своим девизом «Сеть — это компьютер». Все эти годы время от времени возникала иллюзия, что вот-вот появится такая новация, которая действительно позволит превратить сеть в компьютер. Однако всякий раз предположения оказывались несостоявшимися; очередное изобретение не оправдывало возлагаемых на него надежд. И вот теперь перед нами новейшая парадигма Cloud Computing; может быть, ей, наконец, удастся это преображение?
Трезво оценить потенциал Cloud Computing мешает то, что прогресс в области новых технологий неизменно увязан с создаваемой вокруг него шумихой. С равным успехом это утверждение относится к чему угодно — к авиастроению и космосу, к нанотехнологиям и высокопроизводительным вычислениям. Самолет должен подняться в воздух через пять лет, космический корабль полетит через десять лет, а о них вещают как о реально существующих. Почему? Вопрос этот следует адресовать представителям бизнеса, социологам или психологам, нам же остается принять это как неизбежное и стараться не попадаться на удочку ловких маркетологов и поддакивающих им аналитиков. На протяжении последних десятилетий компьютерной истории они всегда находили нечто такое, о чем с уверенностью говорили, предвещая новую эпоху, чаще всего не понимая сути, а через пару лет это некогда бывшее в фаворе явление уже не помнил никто. В 2008 году на пик популярности вышел Cloud Computing; что на этот раз перед нами, очередной образец хайпа или реальность? Тому, кто занимался черно-белой фотографией, известно, что небо лучше снимать, используя специальные светофильтры, они позволяют усилить контрастность и тем самым уточнить очертания облаков. Вот и мы начнем с фильтрации наблюдаемого.
Светофильтр для облаков
Поэт и создатель литературного английского языка Джеффри Чосер (1340–1400), более всего известный своими «Кентерберийскими рассказами», однажды записал: «Нет того нового обычая, который не был бы старым». (Намного позже благодаря похожему замечанию, якобы сделанному ею по поводу обновления платья королевы Марии-Антуанетты, стала известной модистка мадемуазель Бертен.) Обычно, называя новое хорошо забытым старым, подчеркивают отсутствие в нем новизны, но можно интерпретировать этот тезис и иначе, признавая, что в том новом, о котором идет речь, есть хорошо проверенные старые корни. Нехитрый анализ причин взлета популярности Cloud Computing дает основание остановиться на второй трактовке этого выражения. В названии нет ничего иллюзорного или заоблачного: его образование связывают с распространенным представлением Internet в виде облачка на иллюстрациях. Впрочем, для большинства пользователей Сеть была и остается чем-то расплывчатым; ну кто из них знает, хотя бы приблизительно, об устройстве — или даже о существовании — опорной сети Internet? Появление термина Cloud Computing датируется 2007 годом, кто именно пустил его в оборот, неизвестно, это была констатация факта; предпосылки же сложились несколькими годами раньше. Достаточно вспомнить гипотезу, высказанную Грегом Пападопулосом, директором по технологиям Sun, относительно того, что во всем мире может остаться всего пять ЦОДов.
Стремительный взлет популярности Cloud Computing не может не насторожить здравомыслящего человека. За год число страниц в Сети, на которых можно найти упоминание этого типа компьютинга, перевалило за миллион. Особенно поражает рост числа публикаций, наблюдаемый в первой половине 2008 года, в этом деле наибольшую активность проявляют авторы многочисленных блогов. Стоит обратить внимание и на интенсивность поиска информации в Сети по тематике Cloud Computing, которая заметно выше по сравнению с другими близкими по смыслу парадигмами (Grid Computing, Utility Computing и Distributed Computing). По данным Google, интерес к ним монотонно падает, в сумме этот показатель для всех трех вместе взятых заметно меньше, чем у одного Cloud Computing. Аналитики в восторге, они прогнозируют прекрасные перспективы Cloud Computing с точки зрения бизнеса. В отчетах Merrill Lynch утверждается, что суммарный объем рынка компаний Amazon, Microsoft, Google, EMC, VMware, IBM, Sun, Dell, Akamai, SalesForce.com, NetSuite и Activision, связанного с Cloud Computing, в 2011 году достигнет 160 млрд долл.
Можно позавидовать уверенности аналитиков, ведь они уже знают, и что такое Cloud Computing, и то, как он будет продаваться, а вот все остальные специалисты еще не сошлись во мнениях относительно этого предмета. В ноябре в Сан-Хосе должна состояться первая крупная конференция-выставка Cloud Computing Expo, возможно, тогда и сложится консолидированное мнение. Пока же каждый из экспертов высказывает свое. Совсем недавно издательство SYS-CON, известное своими специализированными журналами, приступило к выпуску очередного издания, двадцать первого по счету, названного Cloud Computing Journal (cloudcomputing.sys-con.com). Среди материалов первого номера, в основном собранного из публикаций известных экспертов в их собственных блогах, особый интерес представляет подборка ответов двух десятков признанных авторитетов на вопрос «что такое Cloud Computing». При том, что в целом отвечавшие не сильно расходятся в своих взглядах, разброс мнений все же достаточно велик, свидетельствуя, что еще нельзя говорить ни о каком сложившемся отдельном рыночном сегменте, который бы назывался Cloud Computing.
Скептицизм многих из числа опрошенных вполне понятен, причиной тому ажиотажное отношение к Cloud Computing, заметно стимулированное книгой Николаса Карра. Она вышла в 2007 году и была озаглавлена «Великий перелом. Мир в новых проводах, от Эдисона до Google» (The Big Switch: Rewiring the World, from Edison to Google). Первая книга этого автора, «Суть не в ИТ», появилась несколько лет назад. Тогда, усомнившись в значении ИТ, Карр буквально ввел в ступор компьютерное сообщество, но зато сам стал исключительно востребованным приглашенным докладчиком, без которого не обходятся конференции крупных вендоров. Во второй книге Карр пошел еще дальше; напугав первой, теперь он предложил способ выхода из этого ступора. Если быть точным, книга была написана до появления термина Cloud Computing, и речь в ней идет не об этой концепции, а о коммунальном подходе к организации вычислений и о том, что теперь мир охватывает не только электрическая сеть, но еще и информационная, отсюда и название. Книга построена на аналогии между этими двумя типами сетей, электрической и информационной. Параллель очевидная, но не вполне корректная: электрическая энергия как продукт потребления заметно проще, чем дистанционные вычисления и информация. Аргументация, построенная на аналогии, далеко не всегда доказательна.
Избыточная пассионарность Карра явно смущает людей, мыслящих трезво. Но, тем не менее, необходимо признать — в некоторой части своих рассуждений он прав, хотя речь, скорее, следует вести не о резком переломе, а о вполне закономерных этапах эволюции компьютерного мира. Мы живем в эпоху глобализации, когда новые транспортные технологии, перемещающие грузы, людей и данные, меняют различные инфраструктуры, в том числе и информационные. Вне зависимости от физических основ тех или иных систем, общим для них является процесс концентрации ресурсов и совершенствование системы распределения. Если остановиться на технологиях работы с данными, то перенос ресурсов в сеть не является чем-то принципиально новым. Об этом думали много лет назад, но необходимые и достаточные условия сложились только сейчас, и Cloud Computing — воплощение того, как это видится сегодня. Весьма вероятно, что через несколько лет видение это изменится, и собственно Cloud Computing останется в прошлом, как и те многочисленные псевдоновации, которые мы могли наблюдать на протяжении последних лет. Общий же тренд, несомненно, сохранится, возможно, под другим именем.
Исторические предпосылки
Если обобщить разные мнения, то Cloud Computing рассматривается как некоторая хорошо организованная и высоконадежная сетевая инфраструктура, обеспечивающая качество обслуживания не только индивидуального, но и корпоративного уровня. Это в полном смысле тот самый компьютер-сеть.
О том, что информационные системы рано или поздно могут трансформироваться в своеобразный сервис, а сеть — в компьютер, специалисты задумывались на протяжении почти всей компьютерной истории. К примеру, еще в 1960 году Джон Маккарти, профессор Массачусетского технологического института, известный специалист в области искусственного интеллекта, написал: «Со временем вычисления могут превратиться в один из видов коммунальных услуг». Вспомним, что и ARPAnet, сеть, из которой вырос Internet, задумывалась не как средство коммуникации, а как способ объединения вычислительных ресурсов; электронная почта и другие коммуникационные технологии были всего лишь ее побочным продуктом. Предложенный Джоном Гейджем в 1984 году девиз Sun — The Network Is the Computer — не случаен, это удачная форма для господствовавших тогда умонастроений. Удивительной мантре пришлось много лет оставаться загадкой, и только сейчас начинается ее частичная реализация.
Первая практическая попытка превратить сеть в компьютер состоялась в 1996 году, когда Oracle и Sun Microsystems совместно с английской компанией Acorn выступили с инициативой создания специализированных бездисковых сетевых компьютеров. Вскоре при участии IBM, Apple Computer и Netscape была выпущена спецификация Network Computer Reference Profile, которая должна была создать сообщество производителей. Тогда по наивности многие думали, что вот-вот и у Wintel появится серьезный конкурент. Угроза существовавшему порядку вещей казалась настолько реальной, что и Microsoft срочно подготовила свой ответ в виде Net PC. Но инициатива Oracle осталась невостребованной: в то время она не имела серьезной технологической поддержки как на сетевом уровне (двенадцать лет назад в подавляющем большинстве случаев для доступа использовались телефонные каналы), так и на серверном уровне (ЦОДов в современном представлении не существовало).
Инициативная группа провела массированную артподготовку холостыми снарядами. Она действовала не из холодного расчета, а под влиянием общего настроения того времени, в пику Microsoft, трагически опередив свое время всего на несколько лет. Уже в начале нового века получил распространение широкополосный доступ. Он вдохнул новую жизнь в Internet, сделал его по-настоящему массовым, а печально известный мыльный пузырь 2000 года оставил после себя центры обработки данных. Однако момент был упущен.
Еще более близкая к Cloud Computing идея замены мощных серверов надежными массивами, состоящими из дешевых серверов RAIS (Redundant Array of Inexpensive Servers), возникала более десяти лет назад. Предполагалось, что такие серверные массивы окажутся особенно эффективными при распределении мультимедийных данных по большому числу потоков. Несколько позже была предложена близкая по смыслу архитектура RAIN (Redundant Array of Inexpensive Nodes), обеспечивающая доступ к распределенной системе хранения по сети с коммутацией пакетов. Сегодня такие системы можно было бы назвать «микрооблаками» и рассматривать их в качестве предшественников новой парадигмы. Но и RAIS, и RAIN тоже опередили время, и несмотря на свою привлекательность они не смогли получить признания.
Самым действенным и совершенно своевременным стимулом к появлению Cloud Computing стали несколько начинаний компании Amazon, не связанных с ее основным книготорговым бизнесом. В августе 2006 года стартовал сервис Amazon Elastic Compute Cloud (Amazon EC2), дающий пользователю возможность работать на нескольких типах виртуальных машин; поэтому-то он и был назван «эластичным». Предоставляемый пользователю ресурс, виртуальный личный сервер, измеряется в специальных единицах — виртуальных ядрах EC2 Compute Units (EC2 CU), равных по производительности одному процессору AMD Opteron или Intel Xeon (32 или 64 разряда). Предусмотрено три типоразмера таких серверов: малый (один EC2 CU, 32 разряда, 1,7 Гбайт оперативной памяти, диски емкостью 160 Гбайт); большой (два EC2 CU, 64 разряда, 7,5 Гбайт памяти, диски на 850 Гбайт); очень большой (четыре EC2 CU, 64 разряда, 15 Гбайт памяти, диски 1690 Гбайт).
На несколько месяцев раньше был запущен сервис Amazon Simple Storage Service (Amazon S3), предоставляющий своим клиентам неограниченное дисковое пространство. Еще раньше свои сервисы через Internet стала предлагать компания Salesforce.com; сейчас она расширила их до уровня «платформы как сервиса» (Platform-as-a-Service, PaaS), продвигая их под маркой Force.com.
Самый последний пример — технологии доставки приложений, предлагаемые Citrix с использованием серверных ферм, состоящих из лезвий и технологии виртуализации Xen; это не глобальное облако, но вполне работоспособное «облачко» корпоративного уровня.
Обобщая то, что известно о Cloud Computing, можно сделать следующие выводы.
-
Cloud Computing — это разного рода информационные ресурсы, разделяемые по запросу. Форма запроса может зависеть от того, как и кем он выполняется; это может быть запрос от толстого клиента с его особенностями, от тонкого клиента или даже КПК.
-
Ресурсы Cloud Computing с неизбежностью должны быть виртуализированы, это обеспечивает динамическое масштабирование и избавляет пользователя от привязанности к определенным физическим серверам.
-
Система оплаты ресурсов Cloud Computing более всего похожа на расчет за коммунальные или иные потребительские услуги.
Cloud Сomputing и другие
Английское слово computing заметно меняет свой смысл в зависимости от контекста и от того, кто его использует — это может быть и профессия, и дисциплина; в данном случае это скорее методология. Чтобы уточнить смысл, вкладываемый в Cloud Computing, следует сравнить его с близкими подходами.
-
Сluster Computing. Объединение множества физических вычислительных узлов, находящихся в одном административном домене, в единый логический компьютер средствами локальных сетей или других локальных коммуникационных технологий.
-
Grid Computing. Объединение множества физических вычислительных узлов, находящихся в разных административных доменах, в единый логический компьютер средствами глобальных коммуникационных технологий.
-
Utility Computing. Развитие идеи разделения ресурсов. Прежде предметом распределения служили время и другие ресурсы одного компьютера, а сейчас его распространили на множество серверов, расположенных где-то «за стеной».
-
Distributed Computing. Выполнение разных частей программы одновременно на двух или большем числе компьютеров; взаимодействие между ними осуществляется по сети.
Cloud Computing вбирает в себя технологии предшествующих подходов. Его можно понимать как пространство виртуализированного ЦОДа, в каких-то случаях глобального масштаба, как планируют некоторые компании, в иных — меньшего масштаба. Так или иначе, это некий сверхкомпьютер, точнее, сеть, рассматриваемая как единый компьютер. Такая сеть включает в себя самые разнообразные серверы и системы хранения. Подобный подход освобождает тех, кто развертывает какое-то программное обеспечение, от необходимости думать, как и на каком физическом оборудовании оно будет работать. Таким образом, Cloud Computing состоит из двух основных частей — аппаратного обеспечения, предоставляемого в форме сервисов (Hardware as a Service, HaaS), и программного обеспечения также в сервисной форме (Software as a Service, SaaS). Доступ к таким приложениям осуществляется через Internet, приложения разрабатываются, устанавливаются и эксплуатируются третьей стороной, доступ может быть бесплатным или оплачиваться по какой-то модели, учитывающей использование. Если же владелец ЦОД предоставляет возможность использования аппаратных ресурсов для разработки и внедрения собственных пользовательских приложений, то можно говорить и о платформе как сервисе (Platform as a Service, PaaS).
Cloud Computing можно определить как объединение виртуализированных ресурсов в общий пул, способный поддерживать различные типы нагрузок. Режим работы с ним может быть как пакетным, так и интерактивным, а нагрузки могут динамически распределяться между виртуальными и физическими серверами. Cloud Computing воплощает и обобщает в себе свойства перечисленных выше парадигм.
Cloud Computing и сервисы
Сервисная идея, положенная в основу Cloud Computing, свидетельствует о достижении компьютерными технологиями значительного уровня зрелости. Опыт показывает, что на определенном уровне развития практически любая инфраструктура представляется пользователю своими сервисами, когда потребителю важно, не какими средствами, а с каким качеством осуществляется обслуживание. Показательный пример — авиатранспорт. Современный пассажир имеет дело только с тем или иным видом услуг, не более того. Бывают, разумеется, и исключения, взять хотя бы те же личные легковые автомобили — маркетинговыми усилиями производителей утилитарный предмет, служащий для доставки из точки А в точку Б, превращен в культовую вещь. То же самое угрожало и компьютерам, достаточно вспомнить помпезные выставки былых лет, привлекавшие десятки тысяч посетителей, но теперь все это в прошлом. Увлечение экстремальными ПК останется уделом отдельных геймеров, а в большинстве своем пользователи станут нормальными потребителями услуг.
Непредсказуемая природа компьютерных систем приводит к тому, что процесс перехода на сервисы не столь прозрачен и прямолинеен, как в других отраслях, и свершается он главным образом методом проб и ошибок. Нынешняя фаза ассоциируется с «вычислениями в облаке». Доступ к такого рода сервисам может осуществляться с рабочих мест, оборудованных персональными компьютерами или тонкими клиентами вплоть до iPhone или BlackBerry. Особую привлекательность сервисам из облака придаст появление «неттопов», то есть недорогих компактных ноутбуков с размером экрана до 10 дюймов, они должны появиться в массовом порядке в 2009 году. Такие сервисы не гарантируют надежности; обращаясь к ним, пользователь руководствуется доверием провайдеру, его имени, репутации и иными предпочтениями.
Cloud Computing, условия необходимые и достаточные
Востребованность сервисной модели можно назвать необходимым условием для Cloud Computing, а достаточными условиями — производительность сетевой инфраструктуры и виртуализацию ресурсов. Первое из двух препятствий, возникшее когда-то на пути сетевых компьютеров, сегодня снято — эффективность сетей возрастает в соответствии с законами Меткалфа и Рида. Важность пропускной способности очевидна, менее очевидно второе условие — виртуализация. Без нее ни о каких сетевых сервисах и речи быть не может, но двенадцать лет назад об этом никто не догадывался. Обычно виртуализацию понимают узко, как технологии нескольких компаний (VMware, Xen, Parallels), но мы сталкиваемся с виртуализацией гораздо чаще, чем это кажется, не замечая ее, и это, если так можно сказать, косвенное следствие повсеместного проникновения цифровых технологий.
Переход к «цифре» виртуализирует практически все типы устройств. Фотоаппарат, телефон, банкомат, да что угодно теряет свою специфику как устройство; все они превращаются в сервисы, реализуемые зашитыми в них или расположенными где-то еще программами, вопрос только в том, где эти сервисы размещены — в каких-то случаях локально, а в иных удаленно. В любом случае работает та или иная реализация машины Тьюринга, выполняющая не физические действия, а код своей программы. Эрик Шмидт, генеральный директор Google, сказал: «Как только сеть стала сравнима по производительности с процессором, компьютер может покинуть свою оболочку и распространиться по сети».
Главное открытие Алана Тьюринга, не всегда замечаемое, состоит в том, что он показал, как программа может заменить любое аппаратное устройство. Виртуализация есть не что иное, как материализация этого утверждения. В приложении к Cloud Computing это значит, что в ЦОДе могут быть виртуализированы все устройства, способные выполнять какие-то команды ; не только серверы, но и системы хранения, межсетевые экраны, маршрутизаторы, даже кабельные системы могут быть реализованы программными средствами. Виртуализация заменяет аппаратное выполнение команд программным выполнением, позволяя избавиться от специфического оборудования в пользу универсального, выполняющего те же самые функции. Наиболее показательный пример — «специализированные виртуальные устройства» (virtual appliance). Разумеется, виртуализация не панацея, она имеет свои ограничения; всегда останутся приложения, где специализированные устройства будут иметь преимущества, например, устройства, предназначенные для обеспечения информационной безопасности или для работы с большими объемами данных.
Платформная революция
Под компьютерными платформами обычно понимают программируемую совокупность аппаратного и программного обеспечения, необходимую для выполнения приложений. До тех пор пока компьютеры будут строиться на основе машины Тьюринга, платформы будут их обязательным атрибутом, но это не значит, что сами платформы не будут эволюционировать. До ухода компьютера в сеть под платформой понимали совокупность «серверы, плюс операционные системы, плюс программы промежуточного слоя, плюс интегральные среды для разработки, плюс еще что-то». Иногда выделяют программную составляющую в отдельную программную платформу, снабженную собственными API. Обычные программные платформы ориентированы на определенные операционные системы и на определенное аппаратное обеспечение. При использовании виртуальной машины Java удается избавиться от зависимости, связанной с операционной системой, а виртуализация обеспечивает независимость от аппаратуры. Вплоть до самого последнего времени господствовала одна-единственная платформенная парадигма, которую можно назвать «сделай сам». Потребитель покупает серверы, покупает или загружает свободное программное обеспечение, строит и поддерживает необходимую инфраструктуру. Эту схему можно назвать Software-as-a-Product (SaaP), создал ее в свое время Билл Гейтс, а поддерживают все поставщики платформ — Microsoft, Oracle, Sun, IBM и ряд других компаний.
Превращение сети в компьютер открывает возможности для создания альтернативных платформ. Они появляются в результате сложного эволюционного процесса. Начало было положено лет десять назад, когда в качестве альтернативы возникло направление, которое назвали «арендой приложений»; такую услугу предлагали соответствующие поставщики (Application Service Provider, ASP). Перспективы у нового направления выглядели блестящими, прогнозы аналитиков предвещали многомиллиардные рынки, но все дело кончилось ничем. Традиционные приложения оказались неприспособленными для работы в сервисном режиме, технологий для виртуализации не было; в итоге решения получались излишне громоздкими и неэффективными. Но ничто не проходит бесследно, и некоторые подходы к виртуализации выросли из решения задач, поставленных ASP. Логическим продолжением аренды приложений стало предоставление программных продуктов в виде сервисов. Принципиальное отличие модели SaaS от ASP в том, что в данном случае используются приложения, специальным образом созданные для работы в условиях Web. Это так называемые «многопользовательские» (multi-tenant) приложения, а для данных применяются модели, обеспечивающие распределенный доступ. Кроме того, при разработке систем, поддерживающих SaaS, гораздо больше внимания уделяется процедурам развертывания, поддержки и управления на протяжении всего жизненного цикла программного обеспечения. Первые решения класса SaaS были сделаны в начале десятилетия, но их внедрение заняло продолжительное время, и теперь SaaS рассматривают как альтернативу сложившейся схеме «программы из коробки».
Следующий шаг в эволюции платформ — перемещение от отдельно взятого компьютера в сеть, предоставление платформы в форме сервисов. В общем случае поставщик таких услуг посредством сервисов дает возможность использовать готовую инфраструктуру. Это могут быть просто какие-то аппаратные ресурсы, к ним могут быть добавлены операционная система, API, языки программирования, интегрированная среда разработки и даже заготовки типовых приложений.
По предоставляемым сервисам подход PaaS можно разделить на три уровня. Первый уровень следует точнее назвать Hosting Cloud («облако, размещаемое на своей территории»), поскольку пользователю предлагаются не законченные программные сервисы, а всего лишь виртуализованная инфраструктура. Типичный пример — Amazon EC2 и S3, но есть и другие поставщики этого типа услуг, среди них компании Mosso, Rackspace и Joyent.
Шаг вверх предполагает услуги для разработки приложений, это интегрированные среды Cloud IDE (integrated development environment). Канонический пример — платформа Force.com; недавно конкуренцию ей составила платформа компании Bungee Labs. На этом уровне пользователь получает возможность создать собственное приложение с помощью инструментальных средств, предоставляемых провайдером. Такой подход является паллиативом, тип приложения ничем не ограничен, а инфраструктурные решения предлагаются провайдером. Это и хорошо, и плохо: пользователь освобожден от заботы об инфраструктуре, но в то же время он привязан к однажды сделанному выбору. Приложение, созданное в среде одного провайдера, не сможет работать в среде другого.
Самый верхний уровень образуют «строители приложений» (Cloud application builders). Эти платформы представляют собой заготовки-полуфабрикаты для создания приложений. В этом сегменте рынка уже действует несколько компаний. Средствами от DataWeb и Coghead можно собирать Web-приложения, Dabble DB помогает строить базы данных в Web, а решение Daptiv (Project Portfolio Management) служит для управления проектами.
Для того чтобы стать надежной платформой, современные серверы и операционные системы прошли огромный путь. Сегодня в сервере компонентов, обеспечивающих его надежность, обнаруживается не меньше, если не больше, чем тех, которые обеспечивают его функциональность. То же самое относится и к PaaS: до тех пор, пока эта платформа не будет обладать достаточно высокими эксплуатационными характеристиками, ни о каком массовом распространении речи быть не может.
Приведем несколько важных требований к PaaS (на самом деле этот перечень намного больше).
-
Стабильность сети. Любая среда PaaS поддерживается некоторой виртуализационной технологией, и этот виртуализационный уровень, как любая иная технология, может выйти из строя, с ним может произойти все, что угодно; но должны сохраниться IP-адреса, они обязаны быть стабильными и статичными. Это обеспечит безболезненное возобновление работы приложений после восстановления PaaS.
-
Доступность ресурсов. Разработчик должен иметь возможность для предельно удобного и свободного доступа к PaaS, поэтому он должен быть ограничен только доступными ему API.
-
Интероперабельность приложений. Со стороны PaaS разработчику должны быть доступны все основные языки программирования, библиотеки, серверы приложений, это очевидное условие универсальности приложений. Но к тому же желательно, чтобы приложение, созданное для платформы PaaS, предоставляемой одним провайдером, могло работать на платформе другого провайдера. Здесь возникают проблемы стандартизации, о которых почему-то избегают говорить, но ситуация более чем серьезна. Чем-то она напоминает то, что было до создания семиуровневой модели OSI, есть очевидная нужда в аналогичной модели. Проблема осложняется тем, что провайдеры предлагают собственные технологии, поддерживаемые только ими, и тем самым привязывают пользователей к себе, например, Amazon предлагает СУБД SimpleDB, Google — BigTable и т.д.
Что же нас ожидает?
Хотим мы того или не хотим, но приходится признать, что компьютерный мир входит в новую эпоху, уже получившую свое название — age of the cloud, где и программное обеспечение, и аппаратура предоставляются в виде сервисов. Самый существенный признак новой эпохи — смещение платформы с отдельно взятого компьютера в сеть. О том, что впереди большие перемены, можно судить по целому ряду признаков. Показательно, что одна из самых серьезных консалтинговых компаний, McKinsey, опубликовала отчет «Грядущие платформенные войны на поле корпоративного программного обеспечения».
В связи с формированием парадигмы Cloud Computing вновь вспоминают приписываемое председателю совета директоров корпорации IBM Томасу Уотсону высказывание: «Я думаю, что мировой рынок ограничивается пятью компьютерами». Эти слова якобы прозвучали в 1943 году, а в 2008-м руководитель исследовательского подразделения Yahoo Research Прабхар Рагхаван повторил их почти дословно: «В мире всего пять компьютеров — Google, Yahoo, Microsoft, IBM и Amazon. Есть еще несколько тех, которые могут превращать электричество в вычисления с сопоставимой эффективностью».
Будет ли перелом великим? http://www.osp.ru/cw/2008/02/4734005
SaaS — конец начала http://www.osp.ru/os/2007/10/4706040