Облачные вычисления

Отличительным признаком любого "модного" слова, которое у всех на слуху, является то, что оно может передавать не реальное понимание его точного значения, а лишь видимость этого понимания. Термин "облако" (cloud) является как раз таким словом — многие люди просто произносят его, не понимая его истинного смысла.

Оно используется в самых разных, не согласующихся между собой контекстах, и часто им обозначают совершенно разные вещи и понятия. В одном из обсуждений люди могут говорить о Google Gmail; в другом — о Web-сервисе Amazon Elastic Compute Cloud (Amazon EC2) — но здесь, по крайней мере, термин "облако" все же присутствует в названии сервиса.

С другой стороны, термин "облачные вычисления" (cloud computing) является "модным словечком" ничуть не более, чем им является термин Web. Облачные вычисления представляют собой результат эволюции множества различных технологий, которые в комбинации изменили организационный подход к построению информационной инфраструктуры предприятия. Как и в случае с Web (а это произошло чуть более десятилетия тому назад), в облачных вычислениях нет абсолютно ничего фундаментально нового. Многие из технологий, вошедших  в  состав Web, существовали десятилетиями до появления компании Netscape Communications, которая объединила их и сделала универсально доступными. По аналогии с этим событием, большинство технологий, которые в совокупности и формируют облачные вычисления, существовали уже в течение десятков лет. Чтобы появился термин "облачные вычисления", потребовалось, чтобы компания Amazon объединила их и сделала их комбинацию массово доступной.

Цель данной книги заключается в том, чтобы дать возможность разработчикам Web-приложений на базе транзакций использовать облачную инфраструктуру в качестве средства для развертывания их приложений. Поэтому в книге основное внимание уделяется таким облакам, как Amazon EC2, и в меньшей степени — другим, таким как Google Gmail. Тем не менее, обсуждение мы начнем с описания общей инфраструктуры для облачных вычислений.

Облако

Облако — это не просто новейший модный термин, применяющийся для описания интернет-технологий удаленного хранения данных. Хотя Интернет представляет собой основной фундамент, необходимый для облака, облако — это нечто большее, чем просто Интернет. Облако — это то, куда вы обращаетесь, когда вам требуется использовать ту или иную технологию, и пользуетесь ею до тех пор, пока она вам нужна, и ни минутой дольше. Для этого вам не требуется ничего устанавливать на вашем компьютере и вы не платите за технологию, когда вы не пользуетесь ею.

Облако может означать как программное обеспечение, так и инфраструктуру. Оно может быть приложением, доступ к которому предоставляется через Web, или сервером, к которому вы обращаетесь в точности тогда, когда вам это требуется. Вне зависимости от того, является ли сервис программным или аппаратным, вам нужен критерий, позволяющий определить, является ли этот  сервис  облачным. Этот критерий формулируется так:

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

Я сформулировал три условия, по которым в дальнейшем обсуждении мы будем определять, является ли тот или иной сервис облачным:

± сервис доступен через Web-браузер (непатентованный и не являющийся собственностью той или иной фирмы) или при помощи специального интерфейса прикладного программирования (API) для доступа к Web-сервисам;

± чтобы начать пользоваться сервисом не требуется никаких затрат капитала;

± вы платите только за то, чем вы пользуетесь, и оплачиваете только то время, в течение которого вы этим пользуетесь.

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

Если вам не нравится мое сжатое и концентрированное определение облачных сервисов, вы можете обратиться к определению, которое Джеймс Гавернор (James Governor) дал в своем блоге: запись называется "15 Ways to Tell It’s Not Cloud Computing", а найти ее можно по следующему адресу: http://www.redmonk.com/ jgovernor/2008/03/13/15-ways-to-tell-its-not-cloud-computing.

Программное обеспечение

Как я уже упоминал ранее, облачные сервисы подразделяются на программные сервисы и сервисы инфраструктуры. С точки зрения зрелости технологии, про-

граммное обеспечение в облаке развито значительно лучше, чем аппаратная составляющая.

Программное обеспечение как услуга (Software as a Service, SaaS), в сущности, представляет собой термин, призванный обозначать программную составляющую в облаке. Большинство систем SaaS, хотя и не все, являются облачными системами.

SaaS представляет собой модель развертывания ПО на основе Web, благодаря которой программное обеспечение оказывается полностью доступным через Web- браузер. Для пользователей систем SaaS не имеет значения, где установлено программное обеспечение, какую операционную систему оно использует и на каком языке оно написано — PHP, Java или .NET. И, самое главное — вам самим нет необходимости устанавливать что-либо и где-либо.

Например, Gmail представляет собой не что иное, как программу электронной почты, доступную через браузер. Она предоставляет все те же функциональные возможности, что и Apple Mail или Outlook, но при этом для пользования ею не нужен так называемый "толстый" клиент1. Даже если ваш домен не получает почту через Gmail, вы все равно можете пользоваться Gmail для доступа к вашей почте.

