Hosting custom software: cost, scaling and responsibility

Where custom software runs, what it costs to run, how it grows, and who is responsible for each layer.

3 minread 718words last updated

The short answer

Custom software runs on a small set of managed services rather than on a server somebody looks after: a platform that runs the application and scales it with traffic, a managed database, object storage for files, a queue and workers for background jobs, and monitoring and error tracking around all of it. Each is billed by use, in your accounts, at the providers’ prices. Costs are dominated by the database and by anything that runs continuously; the application layer is usually the smaller line. Scaling is mostly configuration if the software was built stateless. And responsibility is shared: the provider runs the infrastructure, your partner runs the software and its operations, and you own the accounts and the decisions.

The pieces and what drives their cost

PieceWhat it doesWhat drives costWho is responsible
Application platformRuns the code, scales instances with trafficRequests, compute time, memoryProvider for the platform; partner for the code and its efficiency
Managed databaseStores structured data with backups and point-in-time recoverySize, tier, connections, replicasProvider for the service; partner for schema, queries, backups configuration
Object storageFiles and documentsVolume stored and servedProvider; partner for lifecycle and access rules
Queue and workersBackground jobs: emails, imports, reports, integrationsWorker time, job volumePartner
Monitoring and error trackingKnowing when something breaksVolume of events, retentionPartner configures; you receive reports
Network layerDNS, filtering, caching, certificatesUsually flatPartner
AccountsAll of the above, in your nameYou own; partner works inside

Estimating and controlling cost

  1. Ask for an estimate at today’s usage and at ten times, per piece, at the providers’ published prices.
  2. Right-size the database: the largest single line and the easiest to over-provision.
  3. Move continuous work to scheduled or event-driven jobs where possible, so nothing runs idle.
  4. Cache what is read often and changes rarely.
  5. Set budgets and alerts at each provider.
  6. Review monthly with usage next to cost; growth in one without the other is a signal.

Responsibility, written down

The provider is responsible for the infrastructure working: their servers, their network, their managed database being available. Your partner is responsible for the software working on it: deployments, monitoring, backups configured and tested, updates applied, performance, security configuration, and responding when something breaks. You are responsible for owning the accounts and paying the providers, deciding priorities, and telling the partner when the business changes. Each of those should be in the agreement by name, because the gaps between them are where outages live.

What this means for you

Run custom software on managed services in your own accounts, sized to today with a path to ten times, built stateless so scaling is configuration, with the database watched as the largest line. Write down who is responsible for each layer. Then growth is a billing conversation, outages have a named responder, and nobody in your business is looking after a server.

Written by the CivSec S.M.A.R.T team

We build and run websites, software and AI systems for businesses. We write about what we see in that work, in plain language, and we update articles when things change.

Last checked . Spotted something outdated? Tell us.

Frequently asked questions

Should we run our software on our own server?

Almost never. A server you run needs patching, monitoring, backups, capacity planning and someone awake when it fails, for a business whose business is not running servers. Managed platforms provide all of that, bill by use and scale on demand. The exceptions are specific regulatory or data constraints, and even those are usually met by managed services in the right region.

What does it cost to run custom software each month?

It depends on the pieces: application hosting scaling with traffic, a managed database sized for the data and load, storage by volume, background workers by time, plus monitoring and error tracking. The database and anything continuously running dominate. Ask for an estimate at current and at ten times current usage, in your own accounts at the providers' prices.

How does it scale if we grow?

If the software was built stateless, with the database and object storage holding all shared state, the application layer scales by running more instances, which managed platforms do automatically. The database is scaled by moving to a larger tier or adding replicas, which is configuration. Growth becomes a billing conversation rather than a re-architecture, provided that design was there from the start.