Skip to content

[DOCS] Create Low-Level Design (LLD) document based on current repo and documentation #34

@kristopherjturner

Description

@kristopherjturner

Summary

Create a comprehensive Low-Level Design (LLD) document for the Azure Local Cloud reference solution. The LLD provides the detailed technical specification of the solution — specific configurations, IP schemes, naming conventions, component settings, and validation procedures — complementing the High-Level Design (HLD).

The LLD should be based on the current state of the codebase, variable templates, and documentation and placed in the docs/design/ section of the docs site.

Dependency: This issue depends on the HLD being complete or in progress (see HLD issue). The LLD references and extends the architectural decisions made in the HLD.

Audience

  • Implementation engineers performing the deployment
  • Senior engineers and architects reviewing technical specifications
  • Operations teams who need detailed reference during day-2 activities

Document Structure

1. Document Scope and Purpose

  • Relationship to the HLD
  • How to use this document alongside the Implementation Guide

2. Environment Specifications

Based on the IIC (Contoso) reference environment from the variable templates:

Azure Environment

Attribute Value
Subscription (from variables.example.yml)
Management Group Reference a master-registry.yaml entry
Primary Region eastus (reference default)
Resource Group Pattern rg-iic-<purpose>-<##>

On-Premises Hardware Specifications

  • Node count, CPU/memory/storage baseline for the reference design
  • Dell PowerEdge configuration reference (from appendix-i-dell-config.mdx)
  • BOSS card / NVMe / HDD tiering specification

Network Design

Network CIDR Purpose
Management 10.0.0.0/24 Node management NICs
Compute 10.0.2.0/24 Workload (VM) traffic
Storage (from RDMA network design) RDMA storage traffic
BMC/OOB (iDRAC) Out-of-band management

Full network design: VLANs, IP assignments for each node, switch port mapping.

3. Identity and Access Design

  • AD domain structure (OU hierarchy from scripts/deploy/02-azure-foundation/)
  • Service accounts (naming pattern: svc.iic.<purpose>)
  • Arc service principal setup
  • Key Vault secrets layout
  • RBAC role assignments per phase

4. Storage Design

  • S2D pool configuration (cache tier, capacity tier)
  • Volume layout: CSV volumes, FSLogix shares
  • Storage fault domain design
  • Resync, quorum, and HA configuration

5. Networking Detail

  • Network ATC intent configuration
  • RDMA adapter settings (SR-IOV, MTU, QoS)
  • Logical network definitions for Arc VMs
  • SDN configuration (if applicable)
  • DNS zones, records, and forwarder configuration
  • DHCP scope design

6. Azure Services Configuration

Service Key Settings
Log Analytics Workspace Retention, solutions enabled
Azure Monitor Alert rules, action groups
Azure Backup Vault, policy — VMs and SOFS
Azure Site Recovery Replica region, RPO/RTO targets
Defender for Cloud Security standard, MCSB baseline
Update Manager Maintenance window, ring strategy
Key Vault Access policies/RBAC, secret naming

7. Variable Mapping

  • Summary of the key variables from variables.example.yml and master-registry.yaml
  • Which variables must be customized per deployment
  • Variables with organization-wide defaults

8. Script-to-Task Mapping

Reference table mapping each implementation guide task to its script file:

Phase Task Script
Phase 0 CI/CD Bootstrap scripts/deploy/01-cicd-infra/...
Phase 1 Management Groups scripts/deploy/02-azure-foundation/...
... ... ...

9. Validation and Acceptance Criteria

  • Per-phase validation checklist (reference the implementation guide appendix)
  • Pass/fail criteria for each phase
  • Sign-off requirements

10. Configuration Templates Reference

  • Reference appendix-e-config-templates.mdx for config file templates
  • Variable file template location: config/variables/variables.example.yml
  • Script index: appendix-d-script-index.mdx

Placement

Create the document at: docs/design/low-level-design.mdx

The docs/design/ section already exists in the site.

Acceptance Criteria

  • LLD document created at docs/design/low-level-design.mdx
  • Network design table completed (based on variables.example.yml default values)
  • Storage design section completed (based on S2D deployment scripts)
  • Azure services configuration table completed (based on phase scripts and variable registry)
  • Script-to-task mapping table references accurate script paths
  • Variable mapping table covers the most critical variables from master-registry.yaml
  • Document is self-consistent with the HLD and implementation guide
  • npm run build passes with no broken links

References

  • config/variables/variables.example.yml — baseline variable values to document
  • config/variables/master-registry.yaml — full variable registry
  • docs/design/ — section where this document belongs
  • docs/implementation/04-variable-management-standard.mdx — variable management context
  • docs/implementation/appendices/appendix-d-script-index.mdx — script index
  • docs/implementation/appendices/appendix-e-config-templates.mdx — config templates
  • docs/implementation/appendices/appendix-f-network-validation.mdx — network validation
  • HLD issue (create this after or in parallel with HLD)

Metadata

Metadata

Assignees

No one assigned

    Labels

    ado-trackedIssue has a linked ADO work item

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions