Развертывание облачного приложения Node.js из среды разработки Cloud9

в 12:12, , рубрики: cloud9, node.js, windows azure, Блог компании Microsoft, Облачные вычисления, облачные сервисы

image

В данном руководстве описана разработка, компиляция и развертывание приложений Node.js в Windows Azure с помощью интегрированной среды разработки (IDE) Cloud9.

О чем пойдет речь в данном руководстве:

  • Как создать проект в Cloud9 IDE.
  • Как развернуть проект в Windows Azure.
  • Как обновить развернутое приложение в Windows Azure.
  • Как перемещать проекты между тестовыми и рабочими развертываниями.

Cloud9 IDE –– это кросс-платформенная среда разработки с веб-интерфейсом. Одна из функций Cloud9 для проектов на базе Node.js позволяет выполнять прямое развертывание приложений в Windows Azure. Кроме того, среда Cloud9 интегрирована с репозиториями GitHub и BitBucket, что облегчает обмен проектами с другими разработчиками.

С помощью Cloud9 можно разрабатывать и развертывать приложения в Windows Azure из большинства современных браузеров и операционных систем, причем установка дополнительных инструментов или SDK на локальном компьютере не требуется. Ниже описана работа в браузере Google Chrome на компьютере Mac.

Подписка

Чтобы начать работу с Cloud9, необходимо оформить подписку. На сайт можно войти с имеющимися учетными записями GitHub или BitBucket либо создав учетную запись Cloud9. Доступна как бесплатная подписка, так и платная (с расширенной функциональностью). Дополнительную информацию см. в разделе Cloud9 IDE.

Создание проекта Node.js

Войдите в Cloud9, щелкните значок + рядом с My Projects и выберите Create a new project.

clip_image002

В диалоговом окне Create a new project укажите имя и тип проекта, а также способ доступа. Нажмите Create для создания проекта.

clip_image004

Примечание. Некоторые настройки доступны только в платной версии Cloud9.

Примечание. При развертывании проекта Cloud9 в Windows Azure его имя не используется.

После создания проекта щелкните Start Editing. Если среда Cloud9 запущена впервые, система предложит краткий обзор функций. Чтобы пропустить обзор или посмотреть его позже, выберите Just the editor, please.

clip_image006

Для создания приложения Node нажмите File и выберите New File.

clip_image008

Появится новая вкладка Untitled1. Чтобы создать приложение Node, на вкладке Untitled1 введите следующий код:

var http = require('http'); 
var port = process.env.PORT; 
http.createServer(function(req,res) { 
    res.writeHead(200, { 'Content-Type': 'text/plain' }); 
    res.end('hello azuren'); 
}).listen(port);

Примечание. Переменная process.env.PORT гарантирует, что приложение будет использовать правильный порт как при отладке в Cloud9, так и при развертывании в Windows Azure.

Чтобы сохранить код, выберите File и затем Save as. В диалоговом окне Save As укажите server.js в качестве имени файла и щелкните Save.

Примечание. В некоторых случаях появляется значок предупреждения о том, что переменная req не используется. Игнорируйте его.

clip_image010

Запуск приложения

Примечание. Процедура, описанная в этом разделе, подходит для создания самых простых приложений. Если приложение использует внешние модули, то для среды отладки понадобится другая версия Node.js. Чтобы подключить ее, выберите Configure… из раскрывающегося списка отладки и укажите нужную версию Node.js. Например, при использовании версии Node.js, отличной от 0.6.x, при работе с модулем azure могут возникать ошибки аутентификации.

Для запуска приложения в отладчике Cloud9 нажмите Debug.

clip_image012

Появится окно результатов. Щелкните указанный URL, чтобы открыть приложение в окне браузера.

clip_image014

Приложение будет выглядеть примерно так:

clip_image016

Чтобы остановить отладку, щелкните stop.

Создание учетной записи Windows Azure

Для развертывания приложения в Windows Azure требуется учетная запись. Если у вас еще нет учетной записи Windows Azure, оформите пробную подписку. Для этого перейдите на веб-сайт http://www.windowsazure.com и щелкните Free Trial в правом верхнем углу.

Создание развертывания

Чтобы создать новое развертывание, выберите Deploy и щелкните + для создания сервера развертывания.

clip_image018

В диалоговом окне Add a deploy target введите имя развертывания и затем выберите Windows Azure в спискеChoose type. Это имя понадобится для идентификации развертывания в среде Cloud9, но не будет связано с именем развертывания в Windows Azure.

Если развертывание Cloud9 для Windows Azure создается впервые, настройте параметры публикации Windows Azure. Для этого загрузите и установите параметры Cloud9, как описано ниже.

Щелкните Download Windows Azure Settings.

clip_image020

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

Сохраните файл параметров публикации на локальный диск.

В диалоговом окне Add a deploy target выберите Choose File и укажите путь к загруженному файлу.

Затем нажмите Upload.

Щелкните + Create new, чтобы создать размещенную службу. Размещенной службой называется контейнер, в котором располагается приложение при развертывании в Windows Azure. Дополнительную информацию см. в разделе «Общие сведения о создании размещенной службы для Windows Azure».

clip_image022

Система попросит ввести имя размещенной службы и параметры конфигурации (количество экземпляров, ОС и центр обработки данных). Указанное имя развертывания будет использоваться в качестве имени размещенной службы в Windows Azure. Это имя должно быть уникальным в системе Windows Azure.

clip_image024

Примечание. В диалоговом окне Add a deploy target в разделе Choose existing deployment приведен список всех размещенных служб Windows Azure. Чтобы развернуть проект на определенную службу, выберите ее из этого списка.

