Разработка первоклассных программ ASP.NET на облачной платформе Google

Облачная платформа Google имеет много возможностей: большие данные, машинное обучение и глобальная инфраструктура мощностей Google. Но Вы можете не знать, что на сколько хорошо мы поддерживаем приложении построены на базе ASP.NET, платформу с открытым исходным кодом разработанная Microsoft. Давайте исправим это сейчас.

Windows Server на Google Compute Engine

Для запуска ASP.NET 4.x, Вам необходим Windows Server с запущенным IIS и ASP.NET. Чтобы сделать это, ми поддерживаем создание виртуальные машины Google Compute Engine с базовых образов Windows Server Data Center 2008R2, так и 2012R2.

Google Compute Engine

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

Если программное обеспечение включает в себя веб-сервер Microsoft IIS и ASP.NET, а также соответствующие правила брандмауэра, Вам определено следует использовать ASP.NET образ в Cloud Launcher

Cloud Launcher

Дает возможность не только создавать экземпляр Windows Server, но и устанавливаются SQL Server 2008 Express, IIS, ASP.NET 4.5.2 и открывает стандартные порты брандмауэра для работы HTTP, HTTPs, WebDeploy и RDP.

SQL Server образ на Compute Engine

SQL Server Express, который выходит в образ ASP.NET в Cloud Launcher является полезным для разработки, но когда дело доходит до производственной нагрузки, Вам захочется использовать расширенные версии SQL Server. Для этого мы хотим сообщить какие SQL Server есть на Google Compute Engine:

  • SQL Server Standard (2012, 2014, 2016)
  • SQL Server Web (2012, 2014, 2016)
  • Скоро SQL Server Enterprise (2012, 2014, 2016)

Только на этой неделе стал доступны расширенные версии SQL Server на Google Compute Engine помимо базовых образов Windows Server. Мы в первые предложили услугу с расширенными версиями SQL Server, поэтому мы будем рады услышать Ваши отзывы. На следящей недели мы расскажем больше о SQL Server на Google Cloud Platform.

Библиотеки сервисов Google в NuGet

С Windows Server, ASP.NET и SQL Server, у Вас есть все чтобы перенести Ваши ASP.NET 4.x сайты и сервисы на облачную платформу Google, и мы думаем, что Вы будете рады сделать это.

Кроме того, мы слышали от наших клиентов как они сильно любят услуги предоставлены через более чем 100 Google APIs, все из которых доступны для различных языков и платформ, включая .NET в NuGet. Кроме того, мы прикладываем все усилия чтобы гарантировать, что наше спецификация облачного API была доступна для понимания .NET разработчикам. С этой целью мы рады сообщить, что большинство наших клиентских библиотек облачных API, документированы на языке примеров, включая и для .NET.

Google .NET examples

Для дальнейшего повышения удобства использования этих библиотек, мы создали библиотеки оболочки для каждого из облачных API, которые являются специфическими для каждого языка. Эти библиотеки находятся сегодня в бета-версии и включают обертки для Google BigQuery, Google Cloud Storage, Google Cloud Pub/Sub и Google Cloud Datastore, еще больше на подходе. Google StackDriver Logging теперь также поддерживает библиотеку log4net, обеспечивая упрощенное ведение журнала для приложений, со всей добротой мульти машинного StackDriver, мультипрограммной фильтрации и запросов. Эти библиотеки доступны в NuGet, а также на GitHub, где можно сообщить об ошибках, сделать запрос или внести свой вклад в код!

За развитием .NET библиотек следить никто иной как Jon Skeet, широко известный за его книги по C# и помогая .NET разработчикам отвечая на вопросе на сайте Stack Overflow. Мы очень рады, что он помогает нам убедиться, что Google’s Cloud APIs могут быть хорошими для .NET разработчиков.

Облачные инструменты для Visual Studio

Одной из основных причин, которые мы сделали все наши библиотеки доступны через NuGet, так это возможность получить их из Visual Studio. Однако, ми знаем, что Вам нужно делать больше в Вашем облачном проекте, кроме написания кода – также Вы хотите управлять ресурсами, например, виртуализацией, хранилищами данных, а также Вы хотите иметь возможность разворачивать приложение на сервере. Вот где Google Cloud Tools для Visual Studio приходить, и становиться доступен с сегодняшнего дня в Visual Studio Gallery.

Также можно развернуть приложение ASP.NET 4.x в Google Compute Engine через Visual Studio встроенное диалогового окно публикации, но с расширением облачных инструментов, мы также упростили администрирования учетных данных, связанных с вашей виртуальной машинной и генерациею файлов параметров публикации из среды Visual Studio.

Google Cloud Explorer

Эта функциональность доступна в Google Cloud Explorer, которая позволяет Вам просматривать и управлять Compute Engine, Cloud Storage and Google Cloud SQL ресурсами.

