TL;DR
Legacy system modernization is the structured process of upgrading outdated applications, databases, and infrastructure using one of seven strategies (rehost, replatform, refactor, rearchitect, rebuild, replace, or retire), chosen through a phased, risk-managed roadmap rather than a single big-bang rewrite.
Key Takeaways Legacy system modernization updates outdated applications, databases, and infrastructure using one of seven strategies: retain, retire, rehost, replatform, refactor, rearchitect, or replace. The clearest warning signs are a shrinking pool of engineers who understand the system, rising maintenance costs, and a system that blocks cloud or AI initiatives. Modernization is usually lower-risk and lower-cost than full replacement for systems with hard-to-replicate business logic. Kanerika’s FLIP migration accelerator has cut migration effort by 50 to 60 percent and completed complex two-year codebases in as little as 90 days. Successful programs modernize in phases, with a parallel-run period and defined rollback criteria for every wave, not a single big-bang cutover. AI initiatives increasingly depend on modernized systems first, since generative and agentic AI need connected, governed, real-time data that legacy systems rarely provide. The System Nobody Wants to Touch A regional insurer’s claims platform still runs on a mainframe written in COBOL sometime in the late 1980s. The three engineers who understood its batch jobs have all retired. The last one now works two days a week as a paid consultant, because the insurer cannot find anyone else who will touch the code.
This is not a rare story. It is the default condition of enterprise IT. Somewhere in almost every large organization sits a system nobody wants to open, running a process nobody fully documented, that the business still depends on every single day.
Legacy system modernization is how enterprises get out of that position without breaking the business in the process. This guide covers what it actually means, the seven strategies for doing it, how to choose between them, what it costs, and how Kanerika approaches it for clients running everything from mainframes to monolithic on-premise applications.
Watch on YouTube
State of Enterprise Data Migration 2026
Kanerika’s own research on how enterprises are approaching legacy and data migration this year.
What Is Legacy System Modernization? Legacy system modernization is the process of updating outdated applications, databases, infrastructure, and architectures so they meet current standards for security, scalability, integration, and cost, without discarding the business logic that still works.
The word “legacy” does not mean old for its own sake. A ten-year-old application that is still patched, documented, and cheap to run is not a modernization priority. A five-year-old application that nobody can safely change, that fails compliance scans, or that blocks a cloud or AI initiative, usually is.
In practice, “legacy system” covers a wide range of technology.
Mainframe applications , often written in COBOL, RPG, or PL/I, still running core banking, claims, or logistics workloads.Legacy databases such as unsupported versions of Oracle, DB2, or SQL Server that vendors no longer patch.Monolithic applications where every feature is compiled into one deployable unit, so a small change requires testing the entire system.On-premise infrastructure , including physical servers and data centers nearing end of life.Older ERP and CRM systems that have been customized so heavily that vendor upgrades are no longer safe to apply.Custom-built enterprise software written by developers who have since left the company, with little to no documentation.Legacy system modernization is broader than application modernization , which focuses specifically on the app layer, things like cloud-native patterns, microservices, and APIs. It is also broader than data modernization , which focuses on the data platform underneath those apps. Legacy modernization is the umbrella that covers the whole aging estate, applications, data, and the infrastructure they run on.
Signs Your Systems Need Modernization Now Most enterprises do not modernize because a system stopped working. They modernize because the cost of keeping it running slowly overtook the cost of changing it, and nobody noticed until the gap was large.
Watch for these signals.
You cannot hire or retain the skills to maintain it. COBOL, RPG, and older 4GL languages have a shrinking, aging talent pool, even though IBM notes these languages still run core workloads at banks, insurers, and government agencies worldwide. When the two or three people who understand a system are close to retirement, that system is a resignation letter away from becoming unmaintainable.The vendor has stopped supporting it. Unpatched, end-of-life software is an open door for security incidents and a guaranteed compliance finding in any serious audit.Every change takes longer than it should. Monolithic architectures mean a one-line fix requires regression-testing the whole application, so release cycles stretch from days to months.It blocks your cloud or AI roadmap. AI and analytics initiatives need connected, governed, reasonably real-time data. A system that only exports flat files overnight cannot feed that pipeline.Maintenance costs are rising faster than the business is growing. Specialized contractors, aging hardware, and manual workarounds all cost more every year, for a system that delivers the same functionality it did a decade ago.Audits keep flagging the same system. Recurring findings on access control, data retention, or encryption in a legacy platform are a strong signal that patching around the edges is no longer enough.None of these signs on their own force a decision. Two or three of them appearing together, on a system the business actually depends on, is usually the point where modernization moves from a someday project to a funded initiative with an executive sponsor.
Kanerika Service
Legacy System Modernization Services
Kanerika assesses, plans, and executes legacy modernization programs across applications, data, and infrastructure, using the FLIP accelerator to cut migration effort and risk.
Explore Migration Services Legacy System Modernization vs. Full Replacement Modernization and replacement solve the same underlying problem in different ways, and enterprises often default to the wrong one because rebuilding from scratch sounds more thorough than upgrading what already exists.
In reality, replacement is rarely the safer choice for a system the business depends on every day.
Table 1: Legacy System Modernization vs. Full Replacement Factor Modernization Full Replacement Approach Incremental improvement of the existing system Complete rebuild or new platform purchase Risk Lower, business logic is preserved Higher, new failure modes, retraining, data loss risk Upfront cost Usually lower Usually higher, plus a parallel-run period Business disruption Limited, if phased correctly Significant, especially with a single cutover Best fit Complex systems with hard-to-replicate business logic Small, isolated, or genuinely obsolete applications
Most enterprises modernize their core systems and reserve full replacement for applications where the functionality is simple or generic enough that a commercial off-the-shelf or SaaS product genuinely covers it. A thirty-year-old claims-adjudication engine is rarely one of those.
Checklist
Free Data Migration Checklist
A practical checklist for scoping, sequencing, and validating a legacy data migration before you commit a budget.
Get the Checklist → The 7 Modernization Strategies Cloud vendors and modernization consultancies describe the strategy spectrum a little differently, but they converge on the same core options. AWS’s original “6 R’s” framework , published in 2016, first popularized rehost, replatform, repurchase, refactor, retire, and retain as the standard vocabulary for this decision; most teams today use a seven-strategy variant that splits refactor and rearchitect apart. Choosing the right one, or the right mix across a portfolio, is the single most important decision in any modernization program.
Table 2: The 7 Legacy Modernization Strategies Strategy What It Means Best For Retain Leave the system as is for now Stable, low-risk systems not worth the disruption yet Retire Decommission the system entirely Redundant or unused systems with no remaining business value Rehost (lift and shift)Move the application to new infrastructure with minimal code change Fast infrastructure wins, getting off aging hardware quickly Replatform Move to a newer platform with light optimization, such as a managed database or container runtime Reducing operational overhead without a full rewrite Refactor Restructure code internally to improve performance and maintainability Applications with a future, but weighed down by technical debt Rearchitect Redesign toward microservices, APIs, or event-driven architecture Systems that must scale independently or support new integrations Replace Move to a SaaS or commercial platform Generic, non-differentiating functionality, such as HR or expense management
Rehosting is the fastest way to stop paying for aging data center hardware, but it does not fix an application’s underlying architecture problems. Rearchitecting fixes the architecture but takes the longest and carries the most execution risk.
Most real modernization programs use several of these strategies across a portfolio of systems, not one strategy for everything. A single enterprise might rehost a low-priority internal tool this quarter, refactor a customer-facing application next quarter, and retire three systems nobody has logged into in a year.
How to Choose the Right Modernization Approach Picking a strategy per system, rather than one strategy for the whole estate, is what separates modernization programs that finish on budget from the ones that stall halfway through.
A simple four-way classification, scored against business value and technical health, gets most of the way there.
Table 3: Modernization Decision Matrix Business Value Technical Health Recommended Action High Poor, outdated or high-risk Modernize Low Poor, expensive to run Retire Any Stable, low risk Retain Low, generic capability Any Replace with SaaS
Score each system against five factors before assigning a strategy.
Business criticality. How much revenue or regulatory exposure sits behind this system?Technical risk. How exposed is it to security, compliance, or single-point-of-failure risk?Cost trajectory. Is the annual cost of running it flat, or climbing?Change frequency. How often does the business need to change this system’s behavior?Data and AI dependency. Do downstream analytics or AI initiatives need clean, timely data from this system?A system that scores high on criticality and AI dependency but poor on technical risk is a modernization priority regardless of cost. A system that scores low across every factor is usually a retirement candidate hiding in plain sight, quietly consuming budget nobody has questioned in years.
Building the Business Case for Cost and ROI Legacy system modernization cost varies enormously by scope, and any vendor quoting a fixed number before an assessment is guessing. The real cost drivers are consistent across engagements.
System complexity and code volume. A codebase with dense, undocumented business logic costs more to modernize than a well-structured one, regardless of age. McKinsey research finds that CIOs typically divert 10 to 20 percent of their technology budget to resolving technical debt, and estimate that debt at 20 to 40 percent of their entire technology estate’s value.Number of dependent applications. Systems with dozens of downstream integrations require more testing and coordination than standalone applications.Data volume and quality. Migrating clean, well-modeled data costs a fraction of migrating decades of inconsistent, undocumented records.Chosen strategy. Rehosting is typically the cheapest of the seven strategies. Rearchitecting and rebuilding are the most expensive.Compliance requirements. Regulated industries such as BFSI, healthcare, and insurance add validation and audit overhead that other sectors do not carry.Where automation replaces manual migration work, the numbers move meaningfully. Kanerika’s FLIP migration accelerator, used across dozens of enterprise migrations, has delivered a 50 to 60 percent reduction in migration effort and 40 to 60 percent faster application performance after migration.
Complex, two-year legacy codebases have been completed in as little as 90 days. Licensing costs have dropped by up to 75 percent once the legacy platform is retired.
Those numbers come from automating the repetitive parts of migration, including code conversion, dependency mapping, and data reconciliation, rather than replacing skilled judgment. The business case for modernization should be modeled against a do-nothing baseline. That baseline includes the compounding cost of specialized talent, rising infrastructure spend, and the opportunity cost of every AI or analytics initiative that legacy data blocks.
A useful gut check for any modernization business case is a five-year total cost of ownership comparison, not a single-year budget line. Legacy systems rarely show their true cost in any one year’s ledger. It shows up gradually, in slower releases, higher contractor rates, and analytics projects that keep slipping because the source data cannot support them.
A Phased Legacy System Modernization Roadmap Programs that succeed almost never attempt a single cutover across the whole estate. They move in phases, each one small enough to prove value and cheap enough to reverse if something goes wrong.
Assess. Build a full application inventory, map dependencies, and score each system against the business-value and technical-health factors above. This phase alone often surfaces systems nobody realized were still running.Plan and pilot. Pick one contained, representative system and run the chosen strategy end to end. A pilot exposes integration surprises while the blast radius is still small.Migrate and modernize in waves. Group remaining systems by shared dependencies and modernize them in batches, not all at once. Each wave should be independently testable and independently reversible.Validate. Run functional, performance, security, and data-reconciliation testing on every wave before decommissioning the legacy version. Skipping this step is where most modernization horror stories start.Govern and optimize. Once modernized, put monitoring, cost governance, and access controls in place so the new system does not become tomorrow’s legacy system.The assessment phase deserves more time than most programs give it. An incomplete dependency map is the single most common reason a routine migration wave turns into a six-month fire drill.
Managing Risk During Legacy System Modernization The roadmap above controls sequencing risk. A separate set of practices controls execution risk, the chance that any single wave goes wrong badly enough to hurt the business.
Run a parallel period before full cutover. Keep the legacy system live and in sync with the new one for a defined window, so a problem in the new system does not immediately become an outage. Most enterprise migrations run parallel for two to four weeks on business-critical systems, longer for anything touching financial reporting.Define rollback criteria before go-live, not during an incident. Decide in advance what error rate, latency, or data-mismatch threshold triggers a rollback, and who has the authority to call it. Teams that debate this mid-incident lose hours they do not have.Reconcile data before and after every wave. Automated reconciliation checks that catch a missing or duplicated record on day one are far cheaper than a finance team discovering a discrepancy three months later during an audit.Put a change-management plan in front of the people who use the system. Modernization often changes screens, workflows, or response times that end users have adapted around for years. Training and communication timed to the cutover, not after it, is what keeps adoption from stalling.Get compliance sign-off as a gate, not a formality. In regulated industries, treat security and compliance review as a required checkpoint before each wave goes live, not a retrospective audit after the fact.None of this eliminates risk entirely. It converts an open-ended, unpredictable risk into a bounded one with a known worst case, which is the difference between a difficult weekend and a genuine crisis.
Watch on YouTube
The Real Causes of Enterprise Data Migration Failure
Kanerika breaks down why enterprise migrations actually fail, and how to plan around it.
Common Legacy Modernization Challenges Every legacy modernization program runs into some version of the same four problems. Naming them in advance is cheaper than discovering them mid-migration.
Data migration complexity. Decades-old databases carry inconsistent formats, duplicate records, and undocumented business rules baked directly into the schema. Data quality work usually takes longer than the migration engineering itself, and it rarely gets enough time in the original project plan.
Business disruption risk. A poorly sequenced cutover can take down a system the business runs on every day. Phased migration with clear rollback points exists specifically to prevent this, and skipping it to save time is how a routine weekend migration turns into a Monday-morning outage.
Legacy knowledge dependency. The people who understand a twenty-year-old system’s undocumented quirks are often the same people closest to retirement. Capturing that knowledge before it leaves the building is as urgent as the technical migration itself, and it is the part most programs realize too late they should have started first.
Integration complexity. Legacy systems rarely operate in isolation. Every downstream API, report, and batch job that depends on the old system has to be mapped and re-pointed without breaking, and undocumented integrations have a habit of surfacing only after they fail.
None of these problems are unique to any one industry or platform. They are the reason a rushed, unassessed migration costs more in rework than a properly scoped one costs to run correctly the first time.
Talk to Kanerika
Not Sure Where to Start Modernizing?
Kanerika scopes a legacy modernization roadmap around your actual systems and dependencies, not a generic template. A short working session turns the assessment into a plan.
Schedule a Demo → How AI Is Changing Legacy System Modernization AI has changed two things about legacy modernization. It has changed how fast the technical work moves, and it has raised the stakes on why the work needs to happen at all.
On the technical side, AI-assisted code analysis can read undocumented COBOL or PL/SQL and generate a working explanation of what a routine does, cutting weeks off the discovery phase. AI-assisted refactoring tools can translate large blocks of legacy code toward modern languages or frameworks, with engineers reviewing and validating the output rather than writing it line by line.
On the urgency side, most enterprise AI initiatives depend on modernized systems succeeding first, even when nobody frames the dependency that explicitly. Generative AI and agentic AI applications need three things legacy environments rarely provide on their own.
Connected data sources instead of siloed exports that update once a day.Reliable, governed pipelines rather than manual reconciliation between systems.Real-time or near-real-time access to the operational data legacy systems generate.A legacy claims system that only produces a nightly flat-file export cannot feed a real-time fraud-detection model. Modernization is not a side project to AI strategy. It is very often the prerequisite that determines whether an AI initiative can start at all, which is why so many stalled AI pilots trace back to a legacy data problem nobody scoped upfront.
Legacy System Modernization Best Practices The programs that consistently ship on time share a small set of habits, regardless of industry or platform.
Start with business outcomes, not technology. A modernization project framed around “get off the mainframe” stalls faster than one framed around “cut claims-processing time from five days to one.”Modernize in phases. Big-bang migrations concentrate risk into a single weekend. Phased waves spread that risk and create natural checkpoints to catch problems early.Automate assessment and migration wherever possible. Manual dependency discovery and manual code conversion do not scale past a handful of systems, and they introduce human error exactly where accuracy matters most.Build governance in from day one. Security, compliance, and data ownership are far cheaper to design in from the start than to retrofit after a system is already live.Measure results against a real baseline. Track migration speed, cost reduction, system performance, and release frequency before and after, so the business case holds up under scrutiny a year later.Legacy System Modernization Tools and Technologies The right tool depends entirely on which of the seven strategies a given system needs, but most modernization programs draw from four categories.
Cloud platforms. Microsoft Azure, AWS, and Google Cloud provide the infrastructure target for rehosting and replatforming, along with managed database and container services that remove undifferentiated operational work.Data platforms. Microsoft Fabric, Databricks, and Snowflake are the most common landing zones when legacy data warehouses or on-premise analytics get modernized alongside the applications that feed them.Integration tools. APIs and iPaaS platforms replace the point-to-point, undocumented integrations that make legacy estates so fragile, giving every downstream system a stable, monitored connection instead of a brittle direct link.Migration automation platforms. Purpose-built accelerators analyze legacy workloads, automate code and schema conversion, and validate data end to end, cutting the manual effort that used to make large migrations take years instead of months. Kanerika’s FLIP accelerator falls in this category, automating the repetitive parts of moving off legacy platforms so engineering time goes toward validation and edge cases instead of boilerplate conversion.Tool selection should follow the strategy decision, not the other way around. A team that picks a migration platform before deciding whether a system needs rehosting or rearchitecting usually ends up forcing the wrong tool onto the wrong job.
Case Study
Modernizing Legacy Pricing Systems for Enhanced Business Agility
How Kanerika modernized ABX Packaging’s legacy pricing systems without a costly full rebuild, improving business agility across the organization.
Read the Case Study → Legacy System Modernization by Industry The strategy frameworks above hold across sectors, but the pressure points differ by industry.
BFSI and insurance. Core banking and claims platforms are often mainframe-based, heavily regulated, and central to daily operations, which makes phased modernization with strict validation the default approach. Kanerika’s work with AMBA Insurance consolidated fragmented, spreadsheet-driven reporting across regional offices into a single governed source of truth.
Healthcare. Legacy systems here carry protected health information, so modernization has to satisfy HIPAA and similar regulatory requirements at every step, not just at go-live. Kanerika’s Informatica-to-Databricks migration for a healthcare analytics platform is a direct example of modernizing under those constraints without disrupting clinical reporting.
Manufacturing. Plant-floor and inventory systems are frequently decades old, poorly integrated with modern ERP or analytics layers, and central to production continuity, so downtime tolerance during migration is close to zero. Kanerika’s work modernizing inventory analysis for a manufacturing client shows how a phased approach keeps production running while the underlying systems change underneath it.
Public sector and logistics. Fragmented, siloed legacy systems across departments or facilities are the norm here, making a phased, dependency-aware modernization roadmap more important than in almost any other sector, since a single missed integration can stall a service the public relies on. The stakes are real at scale: a U.S. Government Accountability Office report found that roughly 80 percent of federal IT spending goes toward operating and maintaining existing systems, including aging legacy platforms, rather than modernizing them.
The common thread across every industry is the same. The systems most in need of modernization are usually the ones the business can least afford to take offline, and that is exactly why a rushed, unphased approach fails so often.
Legacy System Modernization vs. Application Modernization vs. Data Modernization These three terms get used interchangeably in vendor marketing, which makes it harder, not easier, to scope a project correctly.
Legacy system modernization is the broadest term. It covers the whole aging estate, including applications, databases, and infrastructure, regardless of platform.
Application modernization is narrower. It focuses specifically on the application layer, moving monoliths to microservices, adopting cloud-native and containerized patterns, and modernizing the code itself.
Data modernization is narrower still. It focuses on the data platform underneath those applications, choosing between Microsoft Fabric, Databricks, and Snowflake, and rebuilding the pipelines that feed them.
They overlap constantly in practice. A single legacy modernization program often includes an application-modernization workstream and a data-modernization workstream running in parallel. For teams specifically tuning an existing ETL pipeline rather than replacing the surrounding system, ETL process optimization covers where incremental tuning ends and full modernization becomes the better investment.
How Kanerika Approaches Legacy System Modernization Kanerika treats legacy modernization as a staged program, not a single project. The stages run assess, design, migrate, govern, and enable, in that order.
The assessment phase comes first and is non-negotiable. Kanerika’s teams build a full inventory of applications, dependencies, and data flows before recommending a single strategy, because the biggest cost overruns in modernization programs trace back to skipping this step.
On-Demand Webinar
Modernize Your Data Stack with Migration Accelerators
An on-demand Kanerika session on using migration accelerators to modernize legacy data and RPA infrastructure faster.
Watch On-Demand → Design and migration lean heavily on Kanerika’s FLIP accelerator, which automates the repetitive parts of moving off legacy platforms. That includes code and schema conversion, dependency discovery, and data reconciliation. FLIP already powers migrations from Informatica to Databricks, Talend, and Alteryx, from legacy BI tools like Cognos, Crystal Reports, and QlikView to Power BI, and from Azure Data Factory and SSIS to Microsoft Fabric.
Governance is built in from the first wave, not added afterward. Access controls, data lineage, and cost monitoring are live before the legacy system is decommissioned, not weeks after go-live when problems are harder to trace.
The clearest proof point is FoodPharma’s migration to Microsoft Fabric, independently published by Microsoft as a customer story. Kanerika helped the company unify six separate operational systems, including NetSuite, RedZone, and Paychex, consolidating more than 50 tables and roughly a terabyte of historical data.
Cross-functional reporting that used to take two business days now takes 90 minutes. The BI team recovered roughly 15 hours a week previously spent on manual data work, all within a seven-week implementation.
Kanerika is a Microsoft Solutions Partner for Data and AI with an Advanced Specialization in Data Warehouse Migration to Microsoft Azure, a Databricks Consulting Partner, and a Snowflake Select Tier Partner, spanning the major platforms enterprises modernize toward.
The practitioner lesson Kanerika’s teams repeat most often is simple. A modernization program’s biggest risk is rarely the new technology. It is the undocumented business logic buried in the old system that nobody remembers is there, until it breaks in production.
Wrapping Up Legacy system modernization is not a single technical decision. It is a portfolio of decisions, one per system, made against a consistent framework of business value, technical risk, and cost.
The organizations that get this right treat it as an ongoing discipline rather than a one-time project. They assess continuously, modernize in phases, and govern what they build so it does not become the next generation’s legacy estate.
The mainframe running on retired engineers’ goodwill, the on-premise system with no vendor support left, the monolith nobody wants to touch. All of these are solvable with the right strategy, the right sequencing, and the discipline to validate every wave before moving to the next.
Frequently Asked Questions What is legacy system modernization? Legacy system modernization is the process of updating outdated applications, databases, and infrastructure so they meet current standards for security, scalability, and integration, without discarding the business logic that still works. It covers mainframes, legacy databases, monolithic applications, on-premise infrastructure, and older ERP or CRM systems.
Why do companies modernize legacy systems instead of replacing them? Replacement is riskier and usually more expensive for systems with valuable, hard-to-replicate business logic. Modernization preserves that logic while fixing the underlying technical problems, with lower business disruption than a full rebuild. Most enterprises reserve full replacement for small or genuinely generic applications.
What are the main approaches to legacy system modernization? The seven core strategies are retain, retire, rehost, replatform, refactor, rearchitect, and replace, often called the 7 Rs. Rehosting moves an application to new infrastructure with minimal changes, while rearchitecting redesigns it toward microservices or event-driven architecture. Most programs use several of these strategies across a portfolio of systems.
How long does legacy system modernization take? Timelines depend heavily on system complexity, data volume, and the chosen strategy. With migration automation, complex two-year legacy codebases have been completed in as little as 90 days, while a full multi-system program can span several quarters when phased across waves.
How much does legacy system modernization cost? Cost depends on code complexity, the number of dependent applications, data volume and quality, the chosen strategy, and compliance requirements. Rehosting is typically the cheapest strategy, while rearchitecting and rebuilding cost the most. Any vendor quoting a fixed price before an assessment is guessing.
What is the difference between legacy system modernization and application modernization? Legacy system modernization is the broader term, covering the whole aging estate: applications, databases, and infrastructure. Application modernization is narrower and focuses specifically on the app layer, such as moving monoliths to microservices or adopting cloud-native patterns.
How do you modernize legacy systems with minimal disruption? Modernize in phases instead of a single cutover, run a parallel period where the legacy and new systems operate side by side, and define rollback criteria before go-live rather than during an incident. Reconciling data before and after every wave catches problems while the blast radius is still small.
How does legacy modernization support AI adoption? Generative and agentic AI applications need connected data sources, reliable governed pipelines, and real-time or near-real-time access to operational data, which legacy systems rarely provide on their own. Many stalled AI pilots trace back to a legacy data problem that was never scoped as part of the AI project.
What are common legacy system modernization challenges? The four recurring challenges are data migration complexity from decades of inconsistent formats, business disruption risk from a poorly sequenced cutover, legacy knowledge dependency on retiring staff, and integration complexity from undocumented downstream connections. Naming these upfront is cheaper than discovering them mid-migration.
How do you know when it is time to modernize a legacy system? Watch for a shrinking pool of people who can maintain it, a vendor that has stopped supporting it, release cycles that keep getting slower, a system that blocks your cloud or AI roadmap, and maintenance costs rising faster than the business is growing. Two or three of these appearing together on a business-critical system is usually the signal to act.