Уже понятно: облачные модели использования ИТ — это всерьез и надолго. Эксперты уверены, что речь идет не о частном направлении ИТ-рынка или отдельной тенденции, а о наступлении новой глобальной фазы развития ИТ за всю их историю (первая — мэйнфреймы, вторая — серверы, третья — облака).
Конечно, идея использования ИТ-ресурсов как внешних сервисов не нова. В теоретическом плане она была выдвинута еще в начале 1960-х и с тех пор находила те или иные формы реализации на практике. Но сейчас на ИТ-рынке созрели все возможности (как в плане спроса, так и предложения) для перевода идеи облаков в плоскость широкой практической реализации. Принципиально новым моментом является то, что если раньше для работы в облачной модели использовались традиционные ИТ-средства, то теперь создаются специальные облачные решения, изначально ориентированные именно на облачный режим работы и потому обеспечивающие максимальный результат и высокий потенциал для развития в будущем.
Путь длиной в четыре года
Именно таким современным облачным решением является платформа Microsoft Windows Azure. О планах ее создания Microsoft объявила в октябре 2008 г., а уже в начале 2009-го платформа начала работать с режиме бета-тестирования. С тех пор она постоянно развивалась, пополняясь как инфраструктурными, так и прикладными возможностями. Принципиально важной вехой для Windows Azure можно считать июнь 2012 г. — вышла новая версия системы, которая одновременно стала доступной в полном объеме и для российских пользователей.
Windows Azure создавалась и поначалу развивалась как система, реализующая облачную схему PaaS (“платформа как сервис”). В отличие от схемы IaaS, фактически предоставляющей заказчику лишь возможность аренды виртуализированной инфраструктуры, PaaS включает также полный набор средств разработки и исполнения прикладных решений (операционную среду, необходимые фреймворки, инфраструктурные и прикладные сервисы). Главным достоинством PaaS является то, что эта схема изначально ориентирована на реализацию достоинств облачного режима (высокие масштабируемость и эффективность использования вычислительных ресурсов и т. д.).
Вместе с тем в отличие от схемы PaaS, которая в основном используется для создания новых приложений, IaaS позволяет обеспечить эксплуатацию и унаследованных решений. Поэтому с учетом актуальности проблемы переноса в облако ранее созданных систем в рамках Windows Azure реализована и функциональность IaaS. Вариант “роль виртуальной машины” имелся и ранее, но с июня 2012 г. режим IaaS поддерживается фактически в полном объеме с возможностью использования внутри виртуальной ОС различных операционных систем, в том числе Linux.
В основе Windows Azure лежат во многом те же технологии, что и в серверной операционной системе Windows Server 2012, в том числе:
- Active Directory (аутентификация);
- Hyper-V (виртуализация);
- System Center (управление);
- Visual Studio, .NET (инструмент и среда разработки).
Поэтому, работая в Windows Azure, разработчики могут в полной мере использовать свой Windows-опыт и с минимальными усилиями трансформировать уже существующие приложения в современные облачные сервисы. К тому же Windows Server развивается в сторону сближения с Windows Azure, в том числе в плане совместимости. Как следствие, существенно упрощается формирование и поддержка гибридных облачных инфраструктур. Важные шаги в этом направлении были сделаны в версии Windows Server 2012 (www.pcweek.ru/themes/detail.php?ID=143993).
Что представляет собой Windows Azure сегодня
Сегодня Windows Azure — это публичная облачная платформа, развернутая в восьми гигантских дата-центрах компании в США (4 ЦОДа), Европе (2) и Азиатско-Тихоокеанском регионе (2). Для оптимизации доставки и дистрибуции контента в конкретные географические регионы используются также 24 узла CDN (Content Delivery Network или Content Distribution Network, cеть доставки и дистрибуции контента), один из которых находится в Москве. Вся эта глобальная вычислительная система обеспечивает заказчикам доступность к сервисам Windows Azure на уровне 99,95% в 83 странах мира, в том числе и в России.
Сейчас в Windows Azure реализованы следующие сервисы:
- среда выполнения приложений, использующая высокодоступные вычислительные мощности и обеспечивающая быстрое масштабирование приложений в зависимости от потребностей клиентов;
- реляционная база данных на основе технологий SQL Server;
- нереляционные хранилища данных (таблицы, диски, очереди, хранение двоичных объектов);
- виртуальные машины, реализованные на базе Windows Server или Linux и позволяющие переносить приложения в облако без изменения кода и гибко перемещать виртуальные жесткие диски (VHD) между локальной и облачной средой;
- виртуальная сеть, позволяющая настроить виртуальные частные сети (VPN) в Windows Azure и управлять ими, а также безопасно связать их с локальной ИТ-инфраструктурой;
- Windows Azure Web Sites — с применением этого сервиса можно создавать сайты и приложения на базе .NET, Node.js и PHP и развертывать их с помощью стандартных технологий, таких как Git и FTP. Кроме того, теперь Windows Azure позволяет использовать движки WordPress, Joomla!, DotNetNuke, Umbraco и Drupal;
- интеграционная шина, предоставляющая возможности ретрансляции и безопасного обмена сообщениями и позволяющая создавать распределенные и слабо связанные приложения в облаке, а также гибридные приложения, размещенные одновременно в частных и публичных облачных службах;
- сеть кэширующих серверов (CDN), повышающая производительность приложений путем кэширования контента как можно ближе к клиентам и пользователям для максимально эффективного взаимодействия с ними; например сеть CDN дает возможность доставлять фрагменты мультимедийных файлов для динамического адаптивного воспроизведения мультимедиа поверх HTTP-контента;
- распределенный кэш, позволяющий вместо обращения к медленному дисковому хранилищу получить высокоскоростной доступ к данным, хранящимся в оперативной памяти, в том числе с возможностью масштабирования;
- служба идентификации для управления удостоверениями и доступом к приложениям, при этом Windows Azure Active Directory обеспечивает безопасное и простое взаимодействие с уже развернутыми в Active Directory приложениями, а также возможность интеграции с другими провайдерами аутентификации (Live ID, Google, Facebook и т. п.);
- параллельные вычисления (или планировщик HPC), позволяющие разрабатывать и выполнять на платформе Windows Azure параллельные приложения, требующие больших вычислительных мощностей;
- набор служб Windows Azure Media Services, предназначенный для управления, обработки и доставки видеорешений и медиаконтента; в нем поддерживаются различные технологии и устройства (HTML5, Silverlight, Flash, Windows 8, iPad, iPhone, Android, Xbox, Windows Phone и пр.), а доступ к функциональности сервиса осуществляется с использованием HTTP REST API.
Для кого и зачем
По состоянию на конец февраля 2013 г. более 6500 российских заказчиков уже протестировали возможности платформы. Выполнено свыше 15 тыс. загрузок комплекта средств разработки (SDK) для Windows Azure, создано более 80 прикладных SaaS-сервисов. Пользователей Windows Azure можно сегодня разделить на три основные категории: стартапы; компании, которые переводят на эту платформу имеющиеся приложения и сервисы; Cloud Software Vendor (новая для Microsoft категория заказчиков, включающая компании, которые разрабатывают облачные сервисы и представляют их в модели SaaS).
Сегодня можно выделить несколько актуальных сценариев использования платформы:
- хранение данных в облаке. Пожалуй, наиболее распространенный сегодня вариант использования облачных технологий;
- несложный поиск и извлечение данных (например, обеспечение доступа к видеоархивам), для чего достаточно системы хранения на основе Windows Azure Storage;
- SQL Database — высокодоступная масштабируемая облачная служба базы данных, построенная на основе технологий SQL Server, управляемая и поддерживаемая корпорацией Microsoft. Данная СУБД может использоваться в приложениях, развернутых как в среде Windows Azure, так и в локальных ЦОДах клиентов;
- веб-сайты или приложения с непредсказуемым числом пользователей. В таких случаях применение облачных технологий заметно повысит доступность решений, обеспечив при необходимости строгий контроль доступа. При расчете стоимости подобных приложений в равной степени важны объем данных, количество экземпляров приложения и интенсивность трафика;
- краткосрочные проекты или тестирование новых решений. Речь идет о потребности в дополнительных ИТ-ресурсах, которые в дальнейшем могут оказаться невостребованными. Облачные технологии обеспечат надежную поддержку подобным проектам, позволят минимизировать первоначальные расходы;
- повышение производительности вычислений. Эффект использования облачных технологий для решения задач с большой вычислительной нагрузкой определяется возможностью распределения общего потока операций между несколькими экземплярами приложения, что значительно ускоряет вычисления, производимые над большими массивами данных;
- потоковое видео. Решение основывается на распараллеливании вычислений в облаке, обеспечивает значительный выигрыш в производительности и стоимости при обработке медиапотоков в режиме реального времени — например, при организации видеотрансляций или веб-конференций с большим числом участников;
- управление специфическими типами нагрузок. Имеются в виду ситуации, когда нагрузка на приложение распределяется неравномерно в течение определенного периода времени (дня, месяца или года). Перенос в облако приложений, подверженных неравномерным нагрузкам, позволяет оптимизировать использование ресурсов — “выровнять” нагрузку или же оперативно увеличить либо сократить выделяемые мощности.