Google Cloud Explorer

Это только начало. У нас есть множество планов по интеграции облачных платформ в Visual Studio. Если у вас есть предложения, сообщения об ошибках, или если вы хотите помочь, Cloud Tool для Visual Studio размещена на GitHub. Мы будем рады услышать Вас!

Cloud Tools для PowerShell

Visual Studio является отличным способом для интерактивного управления ресурсами облачных проектов, но не совсем подходит для автоматизации. Вот почему мы объявляем первые расширения Google PowerShell, Cloud Tools для PowerShell. С нашими Google Cloud PowerShell командлетами можно управлять ресурсами Compute Engine и облачного хранилища.

Google Cloud PowerShell

Мы начали с командлетов для двух наиболее популярных продуктов облачной платформы, Compute Engine и облако хранения, но мы быстро расширяем поддержку для других продуктов. Если у вас есть предложения о том, что мы должны делать дальше, сообщайте о ошибках в том, что мы уже сделали, если вы хотите помочь нам, командлеты Google Cloud PowerShell размещены на GitHub.

Миграция с существующих виртуальных машин

Поддержка Compute Engine’s для Windows Server и SQL Server, наряду с нашей интеграции с Visual Studio и PowerShell, поможет вам перенести Ваше .NET приложение и данные SQL Server в Облачную платформу Google. Но что делать, если вам нужно больше? Что делать, если бы Вы хотели не создавать новые машины, настраивать их и мигрировать Ваше приложение и данные? Иногда вы просто хотите перенести машину полностью, как и в центре данных и запустить его на облаке, как будто ничего не изменилось.

Новое партнерство с CloudEndure делает именно это.

CloudEndure

CloudEndure реплицирует Windows и Linux машины на уровне блоков, так что все ваши приложения, данные и конфигурация приходит вместе с миграцией. Чтобы узнать больше о миграции параметров для Windows рабочих нагрузок или для помощи в планировании и выполнении миграции, просмотрите эти ресурсы миграции облачной платформы Google.

 Скоро: Поддержка ASP.NET Core

Многие разработчики изучают ASP.NET Core для их следующих проектов. Поскольку ASP.NET Core полностью поддерживается на Linux, Вы можете обернуть его в Docker контейнере и развернуть его через App Engine Flexible или Kubernetes запустить на Google Container Engine. ASP.NET пока что не полностью поддерживается на любой из этих платформ, но, чтобы дать вам попробовать куда мы направляемся, мы включили все клиентские библиотеки Google API для работы на .NET Core (за исключением наших hand-crafted библиотек – мы все еще работаем над ними). Например, вот код ASP.NET Core код, который тянет случайные изображения в формате JPEG из облачного хранилища Google:

public IActionResult Index() {
  var service = new StorageService(new BaseClientService.Initializer() {
    HttpClientInitializer =
      GoogleCredential.GetApplicationDefaultAsync().Result
  });

  // find all of the public JPGs in the project buckets
  var request = service.Objects.List("YOUR-GCS-BUCKET");
  request.Projection = ObjectsResource.ListRequest.ProjectionEnum.Full;
  var items = request.Execute().Items;
  var jpgs = items.Where(o => o.Name.EndsWith(".jpg") &&
                         o.Acl.Any(o2 => o2.Entity == "allUsers"));

  // pick a random jpg to show
  ViewData["jpg"] =
    jpgs.ElementAt((new Random()).Next(0, jpgs.Count())).MediaLink;
  return View();
}

Мы работаем над тем чтобы обеспечить первоклассною поддержку для развертывания ASP.NET Core на основе контейнеров, а также на основе Linux. До этого, проверьте этот пример кода для запуска несложного .NET приложения на Cloud Platform.

Мы только начинаем

Во-первых, мы серьезно относимся к поддержке рабочих мощностей Windows и .NET на облачной платформе Google. Во-вторых, мы только начали. У нас большие планы во всех областях поддержки Windows/.NET, и мы бы хотели получить Ваши отзывы – сообщение о найденных ошибках, Ваши предложения или свой вклад некоторый код!

Мы поделимся с еще одним ресурсом: .NET на Google Cloud Platform перечисляет все, что необходимо разработчику знать, чтобы быть успешным с .NET на облачной платформе. Если что-то, что вам нужно, что вы не можете найти, оставить записку в группе Google Cloud Developers!

Данная статья является переводом, оригинальный текст Вы можете прочитать здесь

Автор перевода: Grygorii Shkliaruk

Автор оригинала: Chris Sells

P.S. Данная статья является первой статьей которая была переведена, так что прошу сильно не ругать, все замечание прошу оставлять в комментарии или отправлять через ctrl+Enter.

Только авторизованные пользователи могут оставлять комментарии

Чтобы оставить комментарий Вам нужно Зарегистрироваться или Войти в систему