Compartilhar via


Почему Windows Azure стал просто Azure? Введение в платформу для пользователей Linux, Open Source, Oracle DB, Android, iOS и других инструментов

Не так давно облачная платформа Microsoft Windows Azure была переименована в Microsoft Azure. Эта небольшое по сути, но очень важное по факту событие, которое отражает стремление Microsoft предложить Azure как открытую публичную облачную платформу для всех пользователей.

Это переименование давно напрашивалось, ведь платформа является открытой для всех технологий, предлагая строить решения на любых инструментах от Windows, SQL и .NET и до Python, Ruby, Node.js, Java, Hadoop, Linux и Oracle. В этой статье мы посмотрим какие возможности предлагает Azure для пользователей Linux, разных языков и opensource-инструментов:

  • поддержка Linux в качестве ОС в виртуальных машинах
    • 1000+ готовых образов VM
    • использование любимого дистрибутива Linux
    • opensource-партнеры Azure
  • поддержка Oracle и Java
    • поддержка OpenJDK, разработки Java и Eclipse
  • поддержка Java, PHP, Python, Node.JS, Ruby в качестве PaaS
    • Visual Studio, Azure и Python, Node.js
    • WebMatrix, Azure и PHP
    • интеграция с Git, Mercurial, GitHub и другими системами
  • поддержка Android, iOS, Xamarin, HTML5/JS, PhoneGap единым мобильным бэкендом
  • Hadoop как сервис в облаке Azure
  • администрирование Azure
    • работа с Azure из командной строки в Linux, OSX, Windows
    • интеграция с Puppet и Chef
  • MongoDB, Redis и MySQL по запросу из Azure Store

Поддержка Linux в качестве ОС в вирутальных машинах

Сегодня (и уже довольно давно) Azure из коробки поддерживает операционные системы на базе Linux. Пользователям предлагается на выбор ряд готовых дистрибутивов для развертывания виртуальных машин:

image

В том числе: Ubuntu Server, CentOS, openSUSE, SUSE Linux Enterprise Server, Oracle Linux. Эти дистрибутивы доступны пользователям из галереи образов виртуальных машин и не требуют никаких дополнительных действий, они доступны для развертывания по первому запросу. Внутри развернутых машин вы сможете установить любые сервера, приложения, среды исполнения, фреймворки или инструменты по вашему желанию.

Сообщество VMDepot

Другой возможностью для пользователя является возможность использовать портал сообщества VMDepot, который бесплатно предлагает 1000+ готовых образов виртуальных машин с преднастроенным окружением и самыми разными инструментами:

image

Среди готовых настроенных образов вы можете найти инструменты на любой вкус, например: LAMP, Drupal, Jenkis, Magento, MongoDB, Neo4js, Redis, WordPress, Apache Solr, Ruby Stack, Cassandra, Coppermine, Discourse, Django, DokuWiki, GitLab, Gitorious, Horde, JBoss, Jetty, Joomla, JRuby, Mantis, MediaWiki, Moodle, Node.js, OpenERP, ownCloud, phpBB, Plone, Redmine, Riak, Spree, SugarCRM, Tomcat, XOOPS и десятки других.

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

Использование любимого дистрибутива Linux

Третьим вариантам, который предлагает Azure пользователям Linux является возможность загрузить и использовать в облаке собственные образы виртуальных машин с любимыми дистрибутивами Linux.

Подробное описание процесса создания виртуального диска со своим любимым дистрибутивом описано тут. Например, пользователи Debian могут загрузить свой дистрибутив в Azure подготовив виртуальный диск так как это рассказано в Debian Wiki.

Opensource-партнеры Azure

Наконец, еще одной возможностью, которую предлагает Azure для пользователей Linux является интеграция с сервисами партнеров облачной платформы, такими как BitNami, Opscode (Chef), RightScale, ScaleXtreme, SUSE Studio, Ubuntu Juju.

Juju Rightscale SUSE ScaleXtreme Opscode   Bitnami

Данные партнеры предлагают разнообразную поддержку Azure через свои сервисы. Например, с помощью SUSE Studio или Ubuntu Juju можно в считанные минуты подготовить образ Linux с набором необходимых компонент на выбор и загрузить его в облако.

Подробнее о предложениях этих партнеров можно прочитать на этой странице.

