Огромная вводная статья Cisco о «сетевом облаке» и вычислениях в cloud computing

Феномен вычислений «в сетевом облаке» (cloud computing) вызывает большой интерес во всем мире: новая концепция позволяет предоставлять сервисы по запросу, что способствует снижению расходов. Кроме того, такой подход позволяет снизить сложность информационных систем, а также повысить их масштабируемость и доступность.

Феномен вычислений "в сетевом облаке" (cloud computing) вызывает
большой интерес во всем мире: новая концепция позволяет предоставлять
сервисы по запросу, что способствует снижению расходов. Кроме того,
такой подход позволяет снизить сложность информационных систем, а также
повысить их масштабируемость и доступность. Новая модель предоставляет
поставщикам управляемых услуг (Managed Services) широкие и
увлекательные возможности. Однако в данной области до сих пор нет
устоявшейся терминологии [поэтому далее в тексте будет использоваться
английский термин "cloud computing" — прим. перев.],
существующие сервисы часто путаются с футуристическими измышлениями
(vaporware), а модели предоставления услуг в процессе своего
распространения продолжают изменяться. Многие потенциальные клиенты не
знают, нужны ли им новые услуги, а поставщики услуг не имеют
представления, как лучше интегрировать "облачную" архитектуру и как
лучше строить ее маркетинг.

В этом документе дается общее описание терминологии, концепций и
требований технологии "cloud computing". Кроме того, будут описаны
компоненты интеллектуальной сети Cisco IP NGN, которые соответствуют
принципам cloud computing и могут послужить основой для внедрения новых
услуг. Безопасность, качество услуг (QoS), высокая доступность,
совместимость, мобильность сервисов и некоторые другие характеристики
сетей Cisco IP NGN считаются критически важными для успешного
предоставления услуг "cloud computing".

Cloud Computing в общих чертах

С тех пор, как была создана сеть ARPANET, послужившая основой для
общедоступного Интернета, в мире появилось множество сетевых концепций,
разработанных для корпоративных заказчиков и индивидуальных
пользователей. В последние годы все шире распространяется концепция
“cloud computing”, в соответствии с которой сетевые и вычислительные
ресурсы, а также ресурсы системы хранения должны предоставляться
каждому человеку по запросу, примерно как электричество. По идее,
подход "cloud computing" должен демократизировать доступ к ресурсам и
давать пользователям возможность эффективно приобретать столько услуг,
сколько им необходимо (в рамках доступного бюджета). В этом смысле
некоторые аналитики стали говорить о превращении сети в "четвертую
коммунальную службу" — в дополнение к водопроводу, электричеству и
телефонной связи.

В начале 1990-х годов получила распространение идея
"грид-вычислений" (grid computing), которая представляет собой
выделение вычислительных ресурсов и ресурсов хранения из общего пула
автономных систем, как правило, для фундаментальных научных работ и
ресурсоемких научных приложений. "Cloud computing" — дальнейшая
эволюция той же идеи объединения базовых ресурсов для предоставления
доступа к web-сервисам, приложениям и ресурсам системы хранения. В
последнее время в общей концепции "cloud computing" стали выделять
несколько категорий (см. рисунок 1):

  • Информационные технологии как услуга (IT as a service, ITaaS)
    модель услуги, при которой организация или частное лицо подписывает
    контракт с оператором связи на получение доступа к сети и услугам,
    предоставляемым индивидуально или пакетом (например, услуги сетевого
    резервирования, аварийного восстановления, виртуальных частных сетей,
    передачи голоса по протоколу IP — VoIP, хостинга, видеонаблюдения,
    web-конференций).
  • Программное обеспечение как услуга (Software as a Service, SaaS) доступ
    к приложению через сеть оператора связи без резидентной установки
    приложения на компьютере пользователя. Приложение работает на сервере
    поставщика услуг SaaS и выдает пользователю результаты вычислений.
    Пользователь не покупает приложение, а платит только за его временное
    использование через интернет-API. Термин "SaaS" заменил прежнее
    обозначение поставщиков подобных услуг, которые раньше назывались ASP
    (application service provider — поставщик услуг доступа к приложениям).
  • Платформа как услуга (Platform as a service, PaaS)
    предоставление вычислительных мощностей и дискового пространства
    "платформы ресурсов" с помощью "сетевого облака". Свежий пример
    реализации такого подхода — Google App Engine, средство для
    разработчиков, позволяющее создавать масштабируемые web-приложения и
    запускать их в рамках инфраструктуры Google (вместе с этим средством
    разработчик получает доступ к защищенным от сбоев системам хранения
    емкостью 500 мегабайт, а также к необходимой полосе пропускания и
    процессорным ресурсам, обеспечивающим возможность пяти миллионов
    просмотров web-страницы в месяц).
  • Инфраструктура как услуга (Infrastructure as a service, IaaS)
    предоставление виртуальной компьютерной инфраструктуры как услуги.
    Вместо приобретения серверов, программного обеспечения, ресурсов ЦОД,
    сетевого оборудования и найма специалистов для эксплуатации этих систем
    заказчик может приобрести эти ресурсы как управляемую услугу на правах
    аутсорсинга и осуществлять доступ к ним через "сетевое облако".

