Google App Engine 的替代品 +爪哇
如果我使用 Java 在 GAE 上开发 Web 应用程序,将来我是否有轻松迁移的机会,还是会坚持使用 GAE?
Google App Engine + Java 的其他替代方案还有哪些?
不是:
If I develop my web application on GAE using Java, in future would I have easy migration opportunities, or will I stuck to GAE?
What can be other alternatives of Google App Engine + Java?
Not:
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
您几乎是在 Google 管理的容器内开发 GAE - 针对受限的 Java 和其他 API。这就是 PaaS(平台即服务)云计算方法。这与 Salesforce、Facebook 等方法类似。
然而,为了获得最大的灵活性,您应该考虑 IaaS - 基础设施即服务云平台(如 Amazon/Rackspace/等),您可以在其中获得最大的灵活性。
我们目前使用 Rackspace 和 Amazon,并使用机器作为我们的弹性容器,在其上我们可以部署任何我们想要的东西(自定义 Ubuntu 映像等......)
An GAE you are pretty much developing inside a Google managed Container - against restricted Java and other APIs. This is the PaaS - Platform As A Service approach to cloud computing. This would be similar to the Salesforce, Facebook etc approach.
However for most flexibility you should look at IaaS - Infrastructure As A Service Cloud platforms (like Amazon/Rackspace/etc..) where you have most flexibility.
We currently use both Rackspace and Amazon and have machines as our elastic containers on top of which we can deploy anything we want (custom Ubuntu image etc..)
只要小心一点,您就可以编写一个 Java 应用程序,使其可以在 App Engine 上和之外运行。不过,如果您选择离开 App Engine,更好的选择是使用 AppScale。 AppScale 在您自己的硬件上提供与 App Engine 兼容的环境。
With some care, you can write a Java app such that it will work both on and off App Engine. A better option, though, would be to use AppScale if you choose to leave App Engine. AppScale provides an App Engine compatible environment on your own hardware.
目前 GAE 最有力的竞争对手是 Windows Azure。您可以轻松地在 Azure 中构建站点/应用程序,而无需依赖 Azure 框架。 Azure API 中需要处理的内容/很少/很少(主要用于诊断)。如果您决定使用其他 Azure 服务(例如表存储服务),您将需要真正擅长将自己从表存储中抽象出来,以使代码可移植。处理 SQL Azure(至少从利用率的角度来看)与使用 SQL Server 没有什么不同,您需要从实际的 RDBMS 实现中进行简单的抽象(大多数数据访问库无论如何都会这样做),以便稍后使用 MySQL 或 Oracle 等。
right now most viable competitor of GAE is Windows Azure. You can easily build a site/application in Azure without getting dependent on Azure framework. There is /very/ little from Azure APIs that you have to deal with(mostly for diagnostics). If you decide to use other Azure services, like table storage services, you'll want to get real good at abstracting yourself away from the table storage to make your code portable. Dealing with SQL Azure (at least from utilization perspective) is no different then using SQL Server and you would need to make a simple abstraction from actual rdbms implementation (most data access libraries do that anyway) to later utilize MySQL or Oracle, etc.
您可能会坚持使用 GAE(或者您可以自己复制的非常相似的平台)。
替代方案:亚马逊 EC2? Windows Azure?
You will probably be stuck to GAE (or a very similar platform you could replicate on your own).
Alternatives: Amazon EC2? Windows Azure?
使用 GAE 要求您围绕其系统设计应用程序,因此迁移可能需要重写。当然至少是他们的 NoSQL 数据库。有些人说 Amazon EC2 是更好的选择,但我还没有尝试过。另外,我更喜欢基于 python 的东西,比如 Django,而不是 Java 的东西。也尝试一下 pajamas 客户端工具包。
Using GAE requires you to design the app around their system so migration could require a rewrite. Certainly their NoSQL db at the least. Some people are saying Amazon EC2 is a better bet, but I haven't tried it yet. Also I prefer python-based stuff like Django, rather than Java stuff. Try the pyjamas client-side toolkit also.