Поддержка Oracle и Java

Отдельно стоит рассказать о полноценной поддержке продуктов Oracle и платформы Java. Не так давно Microsoft объявила о стратегическом партнерстве с Oracle, что означает о полноценной поддержке развертывания продуктов и платформ Oracle в облаке Azure и использования официальной поддержки Java в Azure.

image

Среди этих инструментов: Oracle Database, Java 7 (и 6), WebLogic Server, Oracle Linux. Вы можете узнать много интересного с официальной страницы партнерства Oracle и Azure:

  • Oracle предоставляет возможность использования лицензий на программное обеспечение Oracle в Azure
  • Теперь Майкрософт предлагает полностью лицензируемый и поддерживаемый компонент Java в Azure

Очень удобно, что развертывая образ с Oracle в Azure вы автоматически получаете “включенную” лицензию. О ценах и лицензировании можно узнать на отдельной странице.

Поддержка OpenJDK, разработки Java и Eclipse

Вместе с поддержкой официальной версии Java JDK от Oracle, платформа Azure так же поддерживает OpenJDK в версии от компании Azul.

Вместе с такой поддержкой платформы Java, Microsoft предлагает и инструментальную поддержку – специальный набор для разработчиков с интеграцией в Eclipse. Он поддерживает как JDK так и OpenJDK, серверы Tomcat, Jetty, GlassFish и JBoss.

image

Благодаря этим инструментам разработчики Java могут легко создавать, локально отлаживать и публиковать свои приложения в облако Azure. Набор Windows Azure Toolkit для Eclipse распространяется с открытым исходным кодом и постоянно обновляется.

Подробности о работе с Java и Eclipse для Azure можно прочитать в этой статье.

Поддержка Java, PHP, Python, Node.JS, Ruby в качестве PaaS

Вместе с готовыми образами окружений для PHP, Java, Python, Node.js, Ruby и других языков и платформ для развертывания в виде виртуальных машин в инфраструктуре Azure, разработчикам предлагается и PaaS-подход разработки приложений на разных языках, который предполагает публикацию в облако не целой инфраструктуры, но только вашего кода, который будет запущен на готовой и быстро масштабируемой инфраструктуре. Подробнее о поддержке каждого из языков на этой странице.

image image

Все необходимые для разработки инструменты можно загрузить в одном месте по адресу https://azure.microsoft.com/en-us/downloads/.

Visual Studio, Azure и Python, Node.js

Отдельным направлением работы Microsoft является работа по интеграции работы над проектами на базе Python и Node.js в окружение среды разработки Visual Studio (в том числе бесплатной ее версии). Результатом этой работы стали мощные инструменты Python Tools и Node.js Tools for Visual Studio, которые уже сегодня в своих первых версиях предлагают богатый функционал и во много превосходят платные или бесплатные аналоги.

image

Я предлагаю ознакомиться со статьями Python Tools для Visual Studio, о новинках из первых рук и Встречайте: Node.js Tools for Visual Studio, в которой разработчик инструментов делится тем прогрессом, который они достигли.

Node.js Tools for Visual Studio

Проекты предлагают полноценный пользовательский опыт для разработчиков на Python и Node.js, включая отладку, завершение кода, интеграцию с пакетными менеджерами (pip или npm) и многие другие функции. Оба проекта распространяются с исходным кодом и активно развиваются. Оба инструмента умеют интегрироваться не только в платные версии Visual Studio, но и в бесплатную.

Конечно данные инструменты предлагают и прозрачную интеграцию с Microsoft Azure предлагая простой и легкий способ публикации проектов на базе Django, Flask, Bottle или Express в облако Azure всего в пару кликов из Visual Studio.

WebMatrix, Azure и PHP

Разработчики PHP кроме инструментов PHP SDK for Azure, расположенных на портале https://azure.microsoft.com/en-us/develop/php/ могут использовать и предложенный Microsoft бесплатный редактор WebMatrix. WebMatrix поддерживает разработку PHP-приложений и предлагает на выбор готовые к использованию шаблоны популярных CMS и Фреймворков на базе PHP, Node.js или ASP.NET.

image

