【问题标题】:JavaEE technology stack on Windows Azure?Windows Azure 上的 JavaEE 技术栈?
【发布时间】:2012-01-14 07:53:17
【问题描述】:

我公司的组织正在考虑迁移到云端。我的老板(工程总监)建议使用 Windows Azure,因为他最近加入了我们的组织,来自一家仅 .NET 的商店,他之前的公司利用了它。我们的组织是一家 Oracle/Java EE 商店,我个人从 .NET 3.5 首次发布以来就与 Microsoft/.NET 世界脱节。因此,我正在研究 Azure 上的 Java 支持,但我能找到的最多的是基本的 Tomcat 支持。以下是我们将要迁移的技术堆栈(主要是 Java)的概述:

  • Spring 框架(大量使用)
  • Java EE / EJB / Java 消息服务 /
  • Spring MVC
  • Spring Portlet MVC / JSR-168(portlet API)
  • Memcached 用于缓存
  • 用于某些分析应用程序的 CouchDB
  • JAX-WS 和 JAX-RS 网络服务
  • Oracle PL/SQL / ETL / 10s TB 的数据仓库
  • (希望开始使用 Hadoop 来简化 ETL 处理)

这涉及目前在生产中运行的相当大的 2 个 Web 应用程序和 6 个 Web 服务。

我的问题:Azure 是否适合这种迁移?对我来说似乎不是,但我想听听你的回答。

我建议亚马逊,但我的老板并不相信,因为他追求的是 PaaS 模型,而不是具有 IT 管理开销的 IaaS 模型。

谢谢!

【问题讨论】:

标签: azure cloud azure-sql-database cloud-hosting


【解决方案1】:

我当然已经使用辅助角色在 Azure 上运行 Java 组件。

我采用的策略是使用 AzureRunMe 作为引导程序来加载应用程序所需的组件。

https://github.com/RobBlackwell/AzureRunMe

实际上,您将依赖项放在 zip 文件中,将它们上传到 blob 存储,AzureRunMe 会在机器启动时为您下载它们。您为应用程序的安装编写脚本,AzureRunMe 将为您执行(如果需要,提升权限)。脚本完成后,机器将连接到 Azure 负载均衡器,为业务做好准备。

我会推荐 SQL Azure 而不是安装 Oracle。

您可以使用 Azure 内存缓存而不是 Memcached,这可能是您可以进一步考虑的事情,并最初使用 Memcached。

值得吗?使用 PaaS 有很多好处,即 Azure 负责应用程序的部署和操作系统的修补。 SQL Azure(关系数据库即服务)很好,因为您不必做一些其他需要的维护。

无论如何,在 Azure 上安装所需的工作与您在 IaaS 环境中必须完成的工作类似。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多