1

Рисунок 1. Услуги CloudComputing.

Такие компании, как Google и Amazon, уже сегодня предлагают услуги
"cloud computing" (услуга Google App Engine и услуги Amazon Elastic
Compute Cloud 2 — EC2 и Elastic Block Store — EBS). За этими услугами
стоят центры обработки данных (ЦОД), обеспечивающие создание
необходимой инфраструктуры и поддерживающие ключевые технологии
виртуализации и совместного использования ресурсов (multi-tenancy),
которые делают систему "cloud computing" более эффективной и
экономичной как для операторов, так и для пользователей.

  • Виртуализация дает возможность
    предоставлять доступ к сетевым ресурсам как к виртуальным сегментам.
    Это значит, что устройства или их компоненты (например, системы
    хранения) предоставляются по запросу, независимо от своего физического
    местоположения и способа физического подключения к сети.
  • Принцип multitenancy архитектурный
    принцип, поддерживающий совместное использование ресурсов (программного
    обеспечения, вычислительных мощностей и систем хранения) и совместную
    оплату этих ресурсов большими группами пользователей. Виртуальное
    разделение ресурсов позволяет предприятиям формировать безопасные
    частные сетевые домены, предоставляющие закрытую информацию и услуги
    одному или нескольким отделам. Таким образом, работая в общем "сетевом
    облаке", каждый заказчик может обеспечить полную защиту своей
    конфиденциальной информации и услуг.

Преимущества Cloud Computing

Растущая популярность концепции сетевых вычислений объясняется
сочетанием ряда технологий и экономических факторов. "Сетевые облака"
привлекают внимание специалистов, поскольку могут стать новой
революционной технологией, которая полностью изменит бизнес-модели
операторов связи.

К числу преимуществ концепции сетевых вычислений для операторов связи можно отнести то, что:

  • развитие приложений и программных средств промежуточного
    уровня (middleware) привело к возможности использования виртуальных
    ресурсаов.
  • Снижение стоимости и повышение
    масштабируемости вычислительных ресурсов позволяет создавать мощные
    виртуальные машины, освобождающие заказчиков от необходимости покупать
    и поддерживать аппаратные средства. Вместо этого заказчики могут
    пользоваться виртуальными машинами, работающими в "сетевом облаке"
    оператора. При этом заказчик может запускать множество экземпляров
    своих виртуальных машин на разных физических аппаратных средствах,
    расположенных в сети оператора связи. Кроме того, оператор может
    масштабировать существующие виртуальные машины, добавляя к ним новые
    процессоры.
  • Услуги, доступ к которым предоставляется
    через "сетевое облако", обладают большим набором конкурентных
    преимуществ по сравнению с другими типами управляемых услуг.
  • Cloud
    computing создает платформу для стандартных управляемых услуг, которые
    могут предлагаться на нишевых вертикальных рынках, включая рынок малых
    предприятий.

Среди преимуществ cloud computing для заказчиков можно выделить:

  • возможность снижения накладных расходов, связанных с
    поддержкой аппаратных и программных компонентов (зависит от типа
    предлагаемых услуг).
  • Снижение совокупной стоимости владения
    (TCO) в случае оплаты по факту использования дает возможность заказчику
    начинать работу с системой с небольших объемов и увеличивать объем
    используемых ресурсов по мере необходимости. Такой подход позволяет
    предотвратить крупные капитальные расходы на начальном этапе проекта.
  • Быстрое и простое приобретение новых услуг и ускорение процессов выхода на рынок.

