Change Management Process
- Change Management Process
This article details the Change Management Process for our MediaWiki server infrastructure. It is intended for new server engineers and system administrators who will be making changes to the production environment. Adhering to this process is critical to maintaining system stability and minimizing disruption to our users. Understanding this process and the associated tools is essential for all personnel with access to the server environment. Please also review our Disaster Recovery Plan and Security Policy for related information.
Overview
The Change Management Process is a structured approach to controlling changes made to the MediaWiki server environment. This process ensures all changes are planned, tested, approved, and implemented in a controlled manner. This includes changes to the PHP configuration, Apache web server settings, database schema, extensions, and core MediaWiki code. Failure to follow this process can lead to unexpected downtime, data loss, or security vulnerabilities. It is closely tied to our Monitoring System and Incident Response Procedures.
Change Request Process
All proposed changes, regardless of size, must be submitted as a Change Request (CR). The CR should include a detailed description of the change, the reason for the change, the potential impact, the rollback plan, and the testing plan.
The process flow is as follows:
1. **Submission:** Submit the CR via our Jira ticketing system. 2. **Review:** The CR will be reviewed by the Change Advisory Board (CAB), consisting of senior server engineers and the Database Administrator. 3. **Approval:** Approved CRs will be scheduled for implementation. 4. **Implementation:** The change will be implemented during a scheduled maintenance window, if necessary. 5. **Verification:** After implementation, the change will be verified to ensure it functions as expected. 6. **Documentation:** All changes must be documented in our Wiki Documentation System and the Configuration Management Database.
Risk Assessment & Impact Analysis
Before any change is approved, a thorough risk assessment and impact analysis must be conducted. This involves identifying potential risks associated with the change, assessing the likelihood and impact of those risks, and developing mitigation strategies.
Here's a breakdown of risk levels:
Risk Level | Description | Action |
---|---|---|
High | Significant potential for disruption or data loss. | Requires extensive testing, rollback plan, and CAB approval. May require postponement. |
Medium | Moderate potential for disruption. | Requires thorough testing and a rollback plan. |
Low | Minimal potential for disruption. | Requires basic testing and documentation. |
Impact analysis determines which systems and services may be affected by the change. This includes evaluating dependencies and identifying potential conflicts with existing configurations. We use a Dependency Mapping Tool to assist with this process.
Maintenance Windows
Changes that may impact users should be implemented during scheduled maintenance windows. These windows are typically scheduled during off-peak hours to minimize disruption.
Current Maintenance Window Schedule:
Day | Time (UTC) | Duration |
---|---|---|
Saturday | 02:00 - 06:00 | 4 hours |
Sunday | 02:00 - 06:00 | 4 hours |
Wednesday | 02:00 - 04:00 | 2 hours |
Emergency changes may be implemented outside of scheduled maintenance windows, but require explicit approval from the System Administrator and the CAB.
Rollback Plan
Every change must have a detailed rollback plan in case of failure. The rollback plan should outline the steps required to restore the system to its previous state. This may involve restoring backups, reverting configuration changes, or disabling the new functionality. Testing the rollback plan is crucial to ensure its effectiveness. Consider using Version Control System for configuration files.
Testing Procedures
Before implementing any change in the production environment, it must be thoroughly tested in a staging environment that mirrors the production environment as closely as possible. Testing should include:
- **Unit Tests:** Test individual components of the change.
- **Integration Tests:** Test the interaction between different components.
- **User Acceptance Testing (UAT):** Allow key users to test the change and provide feedback.
Technical Specifications for Staging Environment:
Component | Specification |
---|---|
CPU | Intel Xeon E5-2680 v4 (14 cores) |
Memory | 64 GB DDR4 ECC RAM |
Storage | 1 TB SSD RAID 1 |
Operating System | Ubuntu Server 22.04 LTS |
Database | MariaDB 10.6 |
Documentation Requirements
All changes must be thoroughly documented, including:
- The Change Request number
- A detailed description of the change
- The implementation steps
- The results of testing
- Any issues encountered
- The rollback plan
Documentation should be stored in our Wiki Documentation System and the Configuration Management Database. Clear and concise documentation is essential for troubleshooting and future maintenance. Refer to the Documentation Standards Guide for detailed instructions.
Special:Search for more information on related topics.
Main Page Server Administration Database Maintenance PHP Configuration Apache Configuration
Intel-Based Server Configurations
Configuration | Specifications | Benchmark |
---|---|---|
Core i7-6700K/7700 Server | 64 GB DDR4, NVMe SSD 2 x 512 GB | CPU Benchmark: 8046 |
Core i7-8700 Server | 64 GB DDR4, NVMe SSD 2x1 TB | CPU Benchmark: 13124 |
Core i9-9900K Server | 128 GB DDR4, NVMe SSD 2 x 1 TB | CPU Benchmark: 49969 |
Core i9-13900 Server (64GB) | 64 GB RAM, 2x2 TB NVMe SSD | |
Core i9-13900 Server (128GB) | 128 GB RAM, 2x2 TB NVMe SSD | |
Core i5-13500 Server (64GB) | 64 GB RAM, 2x500 GB NVMe SSD | |
Core i5-13500 Server (128GB) | 128 GB RAM, 2x500 GB NVMe SSD | |
Core i5-13500 Workstation | 64 GB DDR5 RAM, 2 NVMe SSD, NVIDIA RTX 4000 |
AMD-Based Server Configurations
Configuration | Specifications | Benchmark |
---|---|---|
Ryzen 5 3600 Server | 64 GB RAM, 2x480 GB NVMe | CPU Benchmark: 17849 |
Ryzen 7 7700 Server | 64 GB DDR5 RAM, 2x1 TB NVMe | CPU Benchmark: 35224 |
Ryzen 9 5950X Server | 128 GB RAM, 2x4 TB NVMe | CPU Benchmark: 46045 |
Ryzen 9 7950X Server | 128 GB DDR5 ECC, 2x2 TB NVMe | CPU Benchmark: 63561 |
EPYC 7502P Server (128GB/1TB) | 128 GB RAM, 1 TB NVMe | CPU Benchmark: 48021 |
EPYC 7502P Server (128GB/2TB) | 128 GB RAM, 2 TB NVMe | CPU Benchmark: 48021 |
EPYC 7502P Server (128GB/4TB) | 128 GB RAM, 2x2 TB NVMe | CPU Benchmark: 48021 |
EPYC 7502P Server (256GB/1TB) | 256 GB RAM, 1 TB NVMe | CPU Benchmark: 48021 |
EPYC 7502P Server (256GB/4TB) | 256 GB RAM, 2x2 TB NVMe | CPU Benchmark: 48021 |
EPYC 9454P Server | 256 GB RAM, 2x2 TB NVMe |
Order Your Dedicated Server
Configure and order your ideal server configuration
Need Assistance?
- Telegram: @powervps Servers at a discounted price
⚠️ *Note: All benchmark scores are approximate and may vary based on configuration. Server availability subject to stock.* ⚠️