Running an application in production: what nobody tells you before launch
Going live isn't the finish line. Backups, updates, monitoring, incidents: here's how I keep live products healthy, month after month.

Software costs more to keep alive than to build. That's not bad news, it's a reality you'd better know before launch. Running several live products taught me to treat maintenance as part of the product, not as a chore.
Preventive maintenance: avoiding the outage
This is the invisible work that prevents bad surprises:
- Tested backups. A backup you've never restored is just a hope.
- Up-to-date dependencies, upgraded regularly and in small steps rather than once a year, painfully.
- Monitoring of response times, errors and disk space, with alerts that reach you before your customers do.
- Certificates and domain names renewed automatically.
Evolutive maintenance: keeping up with the business
A useful application changes, because its users' work changes: a new tax rule, a new payment method, a report management asks for. The key is to ship these changes in small, tested batches instead of piling them into one big risky project.
When the incident happens
It will. What matters is the response: inform users, restore the service, and only then look for the cause. After each incident, I write a few lines about what happened and what will keep it from happening again. Without looking for someone to blame.
The Kaizen mindset
I draw a lot on Kaizen: improve a little every week instead of rebuilding everything at once. A slow query fixed here, an error message clarified there. After a few months the difference is huge, and the team never needed a "big refactor".
If you're launching a product, plan time and budget to keep it alive from day one. That's what separates an application that lasts from one that ends up abandoned.
Your thoughts
Comments are saved on this device.
Get the next articles.
One email when a new article, job or product announcement is published. Once a month at most.