Grails CloudFoundry是否提供应用即服务?

Grails CloudFoundry是否提供应用即服务?,grails,cloud-foundry,paas,Grails,Cloud Foundry,Paas,我正在寻找一个基于云的pub、priv或hybrid解决方案,该解决方案允许我为我的应用程序配置平台容器、系统堆栈、虚拟化硬件等的每个细节,但也可以在我运行第一次构建时在所有应用程序服务器节点上部署我的应用程序的模板版本。因此,我配置了应用程序/平台,单击一个按钮,然后砰的一声:我部署了一个WAR,并在一个节点集群上运行。诚然,由于我目前还没有编写任何代码,这场部署的战争将在其内部包含最低限度的代码,并将构成产生战争所需的最低限度的代码。在Grails的情况下,它可能只是运行GrailsCrea

我正在寻找一个基于云的pub、priv或hybrid解决方案,该解决方案允许我为我的应用程序配置平台容器、系统堆栈、虚拟化硬件等的每个细节,但也可以在我运行第一次构建时在所有应用程序服务器节点上部署我的应用程序的模板版本。因此,我配置了应用程序/平台,单击一个按钮,然后砰的一声:我部署了一个WAR,并在一个节点集群上运行。诚然,由于我目前还没有编写任何代码,这场部署的战争将在其内部包含最低限度的代码,并将构成产生战争所需的最低限度的代码。在Grails的情况下,它可能只是运行GrailsCreateAppMyApp生成的代码

我将此应用程序称为服务,因为它不仅是传统的PaaS,而且更进一步,使用某种模板化的源代码repo部署打包的WAR


我的问题:CloudFoundry说他们支持多个框架Spring、Grails等。;这是否意味着它可以做我上面描述的事情?如果不是,CloudFoundry说他们支持Grails框架是什么意思?

使用CF您可以配置平台/操作系统。目前使用的容器是典狱长。虚拟化硬件取决于CF中使用的IaaS。然后,您可以“单击一个按钮”,您的应用程序将部署并在节点群DEA实例中运行

CloudFoundry表示他们支持多个框架Spring、Grails等。;这是否意味着它可以做我上面描述的事情

我不完全理解您在上面试图做什么,但我可以告诉您CloudFoundry的一般工作流程

作为管理员,您可以使用Bosh将CloudFoundry部署到您的IaaS中。假设您是IaaS的管理员,您可以在IaaS级别控制任何您想要的内容,只要您满足CF的要求,如存储、内存和CPU。此外,您可以通过调整CF的各种配置设置YAML文件来控制CF部署。这允许您调整内存、CPU、磁盘空间等资源量。。可供应用程序开发人员使用

作为开发人员,您需要将应用程序推送到正在运行的CF安装中。您可能是该CF安装的管理员,也可能不是,如果您不是,则您将受制于管理员的策略

推送过程需要应用程序ruby、python、php、go、java、grails等。。。然后将其上传到CF。从那里,构建包将应用程序文件变成一个小水滴。这个过程比听起来容易,构建包只是添加了运行应用程序所需的所有东西,比如web服务器或应用程序容器。创建液滴后,CF将运行它,如果您愿意,甚至可能运行它的多个实例

进一步的注释/澄清:

应用程序获得的内存量取决于应用程序开发人员,可以在推送应用程序时或以后使用cf scale进行调整

CPU在所有应用程序中共享。您不能为每个应用保留或保证使用率。但应用程序的使用是有限的,因此一个应用程序无法窃取所有可用的CPU

每个应用程序的磁盘存储量由管理员设置

应用程序的磁盘存储是短暂的,在应用程序重新启动时会被清除。应通过服务提供持久存储

如您所见,CF管理员对系统有很好的控制。应用程序开发人员并不多,但事实上这就是PaaS的要点。应用程序开发人员不想浪费时间玩系统管理。他们只想运行他们的应用程序

如果不是,CloudFoundry说他们支持Grails框架是什么意思

这意味着您可以获取Grails生成的WAR文件,并在CloudFoundry上运行它,而无需任何额外工作

CloudFoundry系统使用构建包处理获取应用程序(即Grails WAR文件)并准备运行的过程。如上所述,这通常涉及安装和配置某种服务器。在Java/Grails的情况下,它涉及到设置ApacheTomcat并将其配置为运行应用程序。注意,如果您不喜欢默认的配置方式,您可以自定义或创建自己的构建包,以完全按照您喜欢的方式配置它

CloudFoundry支持Grails和其他基于JVM的语言,因为它可以接受这些应用程序并自动安装、配置和运行它们