Reputation: 6474
I am working to create a php app- the app will have 2 types of updates--
(a) The app itself will require periodic updates-- the user who is administrating the app will be notified of updates and he can initialise the update.
(b) The end user can upload his own files (like custom css/js files for themes) so that his custom design is used to render the php app. The user can also add his own text content to the app
Now, I want to deploy this app to a cloud provider- preferably using a PaaS like Amazon Elastic beanstalk, or PHP Fog, or Red Hat Open Shift-- what I am confused about is the following--
(1) From what I understand, to deploy the initial version of the php app, I first have to create a local installation of the app, configure it correctly, and then deploy this configured version to the cloud provider. But with ref to point 1 above, do I have to initialise every update on my local installation, and then upload the new version to the PaaS platform?
(2) Now, with ref to the changes being made by the user to the version of the app that is already running on cloud, how do I ensure that his changes made to the app (whether any changes he made which are stored in the database or those files he has uploaded) remain intact? If I simply upload the version that I had locally (which I upgraded with the periodic updates)-- then I will lose the files/database changes made by the worker on the cloud version of the previous version? How do I keep those files+database changes intact?
One thing that I can think of, is to use the database that I want to use for the cloud version, even for the local version of the app-- so that even when the user makes changes (I am referring to changes made to the database)-- then even when I upload my new version to the cloud-- the changes made to the database remain intact...And now I only have to think about the files uploaded by the user - even if I am correct in this, how do I preserve these files? And if I am not correct, how do I preserve the changes made by the end user in both database and files? How do I do this and make upgrades to my php app.
Upvotes: 1
Views: 121
Reputation:
I know this is an old question, but I'll make a few suggestions:
1.) Yes, you would need to initiate all updates from your local workstation more than likely using git depending on what PaaS you choose.
2.) If you have users making changes to an application (the code), then you would need to give them access to also use git or whatever vcs that you are using. Or, you need to just use SFTP or SCP to upload the files, and everyone work based upon that concept.
Giving more specific information about what exact type of application you are talking about might help. I am not sure whether you are talking about having your users change the code that runs the applications, or having them update content such as with drupal/wordpress.
Upvotes: 0