Maintenance Plan
Maintaining the VADEMOS tool requires attention to both data updates and application/server upkeep. Below is a structured overview of the key maintenance activities:
1. Data Maintenance
1.1. VADEMOS Database and AWS Maintenance
- Database Licenses: Ensure that all AWS-related licenses (e.g., RDS instance) are renewed on time. Monitor database usage and ensure that resources (e.g., storage, CPU) align with the needs of the VADEMOS tool.
- AWS Backups: Regularly back up the database to prevent data loss. Implement automated daily backups using AWS RDS features or similar tools. Verify backups quarterly.
- Database Performance: Optimize queries and indices periodically to maintain performance as data grows. Monitor slow queries using AWS monitoring tools.
1.2. FAO Dataset Updates
- Frequency: The FAO dataset is updated annually. When a new dataset is available, update the corresponding database table in VADEMOS.
- Steps to Update:
- Download the updated FAO dataset.
- Preprocess the data to ensure it aligns with the format and schema used in the database.
- Replace the outdated dataset in the database and test the app for any changes.
- Verification: Cross-check key statistics (e.g., population trends) before finalizing the update.
1.3. Population Prediction
- Yearly Run: Use the updated FAO dataset to generate new population predictions for the next 10 years using the AutoEnsemble model.
- Steps:
- Rerun the AutoEnsemble script with the new dataset.
- Update the
forecasted_data
table with the newly generated population predictions. - Validate predictions using historical trends.
- Timing: This should be done annually after the FAO dataset is updated.
1.4. Density Data Updates
- Frequency: Gridded Livestock (GLW4) datasets are updated periodically (e.g., 2018, 2022). Monitor FAO for new releases.
- Steps to Update:
- Download the latest GLW4 dataset.
- Rerun the GIS processing pipeline to recalculate density data (zonal statistics).
- Update the
density
table in the database.
- Verification: Ensure that calculated densities match expected values by sampling a few administrative regions.
2. Application and Server Maintenance
2.1. Shiny App Updates
- Code Updates: Review and update the app code for any deprecated functions or packages. Perform this check biannually or when a major R version is released.
- Package Management:
- Regularly update R and R packages used in the app.
- Test the app locally after each update to ensure no compatibility issues arise.
- Feature Enhancements: Periodically review user feedback for new feature requests or usability improvements.
2.2. Server Monitoring and Security
- Resource Monitoring: Use AWS CloudWatch or similar tools to monitor server performance (e.g., CPU usage, memory, and disk space).
- Scaling: Adjust instance size or auto-scaling policies to handle increasing traffic.
- Security:
- Ensure that all server endpoints are secured with HTTPS.
- Regularly rotate database credentials and AWS keys.
- Monitor for unauthorized access attempts using AWS CloudTrail.
2.3. Regular Testing
- Functionality Tests: Test the app's core functionalities after any update to the database, density data, or FAO dataset.
- User Interface (UI): Review the UI for any display issues or responsiveness problems on different devices.
- Load Testing: Perform load testing annually to ensure the app can handle peak traffic.
3. General Maintenance Activities
3.1. Documentation Updates
- Keep all documentation (e.g., maintenance steps, data pipelines, user guides) updated after every major change to the system.
- Maintain a changelog for every modification made to the app or database.
3.2. Disaster Recovery
- Backup Testing: Periodically restore backups in a test environment to ensure data recovery processes are functioning correctly.
- Failover Plan: Implement a disaster recovery plan with a backup server or database instance in a different region for high availability.
3.3. User Access Management
- Regularly review user access permissions for both the database and the app. Ensure that access is granted only to authorized personnel.
Summary of Key Maintenance Intervals
Activity | Frequency |
---|---|
FAO Dataset Update | Annually |
Population Prediction | Annually (post FAO update) |
Gridded Livestock Update | When new data is available (e.g., 4-5 years) |
App Code Updates | Biannually or as needed |
Database Backups | Daily (Automated) |
Security and Monitoring | Monthly |
Load Testing | Annually |
By adhering to this maintenance plan, the VADEMOS tool will remain reliable, efficient, and up-to-date.