【问题标题】:Windows Azure support for other technologies than .NETWindows Azure 支持 .NET 以外的其他技术
【发布时间】:2012-02-26 13:51:36
【问题描述】:

我已经知道可以使用 .NET 以外的其他技术,例如Windows Azure 平台上的 Java、PHP 或 node.js,但我对用法有点困惑:

  1. Microsoft 为 Java、node.js 和 PHP 提供 SDK。但是您仍然必须手动部署运行时,对吗?没有预装的 PHP 运行时或 Java 虚拟机作为 web 或 worker 角色?
  2. 这些 SDK 的内容是什么?我假设一些 cli 代码脚手架工具来创建项目结构,但还有什么?我读到你可以使用 Azure 模拟器来 node.js、Java 和 PHP...
  3. SDK 不支持的除 .NET、Java、PHP、node.js 之外的所有其他技术:是否仍然可以以 web/worker 角色运行它们,或者我必须以 web/worker 角色运行它们吗? vm角色?如果前者是正确的,项目是如何打包成cspkg的,我是不是必须手动做呢?

坦克!

【问题讨论】:

    标签: .net windows azure


    【解决方案1】:

    Windows Azure 只运行 Windows Server 2008 虚拟机。如果您可以在 Windows 上运行您的软件,那么您很可能可以在 Windows Azure 上运行它。

    根据您的具体问题:

    1. 如果要运行 Java、node 等,则必须提供运行时。但是,您可以将它们放在 blob 存储中并在启动时获取它们,而不是将它们与您的部署捆绑在一起。使用 Java,这会大大缩减您的部署,尤其是如果您将其与 Tomcat 所需的空间结合起来。
    2. SDK 封装了 REST API。如果您知道如何直接编程到 REST,那么从技术上讲,您不需要特定语言的 SDK。但是,这些 SDK 极大地简化了与 Windows Azure 的交互。 SDK 无助于创建新项目。这是开发环境和相关项目脚手架的一部分。 Visual Studio 为 WCF、ASP.NET 等提供了此功能。在 Eclipse 中,您可以轻松构建 php 和 Java 应用程序。
    3. Web 和 Worker 角色只是运行和不运行 IIS 的 Windows Server 2008。仅当 a) 您的应用程序或 3rd 方应用程序无法自动安装时,您才需要 VM 角色; b) 您的安装过程不可靠;或 c) 安装过程耗时过长(如超过 5 分钟)。请参阅我的 SO 回答 here 了解更多信息。

    【讨论】:

    • 不要忘记 Web 应用程序,它比 Web 角色更容易配置。 azure.microsoft.com/en-us/documentation/articles/…
    • @KyleJV - 是的,你是对的。事实上,现在有很多很多方法可以做事。大约四年前,我发布了这个答案。 :) VM 角色甚至不再存在。内容还是比较有效的,不过我会记一下,尽快更新答案。