Лекция 4. Веб-службы в Облаке.
Краткая аннотация лекции:
Рассмотрим некоторые из веб-служб, предоставляемые концепцией облачных вычислений. Инфраструктура является услугой в концепции облачных вычислений. Есть много разновидностей управления инфраструктурой в облачной окружающей среде. «Инфраструктура как Сервис» (Infrastructure-as-a-Service, IaaS) в основном предоставляется по запросу на базе современных вычислительных технологий и высокоскоростных сетей. «Коммуникаций как Сервис» (Communication-as-a-Service, CaaS). «Программное обеспечение как Сервис» (Software-as-a-Service, SaaS), такие как Amazon.com с их эластичной платформой облака, характеристики, преимущества, и архитектурный уровень обслуживания. Исследуем ключевые особенности использования внешних источников/ресурсов (outsourcing), доступные как "Платформы как Сервис" (Platforms-as-a-Service, PaaS).
Поскольку технологии мигрируют от традиционной локальной модели в новую модель облака, сервисные предложения развиваются практически ежедневно. Предложения веб-служб часто имеют много общих характеристик. Часто от клиента требуются лишь минимальные затраты для получения услуги. Масштабируемость предполагается для каждого из типов предложений, но это невсегда необходимо. Многие из «облачных» вендоров еще работают над использованием масштабируемости, потому что их пользователи пока не нуждаются в данном виде услуг. Наконец, устройство и независимость местоположения позволяет пользователям получить доступ к системам независимо от того, где они находятся или какие устройства используют.
Цель лекции:
Целью данной лекции является обзор веб-служб, предоставляемые концепцией облачных вычислений. Особое внимание уделяется типу «Инфраструктура как Сервис».
|
Текст лекции:
Инфраструктура как Сервис (IaaS)
Инфраструктура как Сервис (Infrastructure-as-a-Service, IaaS) - предоставление компьютерной инфраструктуры (как правило, это платформы виртуализации) как сервиса. IaaS существено усиливает технологию, услуги и вложения в центры обработки данных, чтобы предоставить это как услугу клиентам. В отличие от традиционного аутсорсинга, который требует должного усердия, бесконечных переговоров и сложных, длинных контрактов, IaaS сосредоточенна вокруг модели предоставления услуг, которая обеспечивает предопределенную, стандартизированную инфраструктуру, определенно оптимизированную под потребности клиента. Упрощенные предложения работы и выбор уровня сервисного обслуживания облегчает клиенту выбор решения с определенным набором основных эксплуатационных характеристик. Как правило, поставщики предоставляют компоненты следующих уровней:
· Аппаратное обеспечение (как правило, Грид с массивной горизонтальной масштабируемостью);
· Компьютерная сеть (включая маршрутизаторы, брандмауэры, балансировку нагрузки и т.д.);
· Подключение Интернет;
· Платформа виртуализации для того, чтобы запускать виртуальные машины;
· Соглашения сервисного обслуживания;
· Инструменты учета вычислений.
Вместо покупки пространства в центрах обработки данных, серверов, программного обеспечения, сетевого оборудования, и т.д., клиенты IaaS по существу арендуют, которые находятся на стороне обслуживающих поставщиков услуг IaaS. Оплата за предоставление услуг обычно производится ежемесячно. Клиент платит только за потребленные ресурсы. Основные преимущества данного типа услуг включает:
|
· Свободный доступ к предварительно сконфигурированной окружающей среде;
· Использование инфраструктуру последнего поколения;
· Защищенные и изолированные вычислительные платформы;
· Уменьшение риска, используя сторонние ресурсы, поддерживаемые третьими лицами;
· Способность управлять пиковыми нагрузками;
· Более низкие затраты;
· Меньшее время, стоимость и сложность при добавлении или расширении функциональности.
Вычисления по требованию приобретают все большую популярность среди предприятий. Вычислительные ресурсы, которые обслуживают пользовательские веб сайты, становятся все меньше и меньше, в то время, как доступные ресурсы поставщиков услуг постоянно возрастают. Модель по требованию развилась, чтобы преодолеть проблему того, как эффективно удовлетворить колеблющимся требованиям системы к ресурсам. Спрос на вычислительные ресурсы может существенно меняться за достаточно короткие промежутки времени, и поддержка ресурсов достаточных, чтобы удовлетворить пиковым требованиям может быть дорогостоящей. Технически переусложненное решение может быть столь же неблагоприятной, как ситуация, когда предприятие сокращает издержки, поддерживая только минимальные вычислительные ресурсы. Такие понятия как кластерные вычисления, Грид вычисления и т.д., могут казаться очень подобными понятию вычислений по требованию, но лучше их понять можно, если думать о них, как стандартных блоках, которые развивались в течение долгого времени, чтобы достигнуть современной модели облачных вычислений, которую мы используем сегодня.
|
Рисунок 4.1 Грид вычисления
Amazon
Рассмотрим один из примеров – Amazon’s Elastic Compute Cloud (Amazon EC2). Amazon EC2 – веб-служба, которая обеспечивает вычислительные мощности порядочного размера в облаке. Это разработано, чтобы сделать веб-вычисления доступнее для разработчиков и чтобы предложить множество преимуществ для клиентов:
· Интерфейс веб-службы, позволяет клиентам получать и формировать пространство с минимальным усилием;
· Предоставляет пользователям полный контроль над их (арендованными) вычислительными ресурсами и позволяют им работать в проверенной вычислительной окружающей среде;
· Уменьшает время, требуемое для получения и загрузки нового сервера до минут, разрешая клиентам быстро изменять конфигурацию, согласно их вычислительным требованиям;
· Изменяет экономику вычислений, позволяя клиентам платить только за используемые ресурсы;
· Предоставляет разработчикам инструменты, которых необходимы для построения отказоустойчивых приложений и изолирования себя от общих сценариев отказа.
Amazon EC2 представляет вычислительную окружающую среду, разрешая клиентам использовать веб интерфейс, для получения и управления услугами, необходимыми для запуска одного или более экземпляров операционной системы. Клиенты может загрузить окружающую среду с их настроенными приложениями. Они могут управлять сетевыми правами доступа и так много систем, сколько им нужно. Для использования Amazon EC2, клиентам сначала необходимо создатьAmazon Machine Image (AMI).Этот образ содержит приложения, библиотеки, данные и связанные параметры конфигурации, используемые в виртуальной вычислительной среде. Amazon EC2 предлагает использование предварительно сконфигурированные образы, созданные с шаблонами, необходимыми для немедленного запуска. Кода пользователи определили и формировали их AMI, они используют инструменты Amazon EC2 для загрузки образа в Amazon S3. Amazon S3 – склад, который обеспечивает безопасный, надежный и быстрый доступ к клиенту AMI. Прежде, чем клиенты смогут использовать AMI, они должны использовать веб интерфейс Amazon EC2 для настройки безопасности и сетевой доступ.
Во время конфигурации пользователи выбирают, какой тип категории и какую операционную систему они хотят использовать. Доступные типы категорий составляют две различные категории:Стандартный процессор или High-CPU процессор. Большинству приложений лучше всего удовлетворяет Стандартный случай, в который входят маленький, большой и очень большой экземпляры платформы. В случае High-CPU используется пропорционально больше ресурсов центрального процессора, чем памяти произвольного доступа (RAM), что более подходит высоконагруженным приложениям. В случае High-CPU процессора для выбора есть средняя и очень большая платформы. После определения, какую сущность использовать, клиенты могут запустить, завершить, и контролировать так много экземпляров их AMI, сколько необходимо при использовании интерфейсов прикладного программирования веб-службы (API) или большое разнообразие других инструментов управления, которыми производится обслуживание.Пользователи могут выбрать, хотят ли они запускать приложения в разных центрах обработки данных, использовать статические IP адреса конечных точек, при этом они платят только за фактически потребляемые ресурсы. Пользователи также могут выбрать доступные AMI из библиотеки. Например, если необходим обычный Linux сервер, то клиентами может быть один из стандартных Linux сборок AMIs.
Есть довольно много особенностей сервиса EC2, которые обеспечивают существенные льготы для предприятия. Прежде всего, Amazon EC2 обеспечивает финансовую выгоду. Из-за крупного масштаба компании Amazon и большой клиентской базы, это недорогая альтернатива многим другим возможным решениям.Затраты понесенные на запуск и управление разделены между большим количеством клиентов, делая стоимость для любого клиента намного ниже, чем любая другая альтернатива. Клиенты платят очень низкий процент за вычислительные мощности, которые они фактически потребляют. Безопасность также обеспечена через интерфейсы веб-службы Amazon EC2. Эти интерфейсы позволяют пользователям формировать параметры настройки брандмауэра, которые контролируют сетевой доступ к и между группами экземпляров служб. Amazon EC2 предлагает очень надежную среду, где случаи замены могут быть быстро обеспечены.
· Динамическая Масштабируемость.
Amazon EC2 позволяет пользователям увеличивать или уменьшать производительность за несколько минут. Пользователи могут запускать единственный экземпляр, сотни экземпляров или даже тысячи экземпляров служб одновременно. Всем этим управляют с помощью API веб-службы, приложение может автоматически масштабировать себя вверх или вниз, в зависимости от его потребностей. Данный тип динамической масштабируемости очень привлекателен для клиентов предприятий, потому что это позволяет им соответствовать требованиям своих клиентов, не имея необходимость достраивать их инфраструктуру.
· Полный контроль над экземплярами.
У пользователей есть полный контроль над их экземплярами. У них есть полный доступ к каждому экземпляру, и они могут взаимодействовать с ними с любой машины. Экземпляры могут быть перезагружены, удаленно используя API веб-службы. Пользователи также имеют доступ к консоли своих экземпляров. Как только пользователи настроили их аккаунт и загрузили их AMI в сервис Amazon S3, им необходимо только запустить экземпляр. Возможно запустить AMI на любом числе экземпляров (или для любого типа), вызвав RunInstances API, который поддерживается Amazon.
· Гибкость конфигурации.
Параметры настройки конфигурации могут значительно различаться среди пользователей. У них есть выбор из разных типов экземпляров, операционных систем, и пакетов программного обеспечения. Amazon EC2 позволяет им выбирать конфигурацию памяти, центрального процессора, и системы хранения, которая оптимально подходит для их выбора операционной системы и приложения. Например, выбор пользователя операционной системы может также включать многочисленные сборки Linux, Microsoft Windows Server, и даже OpenSolaris, все запущенные на действительных серверах.
· Интеграция с Другими Веб-службами Amazon.
Amazon EC2 работает в соединении со множеством других веб-служб Amazon. Например, Amazon Simple Storage Service (Amazon S3), Amazon SimpleDB, Amazon Simple Queue Service (Amazon SQS) и Amazon CloudFront все интегрированы, чтобы обеспечить полное решение для вычислений, обработки запросов и хранение между широким диапазоном приложений.
Amazon S3 обеспечивает интерфейс веб-служб, который позволяет пользователям хранить и восстанавливать любой объем данных через Интернета в любое время, где угодно. Это предоставляет разработчикам прямой доступ к тому же самому, хорошо масштабируемому, надежному, быстрому, недорогому использованию инфраструктуры хранения данных Amazon, чтобы управлять их собственной глобальной сетью веб сайтов. Служба S3 стремится максимизировать преимущества масштабируемости и передать эти преимущества разработчикам.
Amazon SimpleDB - другой веб сервис, разработанный для того, чтобы выполнять запросы на структурированных данных Amazon Simple Storage Service (Amazon S3) в режиме реального времени.Этот сервис работает в соединении с Amazon EC2, чтобы предоставить пользователям возможность хранения, обработки и запросов наборов данных в пределах окружающей среды облака. Эти сервисы разработаны, чтобы сделать веб масштабируемые вычисления легче и более прибыльными для разработчиков. Традиционно данный тип функциональности был обеспечен использованием кластерной реляционной базы данных, которая требует значительных инвестиций. Внедрение данных технологий вызывало больше сложности и часто требовало услуг администрирования и поддержки базы данных.
В сравнении с традиционным подходом, Amazon SimpleDB легка в использовании и обеспечивает основную функциональность баз данных (например, поиск в реальном времени и запросы структурированных данных), не наследуя сложности эксплуатации, возникающие при традиционном выполнение. Amazon SimpleDB не требует схемы, данные индексируются автоматически, обеспечивает простой интерфейс API для хранения и доступа к данным. Это избавляет клиентов от необходимости выполнить задачи, такие как моделирование данных, обслуживание индексов и настройка производительности.
Amazon Simple Queue Service (Amazon SQS) – сервис принимает очереди сообщений для хранения. При использовании Amazon SQS, разработчики могут просто переместить данные, распределённые между компонентами своих приложений, которые выполняют различные задачи, не теряя при этом сообщения. При этом достигается высокая масштабируемость и надёжность. Amazon SQS работает как демонстрация масштабируемой передачи сообщений Amazon, инфраструктуры как сервиса. Любой компьютер, связанный с Интернетом, может добавить или прочитать сообщения без необходимости в установке какого-либо программного обеспечения или специальный конфигурации брандмауэра. Компоненты приложений, использующие Amazon SQS, могут запускаться независимо и не должны обязательно размещаться в той же самой сети, использующей те же самые технологии или работающие в то же самое время.
Amazon CloudFront – веб-сервис для доставки контента (содержания). Amazon CloudFront интегрируется с другими Amazon Web Services. Цель сервиса — дать разработчикам и предприятиям простой способ распространять контент для конечных пользователей с низкой задержкой, высокой скоростью передачи данных, при этом не требуя никаких обязательств. Запросы объектов автоматически маршрутизируются на самый близкий граничный сервер. Таким образом, содержание доставлено с лучшей возможной производительностью. Граничный сервер получает запрос от компьютера пользователя и соединяется с другим компьютером, вызывая оригинальный сервер, где расположено приложение. Когда оригинальный сервер выполняет запрос, он отправляет данные приложения назад на граничный сервер, который передает данные обратно компьютеру клиента, который выполнял запрос. Сервис не является свободным для пользования.