Cloud 如何在云提供商上部署和运行需要频繁更新的php应用程序

Cloud 如何在云提供商上部署和运行需要频繁更新的php应用程序,cloud,cloud-hosting,amazon-elastic-beanstalk,openshift,phpfog,Cloud,Cloud Hosting,Amazon Elastic Beanstalk,Openshift,Phpfog,我正在创建一个php应用程序-该应用程序将有两种类型的更新-- (a) 应用程序本身需要定期更新——管理应用程序的用户将收到更新通知,他可以初始化更新 (b) 最终用户可以上传自己的文件(如主题的自定义css/js文件),以便使用自己的自定义设计呈现php应用程序。用户还可以将自己的文本内容添加到应用程序中 现在,我想将这个应用程序部署到一个云提供商——最好使用PaaS,比如Amazon Elastic beanstalk、PHP Fog或Red Hat Open Shift——我对以下内容感到

我正在创建一个php应用程序-该应用程序将有两种类型的更新--

(a) 应用程序本身需要定期更新——管理应用程序的用户将收到更新通知,他可以初始化更新

(b) 最终用户可以上传自己的文件(如主题的自定义css/js文件),以便使用自己的自定义设计呈现php应用程序。用户还可以将自己的文本内容添加到应用程序中

现在,我想将这个应用程序部署到一个云提供商——最好使用PaaS,比如Amazon Elastic beanstalk、PHP Fog或Red Hat Open Shift——我对以下内容感到困惑--

(1) 据我所知,要部署php应用程序的初始版本,我首先必须创建应用程序的本地安装,正确配置,然后将此配置版本部署到云提供商。但是参考上面的第1点,我是否必须在本地安装上初始化每个更新,然后将新版本上载到PaaS平台

(2) 现在,参考用户对已经在云上运行的应用程序版本所做的更改,我如何确保他对应用程序所做的更改(无论是存储在数据库中的更改还是他上传的文件)保持不变?如果我只是上传本地版本(我通过定期更新进行了升级),那么我将丢失工作人员在以前版本的云版本上所做的文件/数据库更改?如何保持这些文件和数据库更改的完整性


我能想到的一件事是,使用我想用于云版本的数据库,甚至用于应用程序的本地版本——因此,即使用户进行了更改(我指的是对数据库所做的更改)--然后,即使我将我的新版本上传到云端——对数据库所做的更改保持不变……现在我只需要考虑用户上传的文件——即使我在这方面是正确的,我如何保存这些文件?如果我不正确,如何在数据库和文件中保留最终用户所做的更改?如何做到这一点并升级我的php应用程序。

我知道这是一个老问题,但我会提出一些建议:

1.)是的,根据您选择的PaaS,您可能更需要从本地工作站启动所有更新,而不是使用git

2.)如果您有用户对应用程序(代码)进行更改,那么您需要让他们也可以使用git或您正在使用的任何vcs。或者,您只需要使用SFTP或SCP上传文件,每个人都基于这个概念工作

提供关于您所谈论的应用程序的确切类型的更具体的信息可能会有所帮助。我不确定你说的是让用户更改运行应用程序的代码,还是让他们更新内容,比如使用drupal/wordpress