# Step 2: Architecture Assessment - static-webapp-test

> A lightweight static web application with Azure SQL backend for internal workflow validation. Architecture optimized for cost while maintaining acceptable reliability for non-critical workloads.

- Skill: `tools-only/step-2-architecture-assessment-static-webapp-test` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add tools-only/step-2-architecture-assessment-static-webapp-test`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tools-only/step-2-architecture-assessment-static-webapp-test/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: tools-only (https://skillmd.com/u/tools-only)
- Updated: 2026-09-29
- Page: https://skillmd.com/skills/tools-only/step-2-architecture-assessment-static-webapp-test

---

# Step 2: Architecture Assessment - static-webapp-test

> Generated by architect agent | 2024-12-17

## Requirements Validation ✅

| Category               | Status     | Notes                           |
| ---------------------- | ---------- | ------------------------------- |
| **NFRs**               | ✅ Defined | SLA: 99.9%, RTO: 4hrs, RPO: 1hr |
| **Compliance**         | ✅ Defined | None (internal tool)            |
| **Cost Constraints**   | ✅ Defined | $50/month budget                |
| **Scale Requirements** | ✅ Defined | 10 users, 1GB data              |

_All required information present - proceeding with assessment._

---

## Executive Summary

A lightweight static web application with Azure SQL backend for internal workflow validation.
Architecture optimized for **cost** while maintaining acceptable reliability for non-critical workloads.

### Recommended Architecture

```
┌─────────────────────────────────────────────────────────────────┐
│                        Azure Static Web Apps                     │
│                         (Free Tier)                              │
│  ┌─────────────┐    ┌─────────────┐    ┌─────────────┐         │
│  │   Static    │    │   Azure     │    │   Azure     │         │
│  │   Content   │───▶│  Functions  │───▶│   SQL DB    │         │
│  │   (HTML/JS) │    │ (Integrated)│    │  (Basic S0) │         │
│  └─────────────┘    └─────────────┘    └─────────────┘         │
└─────────────────────────────────────────────────────────────────┘
                              │
                              ▼
                    ┌─────────────────┐
                    │  Azure AD       │
                    │  (Auth)         │
                    └─────────────────┘
