Loading source
Pulling the file list, source metadata, and syntax-aware rendering for this listing.
Source from repo
GitHub Copilot for Azure plugin providing Azure service management and development assistance inside Claude Code and IDEs.
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