Patching is the infrastructure task everyone agrees is important and nobody wants to schedule. Put it off long enough and you end up with a CRM running on versions so old that upgrading requires a project instead of an evening. The remedy is a boring, regular routine.
This article is aimed at teams running some or all of their CRM stack themselves, on virtual machines or containers. If you use a fully managed service, the vendor patches the platform, but you still own your customisations, extensions and integrations, and several ideas below apply to those.
Know what you are patching
You cannot patch what you have not listed. The CRM stack usually has layers, each with its own update cadence:
- The operating system or base container image
- The runtime, such as a language interpreter or application server
- The database engine
- The CRM application itself
- Extensions, plugins and custom code
- Supporting services: cache, search, queue, reverse proxy
- Certificates and the libraries that handle encryption
Keep a living inventory with the owner of each component and where its version is recorded. A spreadsheet is fine to start. The value comes from being able to answer “what do we run, and what is out of support?” without an archaeology expedition.
Triage by risk, not by volume
Updates arrive constantly, and treating them all as equally urgent burns people out. A simple sorting rule helps:
- Security fixes for components exposed to the internet go first, on a short timeline you define in advance.
- Security fixes for internal components follow on a normal cycle.
- Bug fixes and minor improvements batch into regular maintenance.
- Major version upgrades are planned projects with their own testing and schedule.
Your vendors’ security advisories and the project’s release notes tell you what each update changes. Read the notes for behaviour changes, deprecated settings and required order of operations. Check each vendor’s current documentation for supported upgrade paths, since skipping versions is not always allowed.
Test where it counts
A patch that works on a laptop can fail on your actual data volume or with your actual customisations. The staging environment is where you find out. A reasonable test list for a CRM update:
- Log in through the normal sign-on route.
- Create, edit and search records in the main modules.
- Run the two or three heaviest reports.
- Fire each integration once and confirm the other side received it.
- Run the scheduled jobs manually and check their output.
- Check that custom extensions load without errors.
Write this as a checklist so the same checks run every time, by whoever is on duty.
Maintenance windows and communication
Pick a recurring window when the CRM is least used, and tell people the schedule in advance, not the day before. For global teams a perfect time may not exist; choose the least disruptive and announce clearly. For urgent security patches, keep an expedited procedure that skips ceremony without skipping testing entirely.
Announce three things: when work starts, what users may notice, and how they will know it is finished.
Rollback is part of the plan
Before starting, answer: if this goes wrong, how do we go back, and how long does it take? That answer depends on the change.
- OS and application patches on virtual machines may be reversible via snapshots.
- Database upgrades often are not simply reversible, because the on-disk format can change. Take a verified backup first, and know how to restore it.
- Schema migrations in the CRM application can change data; rehearse the rollback in staging if one exists.
Decide in advance on a point of no return and a time limit. If the checks are not passing by that time, you roll back rather than debugging live under pressure.
A rhythm that works
| Cadence | Activity | Output |
|---|---|---|
| Weekly | Review advisories for exposed components | Short list of urgent items |
| Monthly | Regular maintenance window for OS and minor updates | Change log entry |
| Quarterly | Review inventory, support end dates, certificate expiry | Updated inventory and upgrade backlog |
| Yearly | Plan major version upgrades and retire unsupported parts | Funded upgrade projects |
A hypothetical
Picture a team that has not touched its database engine version in years. It is approaching the end of vendor support, and the CRM version they run only supports a narrow range of database versions. They cannot upgrade one without the other, and both need a newer operating system.
Had they taken small steps, each would have been an evening. Instead it becomes a multi-week project: build a staging copy, upgrade the database first, test the CRM against it, upgrade the CRM, then migrate the operating system. They succeed by going one layer at a time, taking a backup before each, and writing down the order so the production run is a rehearsed repeat.
The takeaway is not to panic about old versions but to schedule the work before the deadline picks the date for you.
Frequently Asked Questions
How quickly should security patches be applied? It depends on severity and exposure. Define target timelines in your policy, shorter for internet-facing components, and measure against them. Your security team or auditors may impose their own requirements.
Should we enable automatic updates? For operating system security updates on non-critical nodes, often yes. For the database and CRM application, controlled updates with testing are safer, because automatic changes can alter behaviour unexpectedly.
What if a patch breaks a customisation? That is why you test in staging and keep customisations documented. Fix the extension, or temporarily delay the patch if the risk allows, with a recorded decision and a new date.
How do we handle end-of-life software? Treat it as a risk item with an owner and deadline. Running unsupported software means no security fixes, so plan a migration, and consider extra network isolation in the meantime.
Do we need downtime for every update? Not always. Redundant setups can update one node at a time. Without redundancy, expect a short outage and schedule accordingly.
Next Step
Build the inventory this week: list each component, its current version, its owner and its support end date. Sort by support end date and put the nearest one on next quarter’s plan.
By CRMCloudBase Editorial · Updated November 4, 2026
- CRM patching
- upgrade planning
- maintenance windows
- rollback plan