Введение в облачные вычисления
Облачные вычисления (от англ. cloud computing ) - технология обработки данных, основанная на том, что компьютерные ресурсы и вычислительные мощности предоставляются пользователю как Интернет-сервис. При этом пользователь может иметь доступ к собственным данным, но не имеет возможности управлять (и не должен это делать) инфраструктурой, операционной системой и другим программным обеспечением, которые фактически и обеспечивают его работу.
По-сути, термин "облако" употребляется в качестве метафоры, которая подразумевает сокрытие от конечного потребителя всех технических деталей процессов, поддерживающих его работу.
Парадигма облачной обработки данных предполагает, что вся необходимая информация постоянно хранится на удаленных серверах в сети Интернет и лишь временно кэшируется на клиентской стороне. Это могут быть персональные компьютеры, смартфоны, ноутбуки и т.д.
При этом пользователю такой системы предоставляются услуги, которые можно разделить на следующие виды:
- IaaS (Infrastructure-as-a-Service) - инфраструктура как сервис.
- PaaS (Platform-as-a-Service) - платформа как сервис.
- SaaS (Software-as-a-Service) - программное обеспечение как сервис.
Инфраструктура как сервис (IaaS)
IaaS - это предоставление компьютерной инфраструктуры (как правило в форме виртуализации) как услуги на основе концепции облачных вычислений. Целевая аудитория - разработчики ПО.
IaaS состоит из трех основных компонентов:
- Аппаратные средства (серверы, системы хранения данных, клиентские системы, сетевое оборудование)
- Операционные системы и системное ПО (средства виртуализации, автоматизации, основные средства управления ресурсами)
- Связующее ПО (например, для управления системами)
IaaS основана на технологии виртуализации, позволяющей пользователю оборудования делить его на части, которые соответствуют текущим потребностям бизнеса, тем самым увеличивая эффективность использования имеющихся вычислительных мощностей. Т.е. пользователь должен будет оплачивать всего лишь реально необходимые ему для работы серверное время, дисковое пространство, сетевую пропускную способность и другие ресурсы. Кроме того, IaaS предоставляет в распоряжение клиента весь набор функций управления в одной интегрированной платформе.
Таким образом, IaaS избавляет предприятия от необходимости поддержки сложных инфраструктур центров обработки данных, клиентских и сетевых инфраструктур, а также позволяет уменьшить связанные с этим капитальные затраты и текущие расходы. Кроме того, можно получить дополнительную экономию, при предоставлении услуги в рамках инфраструктуры совместного использования.
Платформа как сервис (PaaS)
PaaS - это предоставление интегрированной платформы для разработки, тестирования, развертывания и поддержки веб-приложений как услуги. Целевая аудитория - разработчики ПО.
Для разворачивания веб-приложений клиенту не нужно приобретать оборудование и программное обеспечение, нет необходимости организовывать их поддержку. Доступ для клиента может быть организован на условиях аренды.
Такой подход имеет следующие достоинства:
Масштабируемость PaaS предполагает автоматическое выделение и освобождение необходимых ресурсов в зависимости от количества обслуживаемых приложением пользователей.
PaaS как интегрированная платформа для разработки, тестирования, разворачивания и поддержки веб-приложений позволит весь перечень операций по разработке, тестированию и разворачиванию веб-приложений выполнять в одной интегрированной среде, исключая тем самым затраты на поддержку отдельных сред для отдельных этапов.
Способность создавать исходный код и предоставлять его в общий доступ внутри команды разработки значительно повышает производительность по созданию приложений на основе PaaS.
Программное обеспечение как сервис (SaaS)
SaaS - модель продажи программного обеспечения, при которой поставщик разрабатывает веб-приложение и самостоятельно управляет им, предоставляя заказчикам доступ к программному обеспечению через Интернет. В данном случае, основное преимущество модели SaaS для клиента состоит в отсутствии затрат, связанных с установкой, обновлением и поддержкой работоспособности оборудования и программного обеспечения, работающего на нём. Целевая аудитория - конечные потребители.
- приложение приспособлено для удаленного использования;
- одним приложением могут пользоваться несколько клиентов;
- оплата за услугу взимается либо как ежемесячная абонентская плата, либо на основе суммарного объема транзакций;
- поддержка приложения входит уже в состав оплаты;
- модернизация приложения может производиться обслуживающим персоналом плавно и прозрачно для клиентов.
С точки зрения разработчиков проприетарного программного обеспечения, модель SaaS позволит эффективно бороться с нелицензионным использованием программного обеспечения, благодаря тому, что клиент не может хранить, копировать и устанавливать программное обеспечение.
По-сути, программное обеспечение в рамках SaaS можно рассматривать в качестве более удобной и выгодной альтернативы внутренним информационным системам.
Развитием логики SaaS является концепция WaaS (Workplace as a Service - рабочее место как услуга). То есть клиент получает в свое распоряжение полностью оснащенное всем необходимым для работы ПО виртуальное рабочее место.
Критики концепции облачных вычислений указывают на следующие проблемы:
-
многие заказчики опасаются применять SaaS из-за соображений безопасности и возможной утечки информации со стороны поставщика этих услуг.
проблемы с безопасностью практически исключают использование концепции SaaS для критически важных систем, в которых обрабатывается строго конфиденциальная информация.
- что из-за значительного притока пользователей сервисов, использующих облачные вычисления растёт стоимость ошибок и утечек информации с подобных ресурсов.
- высокая стоимость входа на рынок; чтобы предоставить конкурентную стоимость клиенту, разработчику требуется обеспечить "эффект масштаба", т.е. иметь уже достаточный круг заказчиков.
- ограничивающим фактором является необходимость наличия постоянно действующего подключения к Интернет на высокой скорости.
В качестве наиболее известных примеров систем, основанных на облачных вычислениях, можно привести:
- приложение Google Apps (которое обеспечивает приложения для бизнеса в режиме онлайн, при этом доступ к нему происходит с помощью веб-браузера, в то время как ПО и данные хранятся на серверах Google ).
- операционную систему Google Chrome OS, которая целиком основана на облачных вычислениях.
Windows Azure
Windows Azure - новая серверная операционная система, представляющая собой платформу для создания облачных веб-приложений.
Windows Azure значительно упрощает построение веб-сервисов с использованием технологии .NET, избавляя разработчика от работы по настройке сервисов совместного доступа к файлам или масштабированию проекта. Система на данный момент работает на серверах Microsoft. Используя Windows Azure, можно создавать приложения посредством Microsoft .NET Framework и Visual Studio, а также иных инструментов.
Операционная система Windows Azure входит в состав платформы Azure Services Platform, в которой изначально присутствует поддержка Windows .NET Framework и Visual Studio. В дополнение к этому, Windows Azure должна поддерживать популярные стандарты и протоколы, включая SOAP, REST и XML.
В платформу Azure Services Platform входят пять основных подсистем:
- ОС Windows Azure, управляющая дисковым пространством, приложениями и сетями.
- Microsoft SQL Services для хранения данных и их обработки.
- Microsoft .NET Services, контролирующие работу приложений и поддерживающие расширения .NET.
- Live Services для синхронизации, обмена и хранения различных документов, фото и видео.
- Отдельно для бизнес-пользователей Microsoft поставит доступ к сервисам Microsoft SharePoint Services и Microsoft Dynamics CRM Services, предназначенных для совместной работы над проектами и управления взаимоотношениями с клиентами.
Платформа Windows Azure включает в себя 3 основные компоненты Compute (вычислитель), Storage (хранилище) и Fabric ("ткань").
Компонента Compute предоставляет среду для вычислений с поддержкой ролей Web Role и Worker Role. Задачей компоненты Storage является обеспечение масштабирумых хранилищ ( Blob -ы, таблицы, очереди) для задач, имеющих высокие показатели масштабирования.
Среда хостинга для Windows Azure получила название Fabric Controller, и, по-сути, объединяет индивидуальные системы в единую сеть, автоматически управляющую ресурсами, балансирующую нагрузку, выполняющую гео-репликацию, управляющую жизненным циклом приложений, - и все это без необходимости специального размещения приложений, решающих подобные задачи.
Новая платформа облачных вычислений Microsoft является открытой, поэтому поддерживает сторонние языки, такие как Eclipse, Ruby, PHP и Python.
Для новой системы компанией Microsoft открыт специализированный сайт, доступный по адресу http://www.azure.com