How much does it cost to maintain a self-built content system for more than a year, and how should this account be calculated?
This account cannot be calculated based on whether the server is expensive or the hosting is expensive, the main difference is in time. A cost estimation for self-built open-source content systems provides a range: self-built systems may take about 45% to 48% more maintenance time than hosting, and just for security patches, it may consume 312 to over 1300 developer hours in a year. By breaking down the working hours into security patches, backup drills, and upgrade regression, and then comparing the impact on the baseline in accordance with the deployment method, we can determine whether this time is worth it and which links can be compressed.
The main difference in working hours is in which link
Most of the extra time is not spent on writing features, but on maintaining the existing environment. The four common types are: tracking and verifying patches, handling environmental and dependency changes, backup and recovery drills, and regression verification after upgrades. The first two types are externally driven, and a response must be made as soon as the ecosystem issues an announcement; the latter two are self-driven, and nothing will happen immediately if they are not done, so they are most likely to be postponed, and are also most likely to amplify losses when things go wrong.
It is recommended to estimate the cost by multiplying the number of responses by the time per response, rather than by the number of sites. The same process serves three sites and thirty sites, and the difference in time per response is not significant, the difference is in the number of times and the degree of automation.
Why does the security patch take so much time
The patch itself usually takes only a few minutes to install, with the time spent on both ends. First, there is the judgment: whether this announcement is related to the current installed components, and it is necessary to check the component list and version range; after that, there is the verification: whether the changes will affect existing content, forms and templates. Plus the coordination of the release window - the business hours cannot be moved, the evening window is limited, one announcement may become two on-duty shifts. The range is large here as well: it's just with the core patch team and also with each extended patch team, the annual hours will differ by an order of magnitude.
Summarize the actual time consumption weekly, which is more reliable than estimating the annual total from the beginning. Most teams will find that patch time is concentrated around several major version releases rather than evenly distributed.
Should the backup and recovery drill be scheduled on the calendar?
It should be, and it should be calculated according to the exercise time. Sites that only back up and do not verify are usually found to have a recovery path that does not work when something goes wrong: permissions have changed, the target storage is not accessible, and the backup files are not compatible with the current version. AnQiCMS's backup and recovery include data and static files together, the value lies in being able to roll back as a whole, rather than repairing table by table; but when static files contain attachments, the backup volume will increase significantly, and the storage location also needs to be isolated from the site, otherwise the damage on the same machine will fail together.
What constraints are gained by saving time with outsourcing
Outsourcing patch tracking, backup infrastructure, scaling, and other processes to the service provider saves response times and on-call pressure. The constraints gained are usually three points: the degree of data and file portability, the boundaries of template and logic modification, and the changes in billing methods for seats or traffic as the scale increases. For teams that focus on content and have shallow customization needs, these constraints have a limited impact; for teams with multiple brands, multiple sites, and needs for customized data structures or private deployment, the savings from self-building are often subsequent rework.
| Link | Main time-consuming for self-building | Main time-consuming for outsourcing | Controllable means |
|---|---|---|---|
| Security Patch | Track announcements, verify and publish window | Check service provider change description | Component list convergence, batch release |
| backup recovery | Storage isolation, recovery exercise | Export process verification | Regular exercises, isolated storage |
| Upgrade regression | Content, form, template item-by-item verification | Feature switch verification | Off-peak window, rollbackable release |
| Custom development | Implement and maintain it yourself | Limited by the capabilities and boundaries of the platform | Define the boundaries of the requirements before selecting |
How much can the baseline be reduced with low-resource deployment?
Another part of the self-built work hours is the environment itself. AnQiCMS is developed based on GoLang, with a technology stack of GoLang, Iris framework, and GORM, running in a form closer to a resident service rather than a combination of 'Web server plus interpreter plus runtime', and the official statement is that the memory usage is reduced by about 80% compared to PHP-like content management systems, and the page loading speed is significantly improved compared to traditional PHP systems, and can carry about 5 million PV on a single machine.The meaning is not to save money on the server, but to save environmental maintenance: deploying in the way of Docker images or Baota panel and similar, by default, listening on port 8001, the things to do at the environment layer are fewer, and the variables that can be reproduced when a problem occurs are also fewer, and the regression verification time is shortened accordingly.It should be noted that 'about 80%' is an uncertain figure and cannot be used as an exact multiplier for budgeting.
Common questions
Who is applicable for the口径 of more than a thousand hours?It is suitable for scenarios with many components, requiring self-verification and manual item-by-item verification. With a small component surface, automated release process, and patch tracking handed over to the service team, it falls even lower in this range.
Should a small team build it themselves or entrust it to a third party?Look at two conditions: whether you need private deployment or a custom data structure, and whether there is someone who can respond on the day the announcement is made. If neither of the two conditions is met, outsourcing is more cost-effective.
How can you verify that you haven't spent too much time?Record the start and end times of each maintenance and item for four consecutive weeks, and then summarize by quarter. Estimating by feel usually underestimates backup drills and regression validation.