Стандарты, ПО промежуточного уровня, возможности взаимодействия и инструментальные средства

Несмотря на колоссальный интерес к концепции "cloud computing" и
связанным с ней услугами, в отрасли существуют опасения по поводу
отсутствия в этой области общепринятых стандартов и методов обеспечения
гарантированного качества обслуживания. Опрос 244 ИТ-руководителей,
проведенный аналитической компанией IDC в 2008 г., показал, что
подавляющее большинство (75%) считают безопасность важной проблемой для
cloud computing. Второе и третье место в ряду проблем заняли
производительность и доступность, отмеченные 63% респондентов.

Перед тем, как заказчик сможет без всяких опасений перейти к
использованию технологии cloud computing, необходимо определить
стандарты безопасности, переноса приложений между "облачными"
платформами, соглашений об уровне обслуживания (SLA) и решить некоторые
другие вопросы. Перечисленные стандарты позволят заказчикам
использовать любые необходимые им сочетания приложений, платформ и
ресурсов.

Вот основные области концепции cloud computing, которые нуждаются в стандартизации:

  • программное обеспечение промежуточного уровня
    (cloud middleware или Cloud OS) — базовая система для управления
    услугами (см. рисунок 2). Примерами такого программного обеспечения
    можно назвать Google App Engine и Amazon EC2/S3. Это ПО должно
    позволять пользователям размещать запросы на создание экземпляров
    "облачных систем" (cloud instances), получать доступ к ресурсам и
    управлять их жизненным циклом.
  • Интерфейсы API для
    приложений, предоставляющие доступ к таким ресурсам, как вычислительные
    мощности, средства хранения и системы управления образами машин. Эти
    интерфейсы необходимы для работы приложений в "сетевых облаках". В
    настоящее время большинство поставщиков предлагает собственные
    несовместимые интерфейсы API, не позволяющие совместно использовать
    ресурсы разных сетей. До сих пор многие сетевые разработчики
    ограничивают свою роль в этой области примитивными функциями базового
    уровня. Рынок же требует более тесной интеграции сетевых инфраструктур
    с помощью интерфейсов API.
  • Управление ресурсами
    важнейшая область, требующая развития архитектур cloud computing.
    Обычно сетевые ресурсы предоставляются пользователю статическим
    образом, тогда как в среде cloud computing вычислительные мощности,
    средства хранения и приложения должны предоставляться динамически, по
    запросу. Кроме того, сетевые ресурсы должны предоставляться отдельно и
    независимо от прикладных ресурсов. В типовой корпоративной ИТ-среде
    существует множество административных доменов, изолированных друг от
    друга и работающих совершенно независимо. Но в среде cloud computing,
    где виртуальные системы (cloud instances) создаются по запросу,
    динамически, в минимальные сроки и так же быстро расформировываются,
    административные барьеры становятся большой проблемой, которая резко
    замедляет выделение ресурсов. Процессы или потоки управления ресурсами
    в среде cloud computing должны стать полностью автоматическими и
    независимыми от административных границ, чтобы максимально ускорить
    процессы выделения и освобождения ресурсов.
  • Технология виртуализации используется
    на рынке уже несколько лет и быстро распространяется в центрах
    обработки данных и у операторов связи. При этом существует несколько
    несовместимых между собой технологий виртуализации. Отсутствие общих
    стандартов затрудняет создание общедоступной среды cloud computing,
    совместимой с другими "сетевыми облаками" и широким спектром
    вычислительных и информационных ресурсов.
  • Взаимодействие между "сетевыми облаками" требует
    стандартного уровня управления, обеспечивающего взаимодействие сетей и
    совместное использование вычислительных и коммуникационных ресурсов,
    принадлежащих разным владельцам. Примером такого подхода может служить
    уровень управления, встроенный в программное обеспечение промежуточного
    уровня (cloud middleware) или в расширение протокола BGP (Border
    Gateway Protocol). Использование таких протоколов, как ХМРР (Extensible
    Messaging and Presence Protocol), в качестве стандартного интерфейса
    между сетями разных операторов позволит разным "сетевым облакам"
    использовать единые функции присваивания имен и контроля доступности, а
    также единые правила пользовательского доступа, что, в свою очередь,
    будет способствовать созданию совместимых услуг. К примеру, "облако 1"
    может узнать, что в "облаке 2" можно получить доступ к ряду услуг
    (например, к протоколу SPARQL, языку запросов RDF и сервису OWL), если
    пользователь соблюдает определенные требования. Получив ответ от
    второго облака, "облако 1" проверяет, удовлетворяет ли пользователь
    данным требованиям, и определяет, как переключить этого пользователя на
    "облако 2". Кроме того, "облако 1" будет знать, как запрашивать,
    активировать и вызывать пользовательские услуги в "облаке 2" и как
    передавать этому "облаку" пользовательские требования (тарифы и условия
    SLA). Таким образом, мобильный пользователь, получающий электронную
    почту через сервер Microsoft Exchange, может переключиться на "облако
    2" без перерыва в обслуживании и с сохранением первоначальных условий
    контракта с оператором.
  • Динамическое управление политиками на разных уровнях необходимо
    приложениям, работающим в "сетевом облаке", так же как приложениям,
    работающим в корпоративной среде. Когда пользователь с помощью услуги
    cloud computing создает экземпляр "облака" (cloud instance), он должен
    определить правила высокого уровня (политики) для всех ресурсов,
    входящих в состав этого экземпляра. Правила управления сетевыми
    ресурсами должны быть согласованы с правилами, разработанными для
    приложений.

