我在2个月前开始使用python / gae进行Web开发。我们从gae切换到亚马逊AWS和Java Play!。
如果我想在AWS上部署我的应用,是否会遇到问题?目前我可以使用Elasticbeanstalk,它是一个单一的解决方案。 Elasticbeanstalk与Play兼容吗!
我不知道Scala。由于编写良好的教程,我使用Scala进行模板/路由系统没有任何问题。但也许我会遇到未来的问题。如果我想使用Play,你会推荐我学习Scala吗?
我可以在本地运行我的应用程序而无需部署它,这给了我一个非常好的工作流程。是否可以为AWS开发并在本地测试我的应用程序?
答案 0 :(得分:2)
回答你的问题
由于AWS Elastic Bean Stalk支持在其上部署Java Web Apps。在部署Play时不会有任何问题!项目
你不必是Scala Pro才能使用Play!。在使用Play时你会习惯Scala!并最终变得精通它,然后如果你想要你可以学习它。
当然,您可以开发适用于AWS的应用程序并在本地进行测试.Eclipse IDE有一个很棒的插件。
答案 1 :(得分:2)
哪个版本的Play!你在询问吗?
Beanstalk托管Tomcat并期望一个servlet技术(servlets,过滤器,捆绑为WAR),而Play! 2.0 Scala版本导致可运行的基于Netty的(非servlet)程序绑定到您选择的端口。玩! 2.1将支持servlet 3.0。 See this ticket for milestone information.
因此,您可能希望监控Play的servlet支持的进度,或者Beanstalk对基于Netty的技术的支持。
答案 2 :(得分:0)
如果您愿意升级到Play 2.3.x或更高版本,Boxfuse具有原生播放2支持以解决此问题。
Boxfuse为您创建一个最小的图像Play应用程序在VirtualBox和AWS上保持不变。
您可以使用Java或Scala编写应用程序,但来自Typesafe Play 2的应用程序对后者有很强的偏见。
要使用Boxfuse部署到AWS,您现在可以简单地执行boxfuse run my-play-app-1.0.zip -env=prod
,这将自动执行:
所有未来更新均以蓝/绿色部署执行,零停机时间。
这也适用于Elastic Load Balancers和Auto-Scaling Groups,Boxfuse免费套餐适用于AWS免费套餐。
您可以在此处详细了解:https://boxfuse.com/blog/playframework-aws
免责声明:我是Boxfuse的创始人兼首席执行官