Google App Engine(GAE)的最新升级已经开始支持Java,并且添加了一系列专门瞄准企业业务的新功能;此后,Google还发布了一款Eclipse插件,可以对Google App Engine的Java开发提供强力支持。原先的GAE主要是一个以消费者网络应用为重点的云计算产品,相比较功能的多少,Google更关注于它的性能是否稳定,以及高扩展性。它将云计算 精简到一个新的水平,同时保持了运行的迅速。以前的GAE需要使用Python语言,专有的数据库,以及请求/响应的应用模型。
Google在保持优点的同时,为GAE做了最新的升级,带来了许多企业需要的新功能和新技术,使新的云计算平台得到更广泛的用途。
GAE的新功能
支持Java虚拟机。现在,你可以在GAE中运行Java 5和Java 6的代码,只要它不破坏Google的服务器。鉴于大多数企业都已经应用了标准化的.NET或Java环境,这个升级是条大新闻,因为以前GAE只支持 Python。这大大减少了企业进入GAE的障碍,因为代码不用完全重写了。另一个关键的新区别是Google决定直接支持Java字节码,而不只在源代 码级做到兼容。这等于为GAE带来了无穷的新功能,例如依赖注入dependency injection,面向方面编程(AOP),和表达式语言运行时(expression language runtimes)等许多现在流行的Java平台上的实用功能。这也意味着几乎任何编程语言都能够在GAE的Java虚拟机上运行。Google已经为 GAE测试过Groovy、JavaScript、Python、Ruby、Scala和Scheme等几乎全部时下流行的开发语言。
访问企业内部资源。GAE提供了新的安全数据连接器(Secure Data Connector,SDC),为企业在GAE中使用自己的数据、网络服务和SOA提供了一个安全的隧道,而不需要将数据移动到云中。SDC要求 Google Apps Premier版本,在防火墙内为GAE应用和企业数据之间提供了一个完全加密保障。通过SDC,GAE可以比以前更直接更安全的广泛访问企业数据。
数据库导入。某些类型特别是高性能的应用要求企业数据转移到Google的云中。新的GAE数据库导入工具可以使企业将数据大量从本地导入GAE。这将使企业能够在需要时更容易更迅速的将产品数据集迁移到GAE。
支持批量工作。GAE原先只提供单独的请求/响应模型,就像Web本身的HTTP GET/POST方法等。这使GAE的计算平台只是在网络出现外部访问要求时才会工作,而后台处理工作则受到限制。因此在之前企业必须在GAE之外自己建 立批量工作。而现在,GAE内置了Cron支持,可以同时支持请求/响应模型和后台处理,满足了强大的企业级应用需要,因为后台处理常用于完成比如备份、 生成报告、异步处理等重要的任务。
GAE依然缺乏的功能
GAE新增加的功能非常重要,当然也会收到企业的欢迎。但我们认为,在许多企业已经发展出许多自己的具体技术需求下,GAE尚未能提供足够的功能满足他们的需要
消息队列。当处理大量数据或众多事件时,应用程序需要拥有在无法全部处理时存储信息的消息队列方法。虽然云计算平台在理论上具有足够的弹性来处理所 有消息,但现实的物理情况(也许有成本考虑)是在处理大量信息和重型任务时,应用程序会出现问题。Amazon提供的云服务已经通过SQS具有了消息队列 功能,建议GAE也考虑一下。
服务器端push和实时事件。许多类型的商业应用都不能经济有效地使用polling来查看数据是否发生了变化,或者重要事件的发生。虽然 Google将服务器端的超时反应时间缩短到30秒,但在关键事件发生时GAE仍然缺乏有效的方式快速通知外部系统。而实时事件的处理也是非常重要的,尤 其是对于呼叫中心、财政系统、医疗系统这样的需要快速将业务数据传输到网络客户端的应用。
SQL数据库支持。GAE内置的Datastore据说是基于BigTable的,而不是SQL。虽然它为Petabyte级海量数据设 计,但具有局限性,无法发挥高性能。SQL数据库是今天的企业支柱,可以说如果不支持SQL,将使许多应用无法移到Google的云中。同样的,在对 SQL的支持方面Amazon又提前了一步。Google坚持使用其独特的数据库可能会提高GAE的性能和可扩展性,但不应该建立在牺牲通用的应用模型和 开发者的习惯的基础之上
企业友好的管理和监测工具。Tivoli、Patrol和其他一些IT管理工具是如今企业管理本地IT资源和数据中心的主要手段,企业也需要一个统 一的管理方法来管理
更多详细信息,请您微信关注“计算网”公众号: