How do you choose a provider for maintaining an existing application?

An application support and maintenance provider should be able to take over an application it did not build without immediately imposing a rewrite. The first step is to understand the code, architecture, data, environments, dependencies, and deployment processes so we can identify what can be maintained as is and what actually puts production at risk.

The required expertise depends on the product. A business application may require frontend and backend development, database work, APIs, cloud, and DevOps at the same time. We size the maintenance scope around those needs instead of assigning a full team to an application that only needs a few interventions each month.

The right provider should also make the engagement measurable: covered scope, incident criticality, response times, responsibilities, monthly capacity used, backlog, and reversibility should be defined from the start.

What does an application maintenance or AMS contract cover?

Application Management Services, or AMS, means entrusting all or part of software maintenance to an external provider. It is not limited to fixing bugs: the scope is defined around what must remain operational and maintainable.

corrective maintenance: diagnose and fix defects

preventive maintenance: updates, vulnerabilities, dependencies, and checks that prevent degradation

evolutive maintenance: small improvements and features

adaptive maintenance: preserve compatibility as browsers, APIs, systems, or technical environments change

How do you take over maintenance of an application built by another provider?

The takeover starts by recovering the technical chain of control: Git repositories, hosting or cloud accounts, databases, DNS, certificates, secrets, monitoring tools, CI/CD, backups, and third-party accounts required to run the product.

We then map the application and its dependencies, check deployment and restoration procedures, and identify the main risks: obsolete dependencies, missing tests on critical journeys, missing documentation, access held only by the former provider, or operations that are still manual.

The goal of this phase is not to rebuild the application. The first useful milestone is to understand the current system, reproduce its behavior, intervene without depending on the previous team, and make a first controlled production change.

How should application maintenance tickets, incidents, and SLAs be organized?

Each request should be qualified according to its impact instead of being handled in one undifferentiated queue. An incident blocking operations does not have the same priority as a visual defect or an enhancement request.

An SLA, or Service Level Agreement, defines service commitments: support windows, incident priorities, and especially response time. Response time and resolution time must be distinguished: promising resolution within two hours is not realistic for every incident, while a response commitment can be clearly contracted.

Koragence can centralize requests in a ticketing system with timestamps, criticality, ownership, status, history, and processing time. Depending on the need, support can operate during business hours or with extended coverage for genuinely critical applications.

How do you maintain the security and dependencies of an application in production?

An application can keep working while gradually accumulating risks. Frameworks, libraries, Docker images, operating systems, and third-party services change; some updates become necessary before a vulnerability or incompatibility causes an incident.

Preventive maintenance therefore means monitoring dependencies, vulnerabilities, logs, recurring errors, certificates, disk capacity, backups, and components reaching end of support. Updates should not all be applied immediately: their criticality and regression risk must first be assessed.

Backups must also be supported by a restoration strategy. An existing backup that has never been tested does not prove that an application can actually be brought back into service after an incident.

Application maintenance and DevOps: should both be entrusted to the same provider?

An incident visible in the application may come from code, a database, a deployment, a certificate, a task queue, or the infrastructure. Completely separating application maintenance and DevOps can therefore create delays while several providers first determine who is responsible.

For mid-sized applications, the same setup can cover development and day-to-day operations: log analysis, fixes, CI/CD, cloud, deployments, and monitoring. Specialists can be brought in when an incident requires deeper infrastructure, security, or database expertise.

Conversely, a large infrastructure or a 24/7 SLA may justify a dedicated operations team. The right model depends on the actual observed workload, not only on the size of the codebase.

How do you avoid becoming dependent on an AMS provider?

Reversibility means being able to transfer maintenance later to an internal team or another provider without rebuilding product knowledge from scratch. It should be planned from the start of the contract.

The client should retain clear access to the source code, environments, hosting, data, DNS, and key technical accounts. Documentation, deployment procedures, and important decisions should be updated throughout the engagement rather than at departure.

At Koragence, maintenance should progressively make the application easier to understand and take over, not create a new dependency around knowledge held only by the support team.

How much does an application maintenance provider cost?

Price depends more on workload and service level than on the number of lines of code. A stable application needing a few fixes per month should not be sized like a critical platform requiring permanent monitoring and on-call coverage.

The estimate should consider the historical number of incidents, technical complexity, infrastructure, deployment frequency, business criticality, support window, SLA, and desired enhancement volume. Common models include a monthly package with included capacity, day or hour consumption, or a combination of a package and additional interventions.

Current search results already show providers advertising offers starting around €1,500 excluding VAT per month, with contracts that can exceed €10,000 for critical 24/7 systems. This is why sizing the contract around the actual need is more useful than advertising one fixed package.

Should application maintenance be outsourced or handled in-house?

Hiring is relevant when a product generates enough maintenance and evolution work to keep a technical skill busy over time. For a few intervention days per month, a full-time senior role may instead remain largely underused.

Outsourced application maintenance makes it possible to share several skills and adapt capacity to the actual need. It is especially suitable when a company needs to keep an existing application running but does not want to immediately rebuild a complete technical team.

A hybrid model is useful when the company has an internal product or technical lead and entrusts Koragence with specialist maintenance, DevOps, or interventions requiring additional capacity.

How does Koragence take over and organize your application maintenance?

Our method starts with a focused takeover audit covering access, code, infrastructure, data, deployments, monitoring, documentation, and major risks. We then define the support level, priorities, and monthly capacity actually required.

The takeover is secured before regular operations begin: documenting essential procedures, checking backups, configuring access, addressing immediate risks, and completing a first controlled production release.

Day-to-day operations then follow a clear flow: ticket → qualification → diagnosis → fix → testing → deployment → documented closure. Major enhancements remain scoped as separate projects so the maintenance budget stays clear.