Web 服务器在 OpenStack 中发挥什么作用 - CloudFoundry 堆栈
Where does web server come into play in OpenStack - CloudFoundry stack
我在一家小型网络初创公司工作。他们决定使用 OpenStack 作为 IaaS,然后在其之上使用 cloudfoundry 作为 PaaS。我正在尝试了解此技术堆栈。但是在浏览了网上的文档和相关资料后,我真的很困惑。
我想要什么?
我有一个网站,目前在 RHEL 系统(aws 实例)上运行,
nginx 作为网络服务器。我想将其转移到 OpenStack-cloudfoundry
堆栈,因为公司管理层已决定这样做。他们也
要我评估是否可以将 Docker 用于任何地方。
据我了解,OpenStack (Iaas) 会为我提供与硬件软件需求相关的所有东西,而 cloudfoundry 会在开发方面帮助我。
现在,nginx(或任何网络服务器)在哪里出现?它是 Openstack 的一部分还是 cloudfoundry 的一部分?
在我的 aws RHEL 系统上,我是否只安装 Openstack 和 Cloudfoundry,然后推送我的应用程序而根本不关心下面发生的事情?我真的很困惑..请大家帮忙
还有,在这个设置中有什么地方可以使用 Docker 吗?
您通常不会在 AWS 上部署 OpenStack。 OpenStack 类似于 AWS,因为它为您提供创建和销毁虚拟机实例、管理 VM 之间和周围的网络、将块设备附加和分离到实例等的服务。换句话说,两者都是用于管理 "infrastructures",这里的 "infrastructure" 表示一个虚拟化的数据中心,它的核心是一堆硬件 运行ning hypervisor,让你把数据中心看作一堆可以启动和运行的虚拟机按需关闭,而不是一堆 "static" 物理机。
AWS 是 Amazon 提供的基础设施即服务,因此您不必自己安装 AWS,您可以开始使用它在 Amazon 的数据中心内配置 VM 实例。 OpenStack 是您自己安装(或支付供应商为您管理)在您拥有或自己支付的硬件上的软件,安装后 OpenStack 提供类似于 AWS 的 service/interface。
有了平台即服务,您更关心自己的应用程序代码,"just pushing it",而不必太关心底层机器上发生的事情。您不必担心底层 OS,确保您拥有正确的 运行 应用程序的时间和代码依赖性,通常不必关心为您的服务提供服务的网络服务器代码等。您可以获得更多更高级别的功能,例如易于垂直或水平扩展、动态路由、自动日志聚合、自动健康管理等
就 nginx 的适用方式而言,这取决于您使用 nginx 的方式以及您拥有的应用程序类型。 Cloud Foundry 有几种处理应用程序的方法。
一种是 buildpack 模型,您只需将源代码推送到平台,它会自动检测适合您的应用程序的 运行 时间和依赖项.例如,如果您的应用程序是 Ruby 应用程序,它会自动检测到这一点,默认情况下会自动检测 运行 使用 WEBrick 服务器的应用程序。但是,您可以选择其他 Ruby 网络服务器,例如 Phusion、Passenger 等。[1]
如果您的应用程序主要提供静态内容,它将使用 nginx 作为网络服务器。 [2]
另一个正在使用 Docker。您可以在 Cloud Foundry 上部署基于 Docker 图像的应用程序,在这种情况下,您可以有一个容器 运行ning nginx 和您的应用程序在容器中,或者没有,这取决于您是否仍然需要 nginx。推送 docker 应用程序非常简单:
cf push trainingwebapp --docker-image training/webapp -c 'python app.py'
此处使用 Docker 文档中的示例 Hello World Web 应用程序。 [3]
[1] https://docs.cloudfoundry.org/buildpacks/ruby/ruby-prod-server.html
[2] https://docs.cloudfoundry.org/buildpacks/staticfile/index.html
[3] https://docs.docker.com/engine/userguide/containers/usingdocker/
我在一家小型网络初创公司工作。他们决定使用 OpenStack 作为 IaaS,然后在其之上使用 cloudfoundry 作为 PaaS。我正在尝试了解此技术堆栈。但是在浏览了网上的文档和相关资料后,我真的很困惑。
我想要什么?
我有一个网站,目前在 RHEL 系统(aws 实例)上运行, nginx 作为网络服务器。我想将其转移到 OpenStack-cloudfoundry 堆栈,因为公司管理层已决定这样做。他们也 要我评估是否可以将 Docker 用于任何地方。
据我了解,OpenStack (Iaas) 会为我提供与硬件软件需求相关的所有东西,而 cloudfoundry 会在开发方面帮助我。
现在,nginx(或任何网络服务器)在哪里出现?它是 Openstack 的一部分还是 cloudfoundry 的一部分?
在我的 aws RHEL 系统上,我是否只安装 Openstack 和 Cloudfoundry,然后推送我的应用程序而根本不关心下面发生的事情?我真的很困惑..请大家帮忙
还有,在这个设置中有什么地方可以使用 Docker 吗?
您通常不会在 AWS 上部署 OpenStack。 OpenStack 类似于 AWS,因为它为您提供创建和销毁虚拟机实例、管理 VM 之间和周围的网络、将块设备附加和分离到实例等的服务。换句话说,两者都是用于管理 "infrastructures",这里的 "infrastructure" 表示一个虚拟化的数据中心,它的核心是一堆硬件 运行ning hypervisor,让你把数据中心看作一堆可以启动和运行的虚拟机按需关闭,而不是一堆 "static" 物理机。
AWS 是 Amazon 提供的基础设施即服务,因此您不必自己安装 AWS,您可以开始使用它在 Amazon 的数据中心内配置 VM 实例。 OpenStack 是您自己安装(或支付供应商为您管理)在您拥有或自己支付的硬件上的软件,安装后 OpenStack 提供类似于 AWS 的 service/interface。
有了平台即服务,您更关心自己的应用程序代码,"just pushing it",而不必太关心底层机器上发生的事情。您不必担心底层 OS,确保您拥有正确的 运行 应用程序的时间和代码依赖性,通常不必关心为您的服务提供服务的网络服务器代码等。您可以获得更多更高级别的功能,例如易于垂直或水平扩展、动态路由、自动日志聚合、自动健康管理等
就 nginx 的适用方式而言,这取决于您使用 nginx 的方式以及您拥有的应用程序类型。 Cloud Foundry 有几种处理应用程序的方法。
一种是 buildpack 模型,您只需将源代码推送到平台,它会自动检测适合您的应用程序的 运行 时间和依赖项.例如,如果您的应用程序是 Ruby 应用程序,它会自动检测到这一点,默认情况下会自动检测 运行 使用 WEBrick 服务器的应用程序。但是,您可以选择其他 Ruby 网络服务器,例如 Phusion、Passenger 等。[1]
如果您的应用程序主要提供静态内容,它将使用 nginx 作为网络服务器。 [2]
另一个正在使用 Docker。您可以在 Cloud Foundry 上部署基于 Docker 图像的应用程序,在这种情况下,您可以有一个容器 运行ning nginx 和您的应用程序在容器中,或者没有,这取决于您是否仍然需要 nginx。推送 docker 应用程序非常简单:
cf push trainingwebapp --docker-image training/webapp -c 'python app.py'
此处使用 Docker 文档中的示例 Hello World Web 应用程序。 [3]
[1] https://docs.cloudfoundry.org/buildpacks/ruby/ruby-prod-server.html
[2] https://docs.cloudfoundry.org/buildpacks/staticfile/index.html
[3] https://docs.docker.com/engine/userguide/containers/usingdocker/