Модели облачных инфраструктур

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

Классифицировать эти сервисы было бы очень легко, если бы между ними существовали четкие различия. Но таких различий нет, и сервисы представляют собой, скорее, непрерывный спектр вариаций, плавно переходящих в друг друга — от управляемых сервисов (managed services) до таких разновидностей, как "Инфраструктура как сервис" (Infrastructure as a Service, IaaS) или "Платформа как сервис" (Platform as a Service, PaaS).

Платформа как сервис

Среды PaaS (Platform as a Service) предоставляют вам инфраструктуру, а также функционально полные среды обслуживания и разработки приложений для развертывания вашего Web-приложения. Вы программируете, используя платформу разработки приложений, предоставленную вам поставщиком, и предоставляете ему заботиться обо всех деталях развертывания готового приложения.

Наиболее широко используемым образцом PaaS является Google App Engine. Чтобы воспользоваться Google App Engine, вы пишете ваши приложения на Python, используя инфраструктуры разработки, предоставляемые Google, и инструменты, предназначенные для работы с файловой системой и хранилищами данных Google. Этот подход хорошо работает для приложений, которые необходимо быстро развертывать, и которые не предъявляют существенных требований к интеграции.

Отрицательной стороной подхода PaaS является его привязка к конкретному поставщику. Например, если вы работаете с Google, вы должны писать свои приложения на языке программирования Python, используя при этом специфический интерфейс прикладного программирования (API) от Google.

Python — это замечательный язык программирования! По правде сказать, это мой любимый язык — но он не является центральным в большинстве команд разработчиков, и не все его хорошо знают. Даже если у вас есть сотрудники, которые хорошо владеют Python, вам придется смириться с мыслью о том, что приложение Google App Engine, возможно, будет хорошо работать только в инфраструктуре Google.

Инфраструктура как сервис

Идея IaaS (Infrastructure as a Service) в данной книге является центральной темой. В ней приведено немало примеров, иллюстрирующих этот подход на примере одного из  ключевых  игроков  в  этой  области —  Amazon  Web  Services  (AWS). У AWS есть ряд конкурентов, которые предлагают иные подходы к решению проблемы IaaS. Эти альтернативные подходы позиционируются как имеющие ключевое значение для различных типов клиентов, использующих облачные инфраструктуры.

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

AppNexus — это другой подход к описываемой проблеме. Как и в случае с AWS, AppNexus позволяет получить доступ к серверам по мере необходимости ("по требованию"). Однако AppNexus предлагает выделенные серверы, с виртуализацией, реализованной "поверх". При этом вы можете быть уверены в том, что ваши приложения не конкурируют за ресурсы ни с какими другими приложениями, и что вы можете обеспечить выполнение любых требований, которые предписывают необходимость обладать полным контролем над физическими ресурсами сервера.

Гибридная обработка данных (Hybrid computing) использует  преимущества этих моделей, предлагая виртуализацию там, где это уместно, и выделенное оборудование там, где это требуется. Кроме того, большинство поставщиков гибридной модели обработки данных (например, Rackspace или GoGrid) основывают свои модели на той идее, что клиенты центров обработки данных в традиционном понимании этого термина хотят пользоваться услугами традиционного центра обработки данных — только в данном случае этот центр находится в облаке.

Как будет показано далее в этой книге, существует множество причин, по которым вам может не подойти решение, основанное на модели "чистой виртуализации":

± нормативные требования, которые предписывают, чтобы определенные функции работали только на выделенном оборудовании;

± требования по производительности — особенно в области ввода/вывода, которые не поддерживают часть ваших приложений;

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

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

Частные облачные вычислительные среды

Я не приверженец термина "частные облачные вычислительные среды" или "частные облака" (private clouds), но это — именно тот термин, который вы чаще всего будете слышать, когда речь зайдет о предоставлении виртуальных сред по требованию в центрах обработки данных с внутренним управлением. В частном облаке организация создает среду виртуализации на своих собственных серверах, которые расположены в центрах обработки данных, принадлежащих либо самой этой организации, либо сервис-провайдеру управляемых услуг. Эта структура полезна для компаний, которые либо сделали внушительные капиталовложения в развитие собственной IT-инфраструктуры, либо чувствуют, что им абсолютно необходимо иметь полный контроль над всеми аспектами их инфраструктуры.

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

Комбинация моделей

И наконец, не следует упускать из виду Microsoft Azure. Microsoft Azure1 сочетает все аспекты облачной обработки данных, от частных облаков до PaaS. При использовании Microsoft Azure вы пишете приложения, пользуясь технологиями

1 Microsoft Azure — технология, позволяющая объединить имеющиеся приложения в "вычислительное облако", повышая их производительность.

Подробнее о Microsoft Azure см. https://www.microsoft.com/windowsazure/products/, https://secure.wikimedia.org/wikipedia/en/wiki/Azure_Services_Platform, http://www.osp.ru/pcworld/2010/09/13004178/ Прим. перев.

Microsoft, и сначала можете развернуть их в частном облаке, а затем — перенести их в публичное облако. Как и в случае с Google App Engine, вы пишете приложения для патентованной инфраструктуры разработки приложений. В случае с Azure инфраструктура основана на более "вездесущей" платформе .NET и, таким образом, легче переносится из одной среды Microsoft в другую.

Источник: Риз Дж., Облачные вычисления: Пер. с англ. — СПб.: БХВ-Петербург, 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