Примечание. Чтобы включить удаленный рабочий стол для развертывания, выберите Enable RDP и укажите учетные данные.

Развертывание в рабочей среде Windows Azure

Выберите развертывание, созданное на предыдущих этапах. Откроется диалоговое окно с информацией об этом развертывании и рабочим URL, по которому будет выполнено развертывание в Windows Azure.

clip_image026

Выберите Deploy to Production environment. Чтобы запустить развертывание, щелкните Deploy.

Если данный проект развертывается в Windows Azure впервые, появится сообщение об ошибке No web.config found. Нажмите Yes, чтобы создать недостающий файл. В результате в проект будет добавлен файл Web.cloud.config.

clip_image028

Если данный проект развертывается в Windows Azure впервые, появится сообщение об ошибке No ‘csdef’ file present. Нажмите Yes, чтобы создать недостающий файл .csdef. В результате в проект будет добавлен файл ServiceDefinition.csdef. Файл ServiceDefinition.csdef необходим для публикации приложения в Windows Azure. Дополнительную информацию см. в разделе «Общие сведения о создании размещенной службы для Windows Azure».

Система попросит указать размер экземпляра для данного приложения. Выберите Small и нажмите Create. Подробнее о размерах виртуальной машины Windows Azure см. в разделе «Как настроить размер виртуальной машины».

clip_image030

В статусе развертывания будет отображаться ход выполнения процесса. После завершения развертывания появится надпись Active.

clip_image032

Примечание. Проектам, развернутым в Windows Azure через среду Cloud 9, в качестве имени назначается GUID.

В диалоговом окне развертывания указывается рабочий URL. После завершения процесса щелкните URL, чтобы открыть развернутое в Windows Azure приложение в браузере.

clip_image034

Обновление приложения

Чтобы внести изменения в приложение, можно обновить его на той же самой размещенной службе Windows Azure с помощью Cloud9.

В файле server.js file измените код таким образом, чтобы на экран выводилось сообщение hello azure v2. Например, замените существующий код на приведенный ниже.

var http = require('http'); 
var port = process.env.PORT; 
http.createServer(function(req,res) { 
    res.writeHead(200, { 'Content-Type': 'text/plain' }); 
    res.end('hello azure v2n'); 
}).listen(port);

Чтобы сохранить код, выберите File, а затем Save.

Развертывание обновления в тестовой среде Windows Azure

Выберите Deploy to Staging. Чтобы запустить развертывание, щелкните Deploy.

Все размещенные службы Windows Azure поддерживают две среды — тестовую и рабочую. Тестовая среда аналогична рабочей, за исключением того, что доступ к приложению в тестовой среде осуществляется по созданному Windows Azure условному URL на базе GUID. Приложение можно проверить сначала в тестовой среде, а затем переместить в рабочую среду посредством свопирования по виртуальному IP-адресу (VIP), как описано ниже.

При развертывании приложения в тестовой среде в консоли будет отображаться тестовый URL на базе GUID, как показано на снимке экрана ниже. Чтобы открыть приложение в тестовой среде в браузере, щелкните этот URL.

clip_image036

Перемещение обновления в рабочую среду с помощью свопирования VIP

При развертывании в тестовой или рабочей среде каждой службе присваивается виртуальный IP-адрес (VIP). Поэтому для перемещения службы из тестовой среды в рабочую можно вместо повторного развертывания службы выполнить свопирование VIP. При этом приложение будет перемещено из тестовой среды в рабочую без остановки ее функционирования. Подробнее см. в разделе «Общие сведения об управлении развертываниями в Windows Azure».

В диалоговом окне развертывания щелкните ссылку Open portal, чтобы перейти в Портал управления Windows Azure.

clip_image038

Выполните вход с помощью своих учетных данных.

В левой части веб-страницы выберите HostedServices, StorageAccounts & CDN и нажмите HostedServices.

clip_image040

На панели результатов отобразится имя размещенной службы, заданное в среде Cloud9, и два развертывания — одно со значением Environment Staging, а второе — Production.

Чтобы выполнить свопирование VIP, выберите размещенную службу и нажмите Swap VIP на ленте.

clip_image042

В открывшемся диалоговом окне свопирования VIP щелкните OK.

Перейдите к приложению в рабочей среде. Обратите внимание, что приложение переместилось из тестовой среды в рабочую.

clip_image044

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

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

clip_image046

При нажатии на кнопку Connect система предложит загрузить файл .RDP. В этом файле содержится информация, необходимая для создания сеанса удаленного рабочего стола. Откройте этот файл в системе Windows, введите имя пользователя и пароль, указанные при создании развертывания, а затем установите соединение с рабочим столом выбранного экземпляра.

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

Остановка и удаление приложения

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

Cloud9 является лишь средой разработки и не позволяет напрямую остановить или удалить приложение, развернутое в Windows Azure. Чтобы удалить приложение из Windows Azure, выполните следующие действия:

В диалоговом окне развертывания щелкните ссылку Open portal, чтобы перейти в Портал управления Windows Azure.

clip_image038[1]

Выполните вход с помощью своих учетных данных. В левой части веб-страницы выберите HostedServices, StorageAccounts & CDN и нажмите HostedServices.

Выберите тестовую среду (см. значение поля Environment). Для удаления приложения нажмите Delete на ленте.

clip_image048

Аналогичным образом для удаления приложения выберите рабочую среду и нажмите Delete.

Дополнительные ресурсы

Автор: XaocCPS

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js