Technology
Capacity planning for agency systems: storage, compute, and seasonal peaks
How agencies can forecast storage, compute, and license growth on a budget cycle and size systems for predictable seasonal peaks.
Capacity planning is the difference between a growth line item in next year's budget and an emergency purchase in the middle of a fiscal year. The technical work is not difficult. Most agencies already collect what they need in monitoring tools, backup reports, database maintenance logs, and license portals. What is usually missing is the habit of reading that data once a year, projecting it forward, and writing the result into a budget request that a finance director can approve without a separate argument.
This article covers the three things that actually run out: storage, compute, and license counts. It also covers the seasonal peaks that most agency calendars already contain, and how to describe headroom in terms procurement and finance understand.
Read the trend data you already have
Pull the longest history your tools retain, ideally two years or more, and sample monthly rather than daily. Monthly points smooth out noise and make the slope visible. Useful sources include storage array and NAS capacity reports, backup job sizes, database file growth, hypervisor cluster utilization, concurrent session counts on remote access, and license portal usage summaries.
Before you fit a line, separate organic growth from step changes. A new camera deployment, a records scanning backlog, or a new permitting module produces a step, not a trend. Write the cause next to each step in your worksheet so the following year's analyst understands the shape. For compute, use sustained peak values rather than averages. An average CPU figure will make a saturated cluster look comfortable.
Storage: where the growth actually comes from
- Body-worn and in-car video. Retention policy drives volume more than recording hours do. A change in how an incident category is classified, or a category whose retention runs long, moves the entire curve. Forecast by category, using the retention schedule your agency actually applies.
- Permit, case, and licensing attachments. Estimate average attached bytes per record, then multiply by projected record counts. Scanned documents and phone photographs dominate.
- GIS imagery and lidar. These arrive as steps tied to acquisition cycles, then grow again as derived products, tiles, and historical layers accumulate. Ask whether prior flights are retained.
- Email and records archives. These grow in one direction. Disposition rarely keeps pace with intake, and legal holds suspend disposition entirely for affected custodians.
- Copies. Backups, replicas, snapshots, and disaster recovery copies multiply everything above. The multiplier is often the largest surprise in the forecast, so calculate primary growth first, then apply the number of copies your policy requires.
Compute, database, and license counts
Virtual machine sprawl is easier to see than to price. Track allocated versus consumed CPU and memory per cluster, and plan around the failure of one host so a single outage does not force emergency spending. Databases usually exhaust memory and disk throughput before CPU, and version upgrades can change baseline requirements, so confirm sizing guidance against the release you plan to run.
License counting deserves the same discipline. Note the metric for each product: named user, concurrent user, processor core, device, or record volume. Seasonal staff, election workers, and interns inflate named user counts in predictable months. Some virtualization and database licenses count physical host capacity rather than virtual machines, which means adding a host can create a licensing cost larger than the hardware. Record true-up dates alongside contract renewal dates.
The peaks your calendar already predicts
Most agency load is seasonal and known well in advance. Tax and utility billing deadlines, election night, vehicle and program registration windows, open enrollment, school year start, storm and emergency response, and fiscal year close all produce spikes.
The shape of the peak determines the fix. Election night results pages and storm information sites are short, read heavy, and public facing, and they are usually best handled with caching, content delivery, and elastic front ends. Billing runs, enrollment processing, and year end close are write heavy and internal, and they need database, storage throughput, and batch window headroom that cannot be rented for an afternoon. Size for the worst week, not the average month, and confirm which peaks fall inside your maintenance freeze windows.
How much headroom to hold
Headroom is a procurement question more than a technical one. Decide the utilization level at which you begin a purchase, and work backward from your own timeline: specification, quote, solicitation if required, award, lead time, delivery, installation, and migration. If that sequence takes many months in your jurisdiction, the trigger threshold must sit well below full. Supply lead times change, so confirm current figures with your suppliers rather than assuming last year's.
For clustered compute, hold enough capacity to lose a host and still carry peak load. For storage, hold enough to absorb the largest single step change you can foresee, such as a new camera contract or an imagery acquisition. Avoid buying the entire multi-year forecast at once for equipment that refreshes on a cycle, but do buy ahead where lead times are long.
Turning the forecast into a budget request
State the trend, the assumptions behind it, and what changes if a program grows faster than expected. Tie each increment to the program that causes it, so the cost travels with the decision that created it. Grant funded programs often pay for acquisition while leaving recurring storage and retention costs to the general fund, and grant terms vary, so confirm allowable costs with the awarding agency before assuming coverage.
Separate one time purchases from recurring subscription and support costs in the request. Give the reviewer a named trigger, such as the month the forecast crosses your purchase threshold, so deferral becomes a documented decision rather than an oversight.
What to ask vendors and what to require in the contract
- Ask how capacity is measured. Raw or usable, before or after compression and deduplication, and whether replicas and backups count against the entitlement.
- Ask what happens at the limit. Hard stop, throttle, automatic tier upgrade, or invoice. Get the answer in writing.
- Require price protection for additional capacity and additional licenses for the contract term, so growth does not reprice the whole agreement.
- Require advance notice of any change to a licensing metric, and a stated remedy if the metric changes mid term.
- Require exportable usage telemetry in a format your staff can read without the vendor's assistance, delivered on a regular schedule.
- Ask about behavior at peak, including any throttling, queueing, or concurrency caps, and ask the vendor to describe performance at your projected volume rather than your current one.
HQT works with state and local agencies on infrastructure planning, systems engineering, and cloud and enterprise IT, including the capacity analysis behind budget requests.
Frequently asked questions
How far ahead should an agency forecast IT capacity?
Forecast at least through the next full budget cycle, and ideally three years, because the purchase you need may not be fundable until the following year. The near term number drives the budget request, while the longer view tells you whether the current architecture will hold or needs replacement. Revisit the forecast annually using updated trend data rather than carrying last year's projection forward unchanged.
How much free storage should we keep before ordering more?
Set the threshold from your own procurement timeline rather than a generic percentage. Add up the time your agency needs for specification, quoting, any required solicitation, award, delivery, and installation, then work out how much the system grows over that period and add margin for a single unexpected step change. If your process takes many months, you should be starting the purchase while a large share of capacity is still free.
How do we forecast storage for body-worn camera video?
Forecast by retention category rather than by total recording hours, because the retention schedule determines how long each file occupies space. Estimate the number of recordings per category, average file size at your configured resolution, and the retention period your policy applies, then add the multiplier for backup and disaster recovery copies. Retention rules differ by state and by evidence type and they do change, so confirm current requirements with your records officer or counsel.
Does moving to the cloud remove the need for capacity planning?
No. Cloud shifts the constraint from purchasing hardware to controlling spend, and unplanned growth shows up as a budget overrun instead of a full disk. You still need forecasts to set budgets, configure alerts and quotas, and negotiate committed use or reserved pricing, and some peaks scale easily while others depend on database capacity that does not.
How do we justify a capacity increase when nothing has broken yet?
Present the trend data from your existing monitoring, the date the forecast crosses your purchase trigger, and the lead time your procurement process requires. Frame the request as avoiding an emergency purchase, which typically costs more and bypasses competitive selection. Tie each increment to the program that causes the growth so the cost is attributed to a specific decision rather than to general IT overhead.