Loading source
Pulling the file list, source metadata, and syntax-aware rendering for this listing.
Source from repo
Assess and migrate workloads from AWS, GCP, or other clouds to Azure services.
Files
Skill
Size
Entrypoint
Format
Open file
Syntax-highlighted preview of this file as included in the skill package.
references/services/functions/assessment.md
1# Assessment Phase23Generate a migration assessment report before any code changes.45## Prerequisites67- Workspace contains AWS Lambda functions, SAM templates, or CloudFormation templates8- Prompt user to upload relevant files if not present910## Assessment Steps11121. **Identify Functions** — List all Lambda functions with runtimes, triggers, and dependencies132. **Map AWS Services** — Map AWS services to Azure equivalents (see [lambda-to-functions.md](lambda-to-functions.md))143. **Map Properties** — Map Lambda properties to Azure Functions properties154. **Check Dependencies** — List 3rd-party libraries and verify Azure compatibility165. **Analyze Code** — Check language support and runtime differences176. **Map Triggers** — Identify equivalent Azure Functions triggers187. **Map Deployment** — Identify equivalent Azure deployment strategies (CLI, Bicep, azd)198. **Review CI/CD** — Check pipeline compatibility with Azure DevOps or GitHub Actions209. **Map Monitoring** — Map CloudWatch → Application Insights / Azure Monitor2122## Code Preview2324During assessment, show a **sneak peek** of what the migrated Azure Functions code will look like for each function. Use bindings and triggers (not SDKs) in all previews, following Azure Functions best practices. **Always use the newest generally available (GA) language runtime listed in the Azure Functions supported languages documentation** in previews (for example, the latest Node.js LTS or newest Python GA version). This helps the user understand the migration scope before committing to code migration.2526> ⚠️ **Binding-first rule**: Code previews MUST use `input.storageBlob()`, `output.storageBlob()`, `app.storageQueue()`, etc. instead of `BlobServiceClient`, `QueueClient`, or other SDK clients. Only use SDK for services that have no binding equivalent.2728## Architecture Diagrams2930Generate two diagrams:311. **Current State** — AWS Lambda architecture with triggers and integrations322. **Target State** — Azure Functions architecture showing equivalent structure3334## Assessment Report Format3536> ⚠️ **MANDATORY**: Use these exact section headings in every assessment report. Do NOT rename, reorder, or omit sections.3738The report MUST be saved as `migration-assessment-report.md` inside the output directory (`<workspace-root-basename>-azure/`).3940```markdown41# Migration Assessment Report4243## 1. Executive Summary4445| Property | Value |46|----------|-------|47| **Total Functions** | <count> |48| **Source Platform** | AWS Lambda |49| **Source Runtime** | <runtime and version> |50| **Target Platform** | Azure Functions |51| **Target Runtime** | <runtime and version> |52| **Migration Readiness** | <High / Medium / Low> |53| **Estimated Effort** | <Low / Medium / High> |54| **Assessment Date** | <date> |5556## 2. Functions Inventory5758| # | Function Name | Runtime | Trigger Type | Memory (MB) | Timeout (s) | Description |59|---|--------------|---------|-------------- |-------------|-------------|-------------|60| 1 | | | | | | |6162## 3. Service Mapping6364| AWS Service | Azure Equivalent | Migration Complexity | Notes |65|-------------|------------------|----------------------|-------|66| Lambda | Azure Functions | | |67| API Gateway | Azure Functions HTTP Trigger / APIM | | |68| S3 | Azure Blob Storage | | |69| DynamoDB | Cosmos DB | | |70| SQS | Service Bus / Storage Queue | | |71| SNS | Event Grid | | |72| CloudWatch | Application Insights / Azure Monitor | | |73| IAM Roles | Managed Identity + RBAC | | |74| CloudFormation / SAM | Bicep / ARM Templates | | |7576## 4. Trigger & Binding Mapping7778| # | Function Name | AWS Trigger | Azure Trigger | AWS Inputs/Outputs | Azure Bindings | Notes |79|---|--------------|-------------|---------------|--------------------| ---------------|-------|80| 1 | | | | | | |8182## 5. Dependencies Analysis8384| # | Package/Library | Version | AWS-Specific? | Azure Equivalent | Compatible? | Notes |85|---|----------------|---------|---------------|------------------|-------------|-------|86| 1 | | | | | | |8788## 6. Environment Variables & Configuration8990| # | AWS Variable | Purpose | Azure Equivalent | Auth Method | Notes |91|---|-------------|---------|------------------|-------------|-------|92| 1 | | | | Managed Identity / App Setting | |9394## 7. Architecture Diagrams9596### 7a. Current State (AWS)9798<!-- Mermaid or ASCII diagram of AWS Lambda architecture -->99100### 7b. Target State (Azure)101102<!-- Mermaid or ASCII diagram of Azure Functions architecture -->103104## 8. IAM & Security Mapping105106| AWS IAM Role/Policy | Azure RBAC Role | Scope | Notes |107|---------------------|-----------------|-------|-------|108| | | | |109110## 9. Monitoring & Observability Mapping111112| AWS Service | Azure Equivalent | Migration Notes |113|-------------|------------------|-----------------|114| CloudWatch Logs | Application Insights | |115| CloudWatch Metrics | Azure Monitor Metrics | |116| CloudWatch Alarms | Azure Monitor Alerts | |117| X-Ray | Application Insights (distributed tracing) | |118119## 10. CI/CD & Deployment Mapping120121| AWS Tool | Azure Equivalent | Notes |122|----------|------------------|-------|123| SAM CLI | Azure Functions Core Tools / azd | |124| CloudFormation | Bicep / ARM Templates | |125| CodePipeline | Azure DevOps Pipelines / GitHub Actions | |126| CodeBuild | Azure DevOps Build / GitHub Actions | |127128## 11. Project Structure Comparison129130| AWS Lambda Structure | Azure Functions Structure |131|---------------------|--------------------------|132| `template.yaml` (SAM) | `host.json` |133| `handler.js / handler.py` | `src/app.js` / `src/function_app.py` |134| `requirements.txt` / `package.json` | `requirements.txt` / `package.json` |135| Per-function directories (optional) | Single entry point (v4 JS / v2 Python) |136| `event` object | Trigger-specific parameter |137| `context` object | `InvocationContext` |138139## 12. Recommendations1401411. **Runtime**: <recommended Azure Functions runtime and version>1422. **Hosting Plan**: <Flex Consumption / Premium>1433. **IaC Strategy**: <Bicep with azd / Terraform / ARM>1444. **Auth Strategy**: <Managed Identity for all service-to-service>1455. **Monitoring**: <Application Insights + Azure Monitor>146147## 13. Next Steps148149- [ ] Review and approve this assessment report150- [ ] Proceed to code migration (azure-cloud-migrate Phase 2)151- [ ] Hand off to azure-prepare for IaC generation152```153154> 💡 **Tip:** Use `mcp_azure_mcp_get_azure_bestpractices` tool to learn Azure Functions project structure best practices for the comparison.155