Windows Azure上的JavaEE技术堆栈?

时间:2012-01-11 17:39:26

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

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

  • Spring Framework(大量使用)
  • Java EE / EJB / Java消息服务/
  • Spring MVC
  • Spring Portlet MVC / JSR-168(porltlet API)
  • Memcached for caching
  • 适用于某些分析应用程序的CouchDB
  • JAX-WS和JAX-RS Web服务
  • Oracle PL / SQL / ETL / 10 TB的数据仓库
  • (想开始使用Hadoop简化ETL处理)

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

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

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

谢谢!

1 个答案:

答案 0 :(得分: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环境中必须完成的工作类似。