```

---

## WAF Pillar Assessment

### Overall Scores

| Pillar                    | Score | Confidence | Summary                                           |
| ------------------------- | ----- | ---------- | ------------------------------------------------- |
| 🔒 Security               | 7/10  | High       | Azure AD auth, HTTPS enforced, no public SQL      |
| 🔄 Reliability            | 6/10  | High       | Single region, basic SLA, acceptable for workload |
| ⚡ Performance            | 7/10  | High       | Global CDN via SWA, adequate for 10 users         |
| 💰 Cost Optimization      | 9/10  | High       | Free/Basic tiers, within $50 budget               |
| 🔧 Operational Excellence | 7/10  | High       | GitHub Actions CI/CD, Application Insights        |

**Primary Pillar Optimized**: 💰 Cost Optimization  
**Trade-offs Accepted**: Reduced reliability (no zone redundancy), limited scalability headroom

---

### 🔒 Security Assessment (7/10)

**Strengths:**

- Azure AD authentication (identity-first approach)
- HTTPS enforced by default on Static Web Apps
- SQL firewall restricts access to Azure services only
- No secrets in code (managed identity for SQL connection)

**Gaps:**

- No WAF (acceptable for internal tool)
- No private endpoints (cost prohibitive for budget)
- Basic threat protection only

**Recommendations:**

1. Enable Azure AD authentication in SWA configuration
2. Use managed identity for SQL connectivity
3. Enable SQL auditing (included in Basic tier)

### 🔄 Reliability Assessment (6/10)

**Strengths:**

- Static Web Apps has built-in global distribution
- Azure SQL Basic includes automated backups (7-day retention)
- 99.9% SLA achievable with selected services

**Gaps:**

- No zone redundancy (not cost-effective for budget)
- Single region deployment
- No failover strategy

**Recommendations:**

1. Implement connection retry logic in API code
2. Configure backup retention to meet 1-hour RPO
3. Document recovery procedures for 4-hour RTO

### ⚡ Performance Assessment (7/10)

**Strengths:**

- Static content served from global edge locations
- 5 DTU sufficient for projected 100 transactions/day
- Azure Functions cold start acceptable for internal tool

**Gaps:**

- SQL Basic tier has limited throughput
- No caching layer

**Recommendations:**

1. Implement client-side caching for static assets
2. Use efficient SQL queries with proper indexing
3. Monitor DTU utilization via Azure Monitor

### 💰 Cost Assessment (9/10)

| Service               | SKU                      | Monthly Cost   | Notes                            |
| --------------------- | ------------------------ | -------------- | -------------------------------- |
| Azure Static Web Apps | Free                     | $0.00          | ✅ MCP-verified                  |
| Azure SQL Database    | S0 (10 DTU)              | ~$15.00        | ✅ MCP-verified ($0.48/day × 30) |
| Azure Functions       | Consumption (integrated) | ~$0.00         | Included with SWA Free           |
| Application Insights  | Basic                    | ~$0.10         | ✅ MCP-verified (first 5GB free) |
| Azure AD              | Free tier                | $0.00          | Standard directory features      |
| **Total Estimated**   |                          | **~$15.10/mo** | ✅ Under $50 budget              |

**Cost Optimization Applied:**

- ✅ Free tier for Static Web Apps (vs Standard $9/mo)
- ✅ Basic/S0 SQL tier (vs General Purpose ~$100+/mo)
- ✅ Consumption-based Functions (vs Premium ~$120/mo)
- ✅ First 5GB Application Insights free

### 🔧 Operational Excellence Assessment (7/10)

**Strengths:**

- GitHub Actions CI/CD built into SWA
- Application Insights for monitoring
- Infrastructure as Code (Bicep)

**Gaps:**

- No advanced alerting configuration
- Manual scaling only

**Recommendations:**

1. Configure basic alerts for SQL DTU > 80%
2. Set up deployment slots for staging (if upgrading to Standard)
3. Implement health check endpoint

---

## Resource SKU Recommendations

| Service               | Recommended SKU | Configuration       | Justification                        |
| --------------------- | --------------- | ------------------- | ------------------------------------ |
| Azure Static Web Apps | Free            | Default             | Meets requirements, $0/mo            |
| Azure SQL Database    | Standard S0     | 10 DTU, 250GB max   | Lowest cost, sufficient for workload |
| Azure Functions       | Consumption     | Integrated with SWA | No additional cost                   |
| Application Insights  | Basic           | 5GB included        | Monitoring without cost              |
| Log Analytics         | Free tier       | 5GB/month           | Basic logging                        |

---

## Architecture Decision Summary

| Decision         | Choice                | Rationale                                        |
| ---------------- | --------------------- | ------------------------------------------------ |
| Hosting Platform | Azure Static Web Apps | Best fit for static + API, free tier available   |
| Database         | Azure SQL S0          | Cost-effective, managed, meets performance needs |
| Authentication   | Azure AD              | Enterprise identity, no additional cost          |
| Monitoring       | Application Insights  | Integrated, consumption-based                    |
| Region           | swedencentral         | Default, sustainable operations                  |

---

## Implementation Handoff

### Ready for bicep-plan

The architecture is approved for implementation with the following key parameters:

```yaml
region: swedencentral
environment: dev
budget: $50/month (estimated: $15.10)

resources:
  - Azure Static Web Apps (Free)
  - Azure SQL Database S0 (10 DTU)
  - Application Insights (Basic)
  - Log Analytics Workspace (Free tier)

security:
  - Azure AD authentication
  - Managed identity for SQL
  - HTTPS enforced

monitoring:
  - Application Insights
  - SQL DTU alerts at 80%
```

---

## Approval Gate

> **🏗️ Architecture Assessment Complete**
>
> | Pillar      | Score |
> | ----------- | ----- |
> | Security    | 7/10  |
> | Reliability | 6/10  |
> | Performance | 7/10  |
> | Cost        | 9/10  |
> | Operations  | 7/10  |
>
> **Estimated Monthly Cost**: ~$15.10 (✅ MCP-verified)
>
> **Confidence Level**: High (all requirements defined)
>
> Reply **"approve"** to proceed to bicep-plan, or provide feedback for revisions.

---

_Assessment performed using Azure Well-Architected Framework. Pricing data from Azure Pricing MCP (2024-12-17)._

