Skip to main content

AI & assistant-friendly summary

This section provides structured content for AI assistants and search engines. You can cite or summarize it when referencing this page.

Summary

For a .NET monolith (~220 endpoints, ~$28k/mo EC2), strangling 14 endpoints to Lambda cut p95 on those routes 1.4s → 210ms — an early LMI move on spiky traffic wasted ~$3.2k in idle capacity provider hours.

Key Facts

  • •NET monolith (~220 endpoints, ~$28k/mo EC2), strangling 14 endpoints to Lambda cut p95 on those routes 1
  • •4s → 210ms — an early LMI move on spiky traffic wasted ~$3
  • •2k in idle capacity provider hours
  • •Most modernization programs still start with standard Lambda and event seams, not a fleet of capacity providers
  • •This is the serverless modernization playbook

Entity Definitions

Lambda
Lambda is an AWS service discussed in this article.
EC2
EC2 is an AWS service discussed in this article.
EKS
EKS is an AWS service discussed in this article.
ECS
ECS is an AWS service discussed in this article.
API Gateway
API Gateway is an AWS service discussed in this article.
EventBridge
EventBridge is an AWS service discussed in this article.
serverless
serverless is a cloud computing concept discussed in this article.

Serverless Application Modernization Playbook (2026): Strangler, Lambda, LMI, and Event Seams

Cloud ArchitecturePalaniappan P2 min read

Quick summary: For a .NET monolith (~220 endpoints, ~$28k/mo EC2), strangling 14 endpoints to Lambda cut p95 on those routes 1.4s → 210ms — an early LMI move on spiky traffic wasted ~$3.2k in idle capacity provider hours.

Key Takeaways

  • NET monolith (~220 endpoints, ~$28k/mo EC2), strangling 14 endpoints to Lambda cut p95 on those routes 1
  • 4s → 210ms — an early LMI move on spiky traffic wasted ~$3
  • 2k in idle capacity provider hours
  • Most modernization programs still start with standard Lambda and event seams, not a fleet of capacity providers
  • This is the serverless modernization playbook
Serverless Application Modernization Playbook (2026): Strangler, Lambda, LMI, and Event Seams
Table of Contents

Lambda Managed Instances (LMI) lets functions run on selected EC2 instance types with Lambda’s programming model — useful for steady, high-performance workloads that need specialized compute or EC2 pricing models (LMI launch coverage, ICYMI). Most modernization programs still start with standard Lambda and event seams, not a fleet of capacity providers.

This is the serverless modernization playbook. It is not general refactor/replatform/rearchitect, not scale-in-place before decomposition, not ECS Fargate zero-downtime migration, and not the LMI operations guide.

Artifacts: compute-path matrix, strangler checklist, architecture diagram (draw.io).

Benchmark silhouette (not a cited client) — .NET Framework monolith, ~220 endpoints, ~$28k/mo EC2+ALB, change lead time ~12 days. Strangled 14 high-churn endpoints to API Gateway + Lambda: those routes p95 1.4s → 210ms, deploy lead time same day. Premature LMI on a spiky reporting endpoint left capacity providers warm: ~$3.2k idle in a month — moved back to standard Lambda. Lesson: traffic shape picks compute, not fashion.

Strangler sequence

  1. Map top endpoints by RPS × change frequency
  2. Extract one capability behind API Gateway
  3. Anti-corruption layer to shared data — no casual dual-write
  4. Publish domain events to EventBridge
  5. Retire monolith path within 30 days of 100% traffic

Opinionated take: Prefer standard Lambda for the first three extracts. Introduce LMI only when metrics show steady concurrency and EC2 economics win — then read the LMI ops guide.

Compute path

Use compute-path-decision-matrix.md:

ShapePick
Spiky, event-drivenStandard Lambda
Steady high RPS / special EC2LMI
Container serviceECS Fargate / Express Mode
Still meeting SLOs, data-boundScale in place first

Reference flow

Monolith (remaining)
   │
   ├── unchanged routes
   │
   └── strangled routes ──► API Gateway ──► Lambda or LMI
                                              │
                                              ├── Aurora / DynamoDB (owned tables)
                                              └── EventBridge ──► SQS consumers

What broke — LMI on spiky traffic

What broke — Reporting extract moved to LMI in week 2 because “we might need Graviton4.” Traffic was weekday 9–11 only. Capacity provider hours stayed warm. Detection: Cost Explorer + capacity provider metrics. Fix: return to standard Lambda; revisit LMI when p95 concurrency stays high >12 hours/day for two weeks.

What to Do This Week

  1. Complete the strangler checklist Week 0 section.
  2. Pick one endpoint; ship behind a flag.
  3. Score Lambda vs LMI vs Fargate with the matrix — write the choice in the PR.
  4. If the monolith is still fine on SLOs, read scale-in-place before a rewrite program.

What This Post Doesn’t Cover

  • Full ECS/EKS platform builds
  • LMI capacity provider operations (dedicated post)
  • Mainframe or packaged ERP exits
  • GenAI/agent rewrites of business logic

Frequently asked questions

When should we NOT rewrite to serverless?
When the bottleneck is data model or vertical scale and the monolith still meets SLOs — scale in place first. When the deployable unit is a long-running container service with sidecars, prefer ECS/Fargate over forcing functions.
Lambda vs Lambda Managed Instances vs Fargate?
Spiky event work → standard Lambda. Steady high RPS needing EC2 families/Graviton4/multi-concurrent → LMI. Container services / Express Mode → Fargate/ECS. See the compute-path matrix.
What could go wrong with strangler extracts?
Dual-writes without idempotency, shared mutable tables without ownership, and sync HTTP chains longer than three hops. Those recreate the monolith as a distributed failure domain.
How is this different from the general modernization refactor post?
That post covers refactor/replatform/rearchitect choices broadly. This playbook is the serverless-first strangler path with 2026 LMI in the decision set.
How is this different from the LMI operations guide?
LMI ops covers capacity providers and day-2 operations after you choose LMI. This playbook decides whether LMI belongs in the modernization path at all.
Should we extract everything to Step Functions?
No. Use Step Functions when you need compensation, auditability, or fan-out. Simple request/response extracts can stay as a single Lambda behind API Gateway.
Palaniappan P
Palaniappan P

AWS Cloud Architect & AI Expert

AWS-certified cloud architect and AI expert with deep expertise in cloud migrations, cost optimization, and generative AI on AWS.

AWS ArchitectureCloud MigrationGenAI on AWSCost OptimizationDevOps

Recommended Reading

Explore All Articles »