В 2012 году облачные вычисления, не так давно пришедшие в виде определенной концепции в мир ИТ, стали больше чем простой идеей – они стали трендом в бизнесе и даже науке. Аналитическая фирма IDC, специализирующаяся на исследованиях рынка информационных технологий, предсказывает, что к 2016 году рынок облачных услуг увеличится более чем на 130%, что в конкретных цифрах означает увеличение на 43 миллиарда долларов.
И облака продолжают шагать по планете. За 2013 и 2014 годы в нашей платформе были сделаны сотни обновлений, и назрела необходимость в том, чтобы снова рассказать о ней. Пока в планах 12 статей, и начнем мы с обзора ключевых сервисов Microsoft Azure.
Далее, статья за статьей, мы будем рассказывать об этих сервисах: основах, использовании, сценариях и тех компаниях, которые уже используют это.
Итак, облако Microsoft состоит из двух больших миров: публичного – Azure, и частного – System Center, а также представителей обоих миров, например, Office 365. Если у пользователя есть локальная инфраструктура на основе технологий Microsoft, он может интегрировать ее с публичным облаком Microsoft Azure – выставить часть собственной инфраструктуры в облако, объединив ее в виртуальную сеть с локальной. Или использовать локальный каталог Active Directory для аутентификации пользователей облачного приложения. Или быстро переносить приложения –от небольших legacy-приложений до Sharepoint-серверов, – упаковывая собственные локальные серверы в виртуальные образы и перенося их в облако. Или объединять локальную и облачную инфраструктуру в единой оснастке управления System Center.
В общем, всё, что работает в локальной инфраструктуре, сможет работать и в Microsoft Azure.
Компоненты и сервисы платформы
Microsoft Azure предоставляет широкий набор компонентов и сервисов. Ядро платформы составляет среда выполнения приложений Microsoft Azure, которая состоит из трех базовых сервисов – Cloud Services (PaaS), Virtual Machines (IaaS) и Web Sites (SaaS).
Сервисы Microsoft Azure делятся на три логических слоя – слой вычислений, на базе сервисов которого работают практически все остальные сервисы, слой интеграции – для мобильных приложений, для обеспечения коммуникаций между различными компонентами проекта, для защиты и аутентификации и др., и слой работы с данными – все сервисы, которые позволяют разными способами взаимодействовать и менять состояние данных.
Слой вычислений
VirtualMachines— облачная платформа Microsoft Azure предоставляет сервис для запуска виртуальных машин. В данной сервисной модели могут быть запущены практически любые приложения, установленные на стандартные образы операционных систем как предоставленные пользователем, так и взятые из коллекции образов операционных систем, интегрированной в платформу Microsoft Azure. Самое большое отличие виртуальных машин в облаке от локальных аналогов – это наличие технологических ограничений (например, на количество открытых портов), которые напрямую влияют на возможность размещения некоторых нагрузок, но сделаны они не просто так – для минимизации возможности того, что сервис выйдет из строя по какой бы то ни было причине.
Самый старый сервис Compute — это CloudServices.CloudServices оперирует ролевой моделью – при создании решения оно делится на Web и Worker, интерфейс и обработчика соответственно. Web и Worker – отдельные проекты, которые могут быть также масштабироваться отдельно друг от друга (например, когда мы понимаем, что на веб-интерфейс у нас идет большая нагрузка, а на обработчик нет, смысла в масштабировании всей системы нет, поэтому мы просто увеличиваем количество экземпляров Web-роли).
Web-роль — веб-роли в Microsoft Azure – это концепция выделенного веб-сервера служб IIS для размещения интерфейса вашего проекта, которым будут пользоваться клиенты.
Worker-роль — аналог Windows-сервисов. Здесь выполняется обработка и часто бизнес-логика проекта.
Как уже было сказано, Cloud Services – самый старый сервис платформы. Если в парадигме разработки это контейнер для Web/Worker-ролей, то с появлением виртуальных машин CS стал логическим контейнером, размещая в котором виртуальные машины, вы гарантируете, что они будут размещены внутри датацентра максимально близко и будут доступны друг для друга по прямой IP-адресации.
Следующий сервис это WebSites — размещаемые на сервисе Web Sites веб-сайты можно разрабатывать на .NET, Node.js или PHP и Python (либо разворачивая CMS – WebMatrix, Joomla, Drupal, WordPress, DotNetNuke, Umbraco и др.). Для доступа к управлению Web-сайтами возможно использовать инструментарий командной строки для Windows, Mac, Linux.
Это максимальная степень абстракции разработчика от нижележащей инфраструктуры, как программной, так и железной. По сути, вам предоставляется IIS как сервис, с которым можно производить самые базовые настройки, к виртуальной машине же доступа нет.
Слой доступа к данным
Слой доступа к данным содержит нереляционные хранилища данных: таблицы, диски, очереди, хранение двоичных объектов, DocumentDB + реляционное хранилище данных в виде SQL Database.
Таблицы — хранилище таблиц используется приложениями, которые хранят большие объемы данных. В таблице хранятся структурированные данные без отношений между собой.
Очереди обеспечивают обмен сообщениями между приложениями.
Блобы дают возможность хранить большие объемы неструктурированных текстовых или двоичных данных.
SQL Database — реляционная база данных — это высокодоступная масштабируемая облачная служба базы данных, построенная на основе технологий SQL Server.
Backup | предлагает возможность организации защищенной инфраструктуры сохранения бэкапов Windows Server в облаке. Azure Backup осуществляет поддержку бэкапов информации из систем на базе Windows Server 2008 R2 SP1 и выше, Windows Server 2012 Essentials и System Center Data Protection Manager 2012 SP1+ в Azure.
AzureFiles дает возможность обращаться к данным хранилища Azure Storage как к сетевому ресурсу по протоколу SMB, что позволяет осуществлять привычный доступ к данным из виртуальных машин через сетевое взаимодействие.
В ContentDeliveryNetwork по всему миру можно размещать контент ближе к клиентам и пользователям.
Caching — распределенный кэш в памяти, с помощью которого вместо медленного дискового хранилища приложения получают высокоскоростной доступ к данным, хранящимся в оперативной памяти, с возможностью масштабирования;
Cache на базе Redis — cервис Azure Redis Cache представляет собой готовое redis-хранилище с требуемым размером для задач кеширования данных.
Увеличить
Слой интеграции
MediaServices включают в себя облачные версии многих существующих технологий платформы мультимедиа Microsoft и партнеров, в том числе для просмотра, кодирования, преобразования формата и защиты контента, а также потоковой передачи по запросу и в реальном времени. Поддерживает Live Streaming.
MobileServices предлагает облачную инфраструктуру для всех популярных мобильных платформ: Windows 8+, Windows Phone 8+, iOS, Android, HTML 5. На основе сервиса можно построить облачный бэкенд, на который перенести задачи по хранению данных, аутентификации и Push-уведомлений. Поддерживается Xamarin.
Identity — служба аутентификации обеспечивает управление удостоверениями и доступом к приложениям, с помощью службы Microsoft Azure Active Directory (бывший Access Control Service) можно обеспечить единый вход, повышенную безопасность и простое взаимодействие с уже развернутыми в Active Directory приложениями, а также выполнить интеграцию с другими провайдерами аутентификации (Live ID, Google, Facebook и т. п.). Azure Active Directory позволяет решать задачи единой авторизации пользователей для множества сервисов (Single Sign On), вести единый каталог пользователей, синхронизировать данные каталога с Active Directory на предприятии и т. д.
Azure Active Directory — это полноценная реализация каталога в облаке. Сервис поддерживает популярные открытые стандарты обеспечения федераций: SAML 2.0, OData, WS-FED, OAuth 2.0/OpenID.
ServiceBus предоставляет возможности ретрансляции и безопасного обмена сообщениями и позволяет создавать распределенные и слабосвязанные приложения в облаке, а также гибридные приложения, размещенные одновременно в частных и общедоступных облачных службах. Оперирует терминами Relay, Topics, Queues, Notification Hubs и Event Hubs. С июня 2013 года в Service Bus была внедрена глобальная доступность поддержки открытого стандарта AMQP.
BizTalkServices | — сервис, который предназначен для решения задач интеграции разнородных окружений на уровне предприятия и облака, предлагая возможности взаимодействий Business-to-Business (B2B) и Enterprise Application Integration (EAI).
VirtualNetwork — сервис для соединения облачных инфраструктур с локальными методом Site-To-Site VPN и Point-To-Site VPN.
TrafficManager — диспетчер трафика обеспечивает балансировку нагрузки по входящему трафику между несколькими размещенными службами Windows Azure независимо от того, работают ли они в одном центре обработки данных или распределены по нескольким.
RemoteApp позволяет размещать в облаке Azure существующие клиентские Windows-приложения и получать к ним доступ с любых компьютеров, планшетов, ноутбуков или телефонов через RDP-клиент (Windows, Mac OS X, iOS и Android).
APIManagement предлагает разработчикам собственных API возможность получить окружение по управлению, мониторингу и администрированию своего API, размещенного в любом месте, как в облаке, так и на любом хостинге, включая собственную инфраструктуру.
Увеличить
Заключение
Насыщенный функционал Microsoft Azure отвечает большому количеству потребностей разработчика, начиная с создания виртуальных машин, веб-сайтов, облачных служб, мобильных служб, хранилища, базы данных SQL, сети доставки содержимого, HDInsight, служб мультимедиа и многого другого.
А так же предоставляет возможность получения бесплатного доступа для исследования любой службы.