- PVSM.RU - https://www.pvsm.ru -
В последнее время все чаще приходится сталкиваться с неправильными мнением относительно использования Open Source на базе Windows Azure. Будь то вопросы на мероприятии, или обсуждение на форуме периодически возникают мифы о платформе Windows Azure, самые популярные, на мой взгляд, я развею:
Этот миф я слышу довольно часто. Windows Azure поддерживает большое и постоянно растущее количество приложений с открытым кодом, систем и языков. Разработчики, работающие в. NET, Java, PHP, Node.js и Python могут использовать свободно доступные SDK для этих языков, чтобы начать работу быстро и в полной мере использовать Windows Azure. Не смотря на то, что с каждым новым обновлением платформы Azure – список поддерживаемых технологий Open Source увеличивается, — большинство до сих пор не знает, даже о том, что такие возможности существуют. С полным списком Open Source технологий можно ознакомиться здесь [1].
Рис. 1 – Поддерживаемые Open Source технологии в Windows Azure
Для любителей social coding’а есть приятная возможность разворачивать свой сайт прямо из репозиториев: CodePlex, Github, Bitbucket, с помощью Git.
Рис 2. – Git-публикация проекта
Это то, что я слышал несколько раз от разработчиков на Java. В очередной раз услышав такое мнение, я решил сам опробовать развернуть простое приложение. То, что я слышал, — в корне отличается от того, что я увидел, развертывание Java-приложения заняло у меня несколько минут вместе с установкой Eclipse + SDK for WinAzure. Исходники SDK для Windows Azure находятся в открытом виде, найти их можно на GitHub в соответствующем разделе [2].
Да, если у вас уже есть готовый проект, необходимо пересматривать архитектуру проекта, предусматривать стоимость, масштабируемость, недостатки, преимущества, специфичные для Windows Azure настройки (брандмауэры SQL Azure, балансировщики нагрузки и т.д.).
Рис.3 – Публикация проекта из Eclipse
Windows Azure преследует цель развития платформы в различных направлениях тем самым не ограничивая разработчика в выборе используемых технологий. Проанализировав хронологию обновления SDK и Windows Azure Training Kit я не заметил каких-то особых предпочтений в пользу конкретных технологий.
Таблица 1. – Последние обновления SDK для различных языков
Как видно из таблицы, с последнего большого обновления платформы Azure в июне, были также обновлены и SDK для разных языков.
Как я уже писал ранее, Azure поддерживает Open Source, и поддерживает Linux дистрибутивы для использования в качестве виртуальной машины. Не только поддерживает, но и предлагает такой же простой процесс создания VM’s на различных ОС, в том числе и под управлением Linux, из галереи Windows Azure Management Portal. Вы можете создать виртуальную машину под управлением Linux и получить доступ с помощью клиента SSH, того же OpenSSH. Для этого потребуется лишь информация с портала управления: имя хоста и порт.
Рис 4. – Галерея предлагаемых образов для создания VM’s
Я сталкивался с этим каждый раз когда читал форумы, и недоумевал. Есть куча ресурсов и блогов, посвященных созданию приложений в облаке. Вот лишь некоторые из них:
Публикация приложений из Visual Studio и других IDE (Eclipse, WebMatrix) сводится лишь к вопросу создания профиля для публикации в котором необходимо ввести лишь настройки подписки которую вы используете. Существует также возможность опубликоваться с помощью Git, интересно будет в особенности тем, кто ведет непрерывную разработку на GitHub, CodePlex или Bitbucket. Windows Azure позволяет вручную загружать пакет обновлений для сайта через портал управления, в то время развертывание с GitHub, CodePlex или Bitbucket проходит в непрерывном процессе, где Windows Azure будет подтягивать самые последние обновления для вашего проекта.
Рис. 5 – История публикаций проекта с помощью Git
Развернуться можно и с помощью WebMatrix, достаточно загрузить лишь профиль настроек — .publishsettings и загрузить его в WebMatrix.
Рис. 6 – Публикация сайта из WebMatrix
Для особо брутальных можно развертывать свои проекты с помощью FTP ;)
Один из самых забавных мифов которые я встречал. Windows Azure предоставляет множество служб, помогающих управлять данными в облаке:
Данные, также можно хранить в MySQL (tutorial [11]), CouchDB, MongoDB (tutorial [12]) и т.д.
Странное утверждение, возможно связанное с тем, что большинство привыкло платить некоторую фиксированную сумму не затрачивая при этом то количество ресурсов за которое оплатили. Во-первых, перед тем как мигрировать на Windows Azure можно посмотреть то, сколько будет стоить ваш проект – рассчитав полную стоимость проекта, или же каждый сервис в отдельности.
Рис. 7 – Калькулятор потребляемых ресурсов Windows Azure
Сайты для которых не требуются большие ресурсы можно публиковать бесплатно (до 10 сайтов), сюда же относятся мобильные сервисы. Если вы используете несколько платных сервисов, то все затраты можно отследить в соответствующем меню — управление подпиской. К тому же, если вы только планируете размещать сервис, — его стоимость можно рассчитать здесь [13].
Кроме того, желающие попробовать Windows Azure могут оформить бесплатный триал на 90 дней. Разработчики имеющие MSDN-подписку могут начать использовать Windows Azure бесплатно [14], участники программы BizSpark, также, могут получить бесплатный доступ к подписке [15]. Для компаний, которые хотят сэкономить предлагается гибкая система скидок до 32% [16].
Windows Azure поддерживает популярные стандарты, протоколы и языки, включая SOAP, REST, XML, Java, PHP и Ruby. Кроме того, изначально, сама платформа поддерживает несколько языков, как VB.net, C #, C + + и T-SQL как часть SQL Azure. Разработчики имеют возможность выбора нескольких языков для создания своих приложений, в том числе:
Также поддерживается AMQP (Advanced Message Queueing Protocol) – открытый протокол для передачи сообщений между компонентами системы с низкой задержкой и на высокой скорости. Поддержка такого протокола позволяет создавать кросс-платформенные гибридные приложения используя Service Bus. Приложения могут быть построены из компонентов на различных языках и работать на различных операционных системах, при этом беспрепятственно обмениваться структурированными сообщениями.
Все это говорит о том, что разработчики не ограничены в том какие технологии и языки выбирать для своих приложений.
В корне не правильное предположение, как я уже говорил, для создания виртуальной машины в Windows Azure можно выбрать VHD-файл, который предлагается в галерее, но также можно создать собственный образ и загрузить его на Windows Azure в виде VHD-файла для этого можно воспользоваться CSUpload — инструмент командной строки.
Например, летом этого года появилась возможность использовать ALT Linux, в галерее образов его пока нет, но именно для этого и существует возможность загрузки собственных VHD-образов.
После создания виртуальной машины можно подключиться – по ssh, vnc или с использованием putty (Windows). Для подключения потребуются некоторые сведения перейдите на панель управления виртуальной машиной и в панели QuickGlance будут все данные для подключения.
Рис. 8 — Настройка подключения к виртуальной машине Linux
О том как подготовить VHD-образ Linux для загрузки в Windows Azure есть отличный tutorial [17].
Автор: Jimmy_J
Источник [18]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/open-source/22805
Ссылки в тексте:
[1] здесь: http://www.windowsazure.com/en-us/community/open-source-software/
[2] соответствующем разделе: https://github.com/WindowsAzure
[3] AzureHub: http://msdn.microsoft.com/ru-ru/ff380142
[4] Масштабирование PHP приложений на Windows Azure: http://azurephp.interoperabilitybridges.com/articles/scaling-php-applications-on-windows-azure-part-i-performance-metrics
[5] Портал разработчика на официальном сайте Windows Azure: https://www.windowsazure.com/en-us/develop/overview/?redirectToLocale=false
[6] MongoDB: http://msdn.microsoft.com/en-us/magazine/jj851073.aspx
[7] Windows Azure MSDN: http://msdn.microsoft.com/en-us/library/windowsazure/dd163896.aspx
[8] Community: http://social.msdn.microsoft.com/Forums/en-us/category/windowsazureplatform
[9] Блог Windows Azure (eng): http://blogs.msdn.com/b/windowsazure/
[10] Блог Windows Azure (rus): http://blogs.msdn.com/b/windows_azure_in_russia/
[11] tutorial: http://habrahabr.ru/company/microsoft/blog/150774/
[12] tutorial: http://www.windowsazure.com/en-us/develop/nodejs/tutorials/website-with-mongodb-mongolab/
[13] здесь: http://www.windowsazure.com/en-us/pricing/calculator/
[14] использовать Windows Azure бесплатно: http://www.windowsazure.com/en-us/pricing/member-offers/
[15] бесплатный доступ к подписке: http://blogs.msdn.com/b/windows_azure_in_russia/archive/2012/10/29/windows-azure-bizspark.aspx
[16] система скидок до 32%: http://www.windowsazure.com/en-us/pricing/purchase-options/
[17] tutorial: http://www.windowsazure.com/en-us/manage/linux/common-tasks/upload-a-VHD/
[18] Источник: http://habrahabr.ru/post/162895/
Нажмите здесь для печати.