2

Рисунок 2. Пример архитектуры CloudMiddleware.

На рисунке 3 показана упрощенная схема архитектуры cloud computing. На ней отражены следующие базовые потоки информации:

  • Клиент передает запрос на доступ к услуге.
  • Система управления находит нужные ресурсы.
  • Система выделения ресурсов находит нужные ресурсы.
  • После выделения необходимых вычислительных ресурсов обрабатывается запрос на доступ к услуге.
  • Результаты передаются клиентам.

3


Рисунок 3. Схема функционирования CloudComputing.

Точка зрения конечного пользователя

В феврале 2009 года на кафедре электротехники и компьютерных
вычислений университета Беркли (США, Калифорния) была опубликована
работа "Выше облаков: взгляд университета Беркли на Cloud Computing" (AbovetheClouds: ABerkeleyViewofCloudComputing
— см. ссылку в конце данной статьи), в которой технология cloud
computing рассматривается с точки зрения конечного пользователя. В этой
работе отмечены три важных фактора, которые оказывают влияние на
пользователей:

  • иллюзия бесконечности вычислительных ресурсов, доступных по
    запросу, избавляющая пользователя от необходимости заранее планировать
    и заказывать нужные ресурсы;
  • отсутствие больших расходов
    и обязательств на начальных этапах проекта. В самом начале проект может
    быть небольшим, а затем, по мере своего развития, он может
    масштабироваться и, в случае необходимости, привлекать все больше
    ресурсов через cloud computing;
  • оплата за фактическое
    пользование услугами (pay-as-you-go) позволяет заказчикам покупать
    только то, что действительно необходимо в краткосрочной или
    долгосрочной перспективе.

В работе говорится о том, что компании, решающие большие
вычислительные задачи, могут получить результаты намного быстрее и
экономичнее, если будут привлекать широкие ресурсы поставщиков
управляемых услуг cloud computing лишь на короткие отрезки времени. Тот
факт, что cloud computing подразумевает работу по запросу, выгоден
компаниям, поскольку позволяет быстро реагировать на меняющиеся условия
и возможности рынка. Экономичность технологии cloud computing
доказывается еще и тем, что с ее помощью крупные центры обработки
данных могут сокращать свои расходы на электроснабжение, сетевую полосу
пропускания, текущие операции, программное обеспечение и аппаратные
системы. По некоторым подсчетам, с помощью cloud computing эти расходы
могут сократиться в пять раз. Сэкономленные средства могут делиться
между оператором и заказчиками, в том числе в интересах охраны
окружающей среды.

В указанной работе также перечисляются типы приложений, которые лучше других подходят для работы в среде cloud computing:

  • мобильные интерактивные приложения, реагирующие
    на информацию, поступающую от пользователей или сенсоров, в режиме
    реального времени, а также приложения, которые должны быть постоянно
    доступны и используют большие массивы данных, которые удобно хранить в
    больших ЦОД. Хорошим примером интерактивных приложений могут служить
    услуги, сочетающие два или более источника данных и других услуг. Среда
    cloud computing предоставляет таÐ