Nginx web服务器在OpenStack-CloudFoundry堆栈中的作用在哪里

Nginx web服务器在OpenStack-CloudFoundry堆栈中的作用在哪里,nginx,docker,openstack,cloud-foundry,Nginx,Docker,Openstack,Cloud Foundry,我为一家小型网络初创公司工作。他们已经决定将OpenStack用作IaaS,然后再将cloudfoundry用作PaaS。我正在努力学习这个技术堆栈。但即使在浏览了网上的文档和相关资料后,我还是感到困惑 我想要什么 我有一个网站,目前运行在RHEL系统(aws实例)上,带有 nginx作为web服务器。我想把这个转移到OpenStack cloudfoundry 因为公司管理层已经决定这么做。他们也 想让我评估一下是否可以让Docker在任何地方使用 据我所知,OpenStack(Iaas)将为

我为一家小型网络初创公司工作。他们已经决定将OpenStack用作IaaS,然后再将cloudfoundry用作PaaS。我正在努力学习这个技术堆栈。但即使在浏览了网上的文档和相关资料后,我还是感到困惑

我想要什么

我有一个网站,目前运行在RHEL系统(aws实例)上,带有 nginx作为web服务器。我想把这个转移到OpenStack cloudfoundry 因为公司管理层已经决定这么做。他们也 想让我评估一下是否可以让Docker在任何地方使用

据我所知,OpenStack(Iaas)将为我提供所有与硬件软件需求相关的东西,cloudfoundry将在开发方面帮助我

现在,nginx(或任何web服务器)将出现在何处?它是Openstack的一部分还是cloudfoundry的一部分

在我的aws RHEL系统上,我是否只需安装Openstack和Cloudfoundry,然后推送我的应用程序,而不必担心下面会发生什么?我真的很困惑。。请帮忙


还有,在这个设置中,我可以利用Docker吗?

您通常不会在AWS上部署OpenStack。OpenStack与AWS的相似之处在于,它为您提供了创建和销毁虚拟机实例、管理虚拟机之间和周围的网络、将块设备连接到实例并将其分离等服务。换句话说,两者都是用于管理“基础设施”的服务,此处的“基础设施”指虚拟化数据中心,其核心是指一组运行虚拟机监控程序的硬件,允许您将数据中心视为一组可以根据需要上下旋转的虚拟机,而不是一组“静态”物理机

AWS是由Amazon提供的基础设施即服务,因此您不必自己安装AWS,您可以开始使用它在Amazon的数据中心内提供VM实例。OpenStack是您在自己拥有的硬件上自行安装(或由供应商为您管理)的软件,或者由您自己付费,一旦安装,OpenStack将提供与AWS类似的服务/接口

使用平台即服务,您更关心您的应用程序代码,“只是推动它”,而不必关心底层机器上发生的事情。您不必担心底层操作系统,确保应用程序具有正确的运行时和代码依赖性,通常不必关心为您的代码提供服务的Web服务器等。您还可以获得更多更高级别的功能,例如易于垂直或水平扩展、动态路由、,自动日志聚合、自动运行状况管理等

至于nginx如何适应,这取决于您如何使用nginx,以及您有什么样的应用程序。CloudFoundry处理应用程序的方法很少

一种是buildpack模型,您只需将源代码推送到平台,它就会自动检测应用程序的适当运行时和依赖项。例如,如果您的应用程序是Ruby应用程序,它将自动检测到这一点,并在默认情况下使用WEBrick服务器自动运行应用程序。但是,您可以选择其他Ruby Web服务器,如Phusion、Passenger等[1]

如果您的应用程序主要提供静态内容,那么它将使用nginx作为web服务器。[2]

另一种是使用Docker。您可以在Cloud Foundry上部署基于Docker映像的应用程序,在这种情况下,您可以有一个运行nginx的容器,并且您的应用程序可以在容器中运行,这取决于您是否仍然需要nginx。推送docker应用程序非常简单:

cf push trainingwebapp --docker-image training/webapp -c 'python app.py'
这里,使用Docker文档中的示例Hello World web应用程序。[3]

[1]
[2]

[3]

你好,阿米特,我找不到任何关于“docker image”选项的文档。你能给我指一些吗?