WebMatrix предлагает интеграцию с Git, базами MySQL и публикацию в облако Azure. Таким образом можно быстро публиковать свои PHP-приложения в облако. Нужно добавить, что наравне с PHP, WebMatrix поддерживает проекты на базе Node.js и ASP.NET. Подробности о WebMatrix можно найти в этой статье и другой.

Интеграция с Git, Mercurial, GitHub и другими системами

Для поддержки разработчиков облачная платформа Azure интегрируется со многими сервисами и инструментами контроля версий и хранения файлов. Среди них: Git, TFS, Mercurial, GitHub, Codeplex, BitBucket, Dropbox и Visual Studio Online.

image  image

Благодаря тесной интеграции систем контроля версий с Azure появляется возможность настроить непрерывное размещение кода в продакшн или стейджинг окружение на каждый из коммитов в ваш репозиторий. Более того, Azure сохраняет историю деплоймента кода и позволяет откатывать размещенный код на одну из доступных версий.

Более подробно о использовании возможностей интеграции Azure с системами контроля версий можно узнать из этой статьи на примере Git.

Поддержка Android, iOS, Xamarin, PhoneGap единым мобильным бэкендом

Единый бэкенд для всех мобильных приложений – это наиболее востребованный сегодня сервис среди мобильных разработчиков. Вместо того чтобы создавать свой собственный сервис бэкенда, настраивать OS, DB, среду исполнения, писать REST API и так деле вы просто можно воспользоваться готовым сервисом который предлагает все это и многое другое из коробки.

image

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

Azure предлагает разработчикам iOS, Android, Windows, Windows Phone, HTML5/JS, PhoneGap, Sencha, Xamarin, Kindle возможность получить готовый единый облачный бэкенд для всех приложений разом. При этом Azure Mobile Services предлагают следующие одинаковые возможности разработчикам iOS, Android и так далее:

  • Работу с данными:
    • реляционное хранилище данных с внутренней репликацией для надежности;
    • хранение файлов, NoSQL-данных или БД MongoDB;
  • Работу с серверным кодом
    • обработку CRUD-запросов от клиентов через серверный код на выбор на базе Node.js или .NET/C#;
    • создание и запуск REST Web API из коробки через редактор в браузере или из локального кода;
    • интеграцию с Git;
  • Поддержку серверов push-уведмолений (PNS) для всех платформ:
    • Google GMC, Apple APNS, Microsoft WPNS/WNS, Kindle;
  • Встроенную поддержку аутентификации мобильных клиентов:
    • через социальные сети Twitter, Facebook, Google, Microsoft Account;
    • через Active Directory для корпоративных клиентов;
  • открытый REST API для управления всем бэкендом:
    • наборы SDK для всех платформ, языков с исопльзованием преимущества каждой из них;
    • доступ к бэкенду по REST с любых устройств предлагающих работу с HTTP;
  • offline-режим работы вашего мобильного клиента
  • глубокую интеграцию с Visual Studio:
    • поддержка удаленной отладки;
    • логирование в реальном времени;
    • управление ресурсами;
  • бесплатный тариф для быстрого старта:
    • быстрое масштабирование и автомасштабирование
  • средства администрирования для всех платформ.

Подробнее о Azure Mobile Services можно узнать из видео-доклада 5 мобильных платформ – один готовый бэкенд в облаке от потребностей к использованию сделанного на конференции Yandex YaC, по ссылке доступны и слайды презентации.

Начать разрабатывать мобильные приложения с облачным бэкендом в Azure можно с посещения официального портала и центра на русском языке azurehub.ru.

Hadoop как сервис в облаке Azure

Пользователи Hadoop могут присмотреться к использованию облачного сервиса Azure HDInsight, который представляет собой 100%-совместимую реализацию Apache Hadoop доступную для развертывания по первому запросу. Azure HDInsight предлагает возможность за минуты поднять готовый кластер Hadoop с настроенными узлами и развернутыми в них инструментами экосистемы Hadoop, выполнить вычисления и затем удалить кластер, перестав платить за него деньги.

Вы можете развернуть по запросу кластер с размером до 40 data nodes (кластеры большего размера можно разворачивать через запрос в поддержку).

Microsoft не просто просто предлагает готовый сервис в облаке на базе существующих технологий Hadoop, но и активно участвует в разработке самого проекта в Apache, поставляя код.

