MCCC Support
Introduction
We want to find the best way to support the Midwest species selector tool. Based on my initial investigation it’s currently hosted on one digital ocean droplet that contains the following tools
MCCC row crop tool Vue.js application
MCCC row crop tool PHP API
MCCC MySQL data entry tool Vue.js application
MCCC MySQL data entry tool PHP API
MCCC vegetable tool Vue.js application (on the develop version)
MCCC vegetable tool PHP API (on the develop version)
MCCC WordPress site
MySQL database that stores data for all of the above
Challenges with supporting the current build
Because there are so many projects all hosted on one server, it is very easy to cause downtime for one or more of the tools. When I started looking at how the cover crop row tool is architected, it caused an outage for the MCCC WordPress site even though those tools should be logically independent.
No one on our team has any Vue.js experience.
No one on our team has substantial PHP experience.
Any bug fixes are likely going to cause downtime for one or more of the above tools.
Possible solutions
Rebuild the tool using the stack that our team is familiar with. This will increase the initial time needed but will greatly improve the speed of future bug fixes and maintenance. There would be some styling differences because it will be in a different language.
Make a copy of the current server (this will cause guaranteed downtime, but the timing can be controlled) and then divorce out the tools listed above into their own servers so that they aren’t comingled. This will allow development of one tool to be independent of the others. The danger of this solution is that the server may not start up cleanly after making a copy. This may prolong the downtime for one or more of the above tools.
Make changes to the live server without divorcing out the tools. This is the most dangerous solution because at any time a change to one tool could cause an outage to one or more of the others.
Timelines for Possible Solutions
Approximately 4-6 weeks to have a rebuild demo ready.
Assuming no hiccups with making an copy of the server, it should take around 2 weeks to put the tools above on their own servers, it’s hard to give an estimate for bug fixes without being able to look at the server. I’m assuming that the Priority 1 - Emergency issues could be resolved in
Questions for Juliet
How are deployments on the tool handled? I didn’t see git repositories, how is new code pulled?