SalesForce.com — это еще один вариант SaaS. SalesForce.com представляет собой систему управления отношениями с клиентами (CRM), предназначенную для крупного предприятия. Она предназначена для специалистов из отделов продаж и позволяет им отслеживать потенциальных заказчиков и менеджеров по закупкам, определять их место в организации процесса продаж, управлять всем процессом заключения сделки — от первого контакта до заключения договора и проведения расчета, и т. д. Как и в случае с Gmail, вам не требуется устанавливать никакое дополнительное программное обеспечение для получения доступа к SalesForce.com: достаточно только ввести адрес SalesForce.com в браузере, завести учетную запись, и можно приступать к работе.

Системы SaaS обладают некоторыми определяющими характеристиками, в том числе:

± Доступность через Web-браузер. Программное обеспечение типа SaaS никогда не требует установки каких-либо дополнительных программ на ваш ноутбук или настольный компьютер. Доступ к системам SaaS осуществляется через Web-браузер с использованием открытых стандартов или универсальный плагин браузера. Облачные вычисления и патентованное ПО, являющееся собственностью какой-либо компании, просто не сочетаются между собой.

± Доступность по требованию. Чтобы получить доступ к системе SaaS, вам не требуется полностью проходить процесс сделки в классическом понимании этого слова. Как только вы заведете учетную запись, вы сможете получать дос-

1 "Толстый" клиент (fat client, thick client, иногда rich client) — в архитектуре "клиент-сервер" представляет собой приложение, предоставляющее (в противовес "тонкому" клиенту) расширенные функциональные возможности, вне зависимости от центрального сервера. При таком подходе сервер выполняет роль хранилища данных, а вся работа по обработке и представлению этих данных переносится на клиентский компьютер. — Прим. перев.

туп к нужному вам программному обеспечению в любой момент и из любой географической точки.

± Условия оплаты зависят от использования. SaaS не требует никаких вложений в инфраструктуру или какой-то особой настройки, поэтому вам не потребуется начинать работу с серьезных капиталовложений. Платить вы будете только за те виды сервиса, которыми вы пользуетесь, и только за фактическое время использования. Если сервис вам больше не нужен, вы просто прекращаете за него платить.

± Минимальные требования к инфраструктуре IT. Если вам не требуется покупать никаких серверов и нет необходимости строить сеть, то зачем вам вообще нужна какая-то инфраструктура IT? Хотя для конфигурирования систем SaaS и может иногда требоваться некоторый минимальный уровень технических знаний (например, для управления DNS в Google Apps), но этот уровень не выходит за рамки, характерные для обычного опытного пользователя. Высококвалифицированный IT-администратор для этого не требуется.

Одной из особенностей некоторых развернутых систем SaaS, которую я нарочно пока пропустил, является так называемая "многоарендная архитектура" (multi- tenancy)1. Многие поставщики SaaS хвастаются тем, что их системы предоставляют "многоарендные услуги", а некоторые даже утверждают, что "многоарендная" архитектура является основным требованием к системе SaaS.

Многоарендное приложение представляет собой программу-сервер, которая поддерживает развертывание множества клиентов, одновременно пользующихся одним и тем же экземпляром программы-сервера. Эта модель предлагает поставщику SaaS очевидные преимущества в том, что позволяет обеспечить для конечных пользователей следующие возможности:

± поддержку большего количества клиентов на меньшем количестве аппаратных компонентов;

± ускоренную и упрощенную процедуру развертывания обновлений для приложений и обновления для системы безопасности;

± в целом более надежную архитектуру.

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

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

Как будет показано в следующем разделе, технологии виртуализации в принципе делают архитектурные преимущества многоарендности неактуальными.

Аппаратные средства

В общем случае, большинству людей концептуально гораздо сложнее понять и принять аппаратные средства в облаке, нежели программное обеспечение в облаке. Аппаратные средства — это нечто материальное, что вы можете потрогать: это ваша собственность, и вы не сдаете ее напрокат. Если ваш сервер пострадает в результате пожара — это бедствие касается только вас. Многим людям тяжело смириться с тем, что их аппаратные средства принадлежат не только им, и отказаться от возможности увидеть и физически потрогать свое собственное оборудование.

Если аппаратные средства находятся в облаке, вы запрашиваете новый "сервер" по мере необходимости. Обычно он будет вам доступен менее, чем через 10 минут. Когда вы заканчиваете с ним работать, вы освобождаете ресурс, и он возвращается в облако. При этом вы не имеете ни малейшего представления, какой физический сервер предоставляет вам облачный сервис, и, скорее всего, вы не знаете даже его конкретного физического местоположения.

БАРЬЕР СТАРЫХ ОЖИДАНИЙ

Для меня, как для поставщика облачных сервисов, труднее всего ответить на вопрос: "Так где же находятся наши серверы?. Фактически честный ответ на этот вопрос будет таким: "Я не знаю — может быть, где-нибудь на восточном побережье США или гденибудь в Западной Европе", но многие клиенты, получив такой ответ, почувствуют себя крайне неуютно. Однако это отсутствие информации о физическом местоположении ваших серверов позволяет почувствовать интересное ощущение физической безопасности, поскольку для мотивированных злоумышленников это делает почти невозможной физическую атаку на ваше оборудование с целью его компрометации.

Источник: Риз Дж., Облачные вычисления: Пер. с англ. — СПб.: БХВ-Петербург, 2011. — 288 с.: ил.

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете промотать до конца и оставить ответ. Pinging в настоящее время не допускается.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100