Привет хаброжители!
Многие из вас слышали или читали что в Dreamspark для студентов специально добавили Microsoft Azure, чтобы у студентов появился бесплатный хостинг для их учебных проектов. Небольшой спойлер: бесплатно и без рекламы!

Студенческий azure имеет следующие возможности:
  • Веб-приложения службы приложений Azure входят в полностью управляемую облачную платформу, которая позволяет за считаные секунды создавать и развертывать веб-приложения. Возможно использование ASP.NET, Java, PHP, Node.js или Python. Запуск популярных веб-приложений и решений CMS. Настройте непрерывную интеграцию и развертывание с помощью VSO, GitHub, TeamCity, Hudson или BitBucket. Это позволит вам автоматически строить, тестировать и развертывать веб-приложение после каждого успешного теста сборки кода или интеграции.
  • С СУБД MySQL от ClearDB ваши веб-приложения получат всю мощь MySQL. С помощью MySQL-решения clearDB можно расширить поддержку различных видов веб-приложений и CMS-решений, в том числе Wordpress, Joomla, Acquia Drupal, phpBB и многих других.
  • Visual Studio Application Insights предоставляет содержательные телеметрические данные и сведения о производительности, с помощью которых вы сможете обеспечить максимальную эффективность работы ваших веб-приложений и служб. Функции поиска и анализа данных обеспечивают постоянное совершенствование приложений, определение приоритетов для будущих инвестиций и повышение удовлетворенности клиентов.
  • Visual Studio Online представляет собой самый быстрый и простой на сегодняшний день способ планирования, создания и поставки программного обеспечения для различных платформ. Наша облачная инфраструктура позволяет за считанные минуты сделать все необходимые приготовления для запуска, при этом вам не придется заниматься установкой и настройкой отдельных серверов.


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

Студенческая подписка на Azure предлагает использовать только MySQL с ограничение объема БД до 32 МБ и возможности подключение максимального количества сайтов — 5 шт. Чего должно с головой хватать для учебных проектов.

Если вам не хватает данных ресурсов то я хочу развеять этот миф о бесполезности azure в учебных целях и предложить вам решение этой проблемы. Для своих более сложных проектов вы можете использовать Microsoft SQL Server Database File. А теперь давайте для примера создадим тестовый проект, назовем его «TwoNotes».

Построение тестового ASP.NET MVC приложение и развертывание его в студенческом AZURE

Давайте откроем Visual Studio и создадим наше тестовое приложение.



Выберем тип язык C# и тип проекта Web. Своему приложению я дал название — TwoNotes.



Для написание приложения будет использоваться шаблон Single Page Application.



После того, как приложение будет готово, мы щелкните правой кнопкой мыши папку App_Data и выберите пункт Добавить > новый элемент. В диалоговом окне Добавление нового элемента мы выберем SQL Server Compact 4.0.

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



Так же не забудьте в References через NuGet System.Data.SqlServerCe.



После установки проверьте наличие System.Data.SqlServerCe в References.



Настройка SqlServerCompact для надлежащего развертывания на веб-сайтах Azure

Шаг 1. Установка зависимостей SqlServerCompact.
Открыть консоль пакетного менеджера NuGet и введите PM> Install-Package SqlServerCompact



Сначала проверьте, что у вас нету этих зависимостей. Если их нет, то они будут добавлены, а затем загрузятся куча зависимостей для SqlServerCompact, которые необходимы для правильной работы на веб-сайты Azure.



Шаг 2. Далее добавим ссылку на System.Data.SqlServerCe.dll, таким образом, что он был доступен во время сборки/развертывания.
Для того чтобы это сделать, необходимо сделать следующее:

  • Выберите в папке System.Data.SqlServerCe и нажмите кнопку F4.
  • В панели Properties выберите пункт Copy Local и установите значение true.
  • Удалите из проекта ссылку библиотеки DLL
  • Добавить ссылку обратно, перейдя в папку выше и выберите dll, которую вы только что скопировали


Шаг 3: Наконец, установите Entity Framework с поддержкой SQL Server Compact при помощи следующей команды Nuget.
PM> Install-Package EntityFramework.SqlServerCompact. Версия допустима любая.



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

Добавление строки подключения к БД

Для добавления подключения к БД откройте Server Explorer и нажмите на значок зеленой вилки.



Далее у вас откроется окно в котором нужно будет выбрать расположение вашего файла БД.



Итак, вы подключили БД, и теперь необходимо в конфиг вашего проекта добавить Connection String. Для этого нажмите на значок вашей БД и выберите Properties и в этом окне найдите строчку Connection String. И добавьте его в Web.config.





Настройка пользователя в нашем приложении

Запустим наш веб сайт на локальном компьютере и с помощью кнопки регистрации добавим пользователя:

Имя пользователя: twonotestest
Пароль: tw0Not3sTest

После регистрации и авторизации можете проверить созданные записи в БД.

Развертывание в студенческий аккаунт Microsoft Azure
Выберите проект и нажмите правую кнопку мыши. В контекстном меню выберите пункт Publish и у вас откроется вот такое меню.



В открывшемся окне нажмите на пункт Microsoft Azure App Service и нажмите кнопку next. Далее у вас откроется окно выбора подписки Azure и выбора проекта. Так как у нас в azure не создано ни одного приложения, то создадим его прямо из этого окна. Для этого достаточно просто нажать на кнопку NEW.



Далее просто введите все необходимые данные и ваше приложение будет создано и опубликовано.

Так же вы можете создать приложение на Портале Azure и скачать профиль публикации. И с его помощью так же опубликовать ваше приложение.

Подведем итоги!
Теперь вы знаете как обойти ограничение в БД на студенческой подписке в Azure. Процесс конечно немного сложный и длительный, но зато вы сможете получить бесплатный хостинг для ваших проектов вполне легально. И к тому же без рекламы.

Если у вас остались вопросы, можете направлять их на мой e-mail: valeriy.chernobrovyy@studentpartner.com

Комментарии (4)


  1. zirf
    26.01.2016 10:44
    -1

    В принципе любая халявка для студентов дело святое. Только экспресс-версии MS VS, MSQL Expess и много чего обузжиренного достуны и так, кроме Azure, там триал. На .Net свет сошелся? Просто у всех провайдеров PaaS (Azure таки IaaS) где тариф на где сервер приложений и не одна БД самый простой — бесплатный, да и мое глубокое мнение разработчик машину не конфигурирует, навыков не хватит, а вот среду разработки — да. И далее творит. Но это — ИМХО.


  1. Helek
    26.01.2016 11:36

    Так БД тоже уйдет в облако или только локально работать всё будет?


    1. valerasergeevich
      26.01.2016 11:39

      БД при деплое так же грузится в облако.


    1. zirf
      26.01.2016 12:04

      В облако, иначе смысл теряется.