Java云:谷歌App Engine 在使用谷歌App Engine的过程中,我们会感到兴奋和舒服。其作为一款先进的工具正在慢慢成熟,并且更容易被用户所理解和使用,也许是因为用户已经接受了其中的许多理念。 基础的架构主题是相同的。你上传带有业务逻辑的核心代码,App Engine将部署充足的实例以满足你的需求。如果你想在会话间存储或同步你的工作,你必需使用谷歌专用的数据存储和缓存,不过所有的东西感觉都相当优秀。App Engine的第一个版本使用了Python,但是现在你可以增加带有JSP、小服务程序和服务器端逻辑的Java WAR文件。通过独立的Web界面进行管理。命令行问题几乎已经不再出现。 尽管架构和数据存储没有变化,但是工具却更为复杂和丰富,通过许多功能和按键可以调整配额和性能。我使用了整套的Eclipse插件创建了应用,整个环境与NetBeans和IntelliJ很相似。工具还将谷歌Web Toolkit与App Engine整合在了一起,尽可能的在Java中完成你的所有编程。如果你不能忍受JavaScript或想在服务器和客户端上使用相同的代码,那么谷歌的Web Toolkit可以为浏览器翻译你的Java。 我认为对于程序员来说最大的挑战是适应谷歌的非关系型数据库。当谷歌App Engine首次出现,并没有太多的NoSQL项目。存储“名称/值”对的集合这一概念还是件新奇的事物。任何有着一定的NoSQL经验的App Engine用户都不会被这一如此简洁的解决方案所震惊。但是任何考虑连接和规范数据的人需要打破以往的陈规,适应新的方式。 App Engine提供两个级别的数据库,所以架构师必须确定是否为额外的能力付款。基本模式是让一个数据中心成为主数据中心其它的成为附属数据中心。如果数据中心宕机或执行预定的维护任务,那么你的数据将无法存储。你必须要做好面对“预定的只读期”的准备。许多新的Web应用(如脸谱)能够很轻松的克服这类小故障,但许多需要金融级的可获得性和一致性的应用则需要考虑另的办法。 低租金的主-从配置被认为只有高端版本成本的三分之一,且写入成本只为高端同类产品的八分之五。不过,在写入速度上,低租金版本比高端云计算可能要慢两倍,并且可能还存在无法写入的时候。你必须要关注这些数字,因为机制中还包括了大量隐性支出。 Java云:Cloud Foundry Spring是Java中最干净的架构。这让人们使用其作为Java云计算基础变得很有意义。SpringSource如今已经成为了VMware的一部分,并且成为了Cloud Foundry的领导者。因此,其被创建在VMware虚拟机顶端并不意外。 使用Cloud Foundry的最早方式是通过SpringSource定制版的Eclipse利用模板创建一个Spring项目。该工具被称为 SpringSource工具套件。我尝试在自己的Eclipse版本安装了一些SpringSource工具,但是库的正确收集并不容易发现。 SpringSource工具套件则非常简单。 Cloud Foundry并不局限于Spring,其还支持Rails、Sinatra、Scala、Grails和Node.js。即使你不写任何Java,它们也能够在JVM上运行。Cloud Foundry不久刚刚宣布支持PHP和 Python/Django。 目前VMware仍然对其价格保持沉默。产品还处于测试阶段,VMware还无法对其进行充分的定价。Cloud Foundry虚拟机开放程度较高,你可以下载Micro Cloud Foundry——Cloud Foundry环境中的便携虚拟机镜像,然后在自己带有VMware Player的环境中运行。其核心代码在cloudfoundry.org中被开放,并且大部分被Apache许可证所涵养。 Java云:CloudBees CloudBees不仅提供了一个部署应用的云计算,而且提供了一个创建它们的工具。你的账户不仅仅是将你的数据服务于大众的一个方式。其还有代码库(Git或Subversion)和监听你输入的每一个代码的Jenkins服务器。 我能够输入代码并等待Jenkins去创建、测试和、汇集文件并将其部署至服务器中。如果我需要更多,这里有大量的其它服务、插件和交换机。 其原理是CloudBees有大量平等工作的高端盒子,以用于创建大量代码。你不再需要等待你的桌面机器页入适当的库,取而代之的是让Jenkins分配你的模块至CloudBees中。 但是我并没有看到什么优势。我的Web应用只是一个JSP。连接Jenkins的Web界面一直出现一个进度条并有一个闪动的蓝色球体,这表明我的本地机器能够比CloudBees数据中心更快的创建这些文件。 CloudBees云的实质是Tomcat和MySQL,不过一些经过紧密整合的第三方数据库也可以使用。比如Cloudant提供了CouchDB服务,MongoHQ提供MongoDB数据库服务。 CloudBees还提供许多免费服务,不过限制也非常严格。只有临时性的研发人员喜欢它们。任何长期从事研发工作的人员都会快速的升级到付费服务。 |