При развертывании кластера HDInsight вам сразу же становятся доступны многочисленные инструменты: Hive, Pig, Sqoop, Oozie, HCatalog, Templeton, Ambari и другие. Подробнее наборе этих компонент для разных версий кластера можно узнать по следующей ссылке.

Для более подробного описания сервиса Azure HDInsight обратитесь к этой статье на русском языке. Вся официальная документация доступна на портале.

Администрирование Azure

Являясь открытой платформой, Microsoft Azure предлагает возможность управления облачными ресурсами и администрирования из любой операционной системы: OSX, Linux или Windows.

Работа с Azure из командной строки в Linux, OSX, Windows

На портале Azure можно найти ссылки на установку подходящих для вашей ОС инструментов командной строки, которые позволят управлять всеми ресурсами в облаке через команды или написанные заранее скрипты.

image image

Исчерпывающая документация по установке и использованию инструментов командной строки для всех ОС доступна по этой ссылке. Эти инструменты, как и все остальные инструменты Azure распространяются с открытым исходным кодом.

Интеграция с Puppet и Chef

C недавних пор Azure имеет тесную встроенную интеграцию с системами автоматизации Puppet и Chef, которые предлагают централизованную возможность управления вашими ресурсами и позволяют решать задачи DevOps в облаке.

image image

Кроме собственно сервера Puppet Enterprise, который доступен их галереи виртуальных машин Azure пользователи получают возможность на этапе создания VM указать необходимость установки в виртуальную машин агента Puppet для дальнейшего централизованного управления.

Подробности о интеграции вы можете узнать на сайте Puppet Labs или сайте Opscode.

MongoDB, Redis и MySQL по запросу из Azure Store

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

В число таких сервисов входят сервисы MongoLab, MongoDB Inc, Redis Cloud, ClearDB MySQL

image

Многие из этих сервисов предлагают несколько тарифов, в том числе бесплатный, который позволяет получить необходимый сервер как услугу для разработки и тестирования. Преимущества этих сервисов в том, что вам не приходится самостоятельно разворачивать инфраструктуру для размещения серверов, управлять ими и обеспечивать надежное функционирование. Вы получаете готовые БД в качестве услуги.

Заключение

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

Мы рассмотрели как Azure позволяет работать и решать свои задачи пользователям Linux с любым дистрибутивом и под любым окружением. Поговорили про стратегическое партнерство с Oracle, которое позволяет сделать Azure лучшим местом для размещения и поддержки решений на базе Oracle Database и Java. Мы увидели как Microsoft предлагает не только сервисы, но и инструментальную поддержку для разработчиков Java, Python, Node.JS, PHP, Ruby и других языков.

Сервисы Azure – это не только виртуальные машины, но и широкий гибкий набор PaaS-сервисов, таких как Web Sites и Mobile Services, которые позволяют пользователям разных языков программирования, разработчикам с разных мобильных платформ создавать решения для любых мобильных ОС. Исследователи и разработчики обрабатывающие большие данные могут использовать сервис HDInsight предлагающий кластеры Hadoop со всей экосистемой по первому запросу.

Важный момент – администрирование развернутых мощностей. И здесь Azure предлагает не только готовые наборы инструментов командной строки для всех ОС, но и интегрирует популярные opensource-инструменты Puppet и Chef в себя.

И наконец, мы рассмотрели, как с помощью Azure Store поставщики opensource-технологий в виде сервисов предлагают вам получить доступ в Azure к популярным инструментам, например, базам данных MySQL, Redis, MongoDB по запросу и в качестве услуги.

Автор надеется на то, что эта статья поможет всем разработчикам и ИТ-профессионалом понять возможности облака Azure и ее открытость любым технологиям на ваш выбор. Пора попробовать облако на вкус!

Полезные ссылки

Ниже вы найдете ссылки на ресурсы, которые помогут вам в использовании облачной платформы Microsoft:

А если вы уже разрабатываете на Windows Azure  или хотите найти разработчиков своего сервиса, посетите сервис appprofessionals.ru.

Мы будем рады ответить на ваши  вопросы по адресу azurerus@microsoft.com. И ждем вас в Сообществе Windows Azure на Facebook. Здесь вы найдете экспертов (не забудьте задать им вопросы), фотографии и много-много новостей.