Gnomon › Templates › Azure architecture diagramsAzure architecture diagrams Official Azure icons, rendered offline.
Azure architecture diagrams using the official icon set from a bundled copy, so they render without network access and keep rendering when upstream paths move.
When to use these Designs where the specific managed service is the decision being communicated. Enterprise environments where Azure is the default and the icons are the shared vocabulary. When not to Early design, before the platform is chosen. Vendor icons foreclose the conversation. Common mistakes Azure's service naming changes more often than its architecture patterns do. Label boxes with what the thing *does* as well as what it is currently called, and the diagram survives the next rename.
The 6 templates A small, legible starting point.
Show the source @startuml
!define AzurePuml https://raw.githubusercontent.com/plantuml-stdlib/Azure-PlantUML/release/2-2/dist
!include AzurePuml/AzureCommon.puml
!include AzurePuml/Compute/AzureVirtualMachine.puml
!include AzurePuml/Databases/AzureSqlDatabase.puml
!include AzurePuml/Storage/AzureBlobStorage.puml
!include AzurePuml/Networking/AzureLoadBalancer.puml
title Azure Simple Architecture
AzureLoadBalancer(lb, "Load Balancer", "Standard")
AzureVirtualMachine(vm, "Web Server", "D2s v3")
AzureSqlDatabase(db, "Database", "SQL Database")
AzureBlobStorage(storage, "Static Assets", "Blob Storage")
lb --> vm
vm --> db
vm --> storage
@endumlNotes and a copy button for this template
App Service, SQL, storage: the common line-of-business shape.
Show the source @startuml
!define AzurePuml https://raw.githubusercontent.com/plantuml-stdlib/Azure-PlantUML/release/2-2/dist
!include AzurePuml/AzureCommon.puml
!include AzurePuml/Compute/AzureAppService.puml
!include AzurePuml/Databases/AzureSqlDatabase.puml
!include AzurePuml/Databases/AzureRedisCache.puml
!include AzurePuml/Storage/AzureBlobStorage.puml
!include AzurePuml/Networking/AzureFrontDoor.puml
!include AzurePuml/Networking/AzureApplicationGateway.puml
title Azure Web App Architecture
actor User as user
AzureFrontDoor(cdn, "Front Door", "CDN & WAF")
AzureApplicationGateway(appgw, "App Gateway", "WAF v2")
AzureAppService(webapp, "Web App", "P1v3")
AzureRedisCache(cache, "Redis Cache", "Premium")
AzureSqlDatabase(db, "SQL Database", "Standard")
AzureBlobStorage(storage, "Blob Storage", "Hot Tier")
user --> cdn
cdn --> appgw
appgw --> webappThe rest of this template, and how to use it
Functions, Event Grid, Cosmos.
Show the source @startuml
!define AzurePuml https://raw.githubusercontent.com/plantuml-stdlib/Azure-PlantUML/release/2-2/dist
!include AzurePuml/AzureCommon.puml
!include AzurePuml/Compute/AzureFunction.puml
!include AzurePuml/Web/AzureAPIManagement.puml
!include AzurePuml/Databases/AzureCosmosDb.puml
!include AzurePuml/Storage/AzureBlobStorage.puml
!include AzurePuml/Integration/AzureServiceBus.puml
!include AzurePuml/Integration/AzureEventGrid.puml
!include AzurePuml/Web/AzureCDN.puml
!include AzurePuml/Identity/AzureActiveDirectoryB2C.puml
title Azure Serverless Architecture
actor User as user
AzureCDN(spa, "CDN + Static Site", "Frontend")
AzureActiveDirectoryB2C(auth, "Azure AD B2C", "Auth")
AzureAPIManagement(apim, "API Management", "Developer")
AzureFunction(httpFunc, "HTTP Trigger", "Node.js")
AzureFunction(queueFunc, "Queue Trigger", "Node.js")
AzureFunction(eventFunc, "Event Trigger", "Python")
The rest of this template, and how to use it
AKS-based, with ingress and service-to-service traffic.
Show the source @startuml
!define AzurePuml https://raw.githubusercontent.com/plantuml-stdlib/Azure-PlantUML/release/2-2/dist
!include AzurePuml/AzureCommon.puml
!include AzurePuml/Containers/AzureKubernetesService.puml
!include AzurePuml/Containers/AzureContainerRegistry.puml
!include AzurePuml/Web/AzureAPIManagement.puml
!include AzurePuml/Networking/AzureApplicationGateway.puml
!include AzurePuml/Databases/AzureSqlDatabase.puml
!include AzurePuml/Databases/AzureRedisCache.puml
!include AzurePuml/Integration/AzureServiceBus.puml
!include AzurePuml/DevOps/AzureApplicationInsights.puml
title Azure Microservices Architecture
AzureAPIManagement(apim, "API Management", "")
AzureApplicationGateway(appgw, "App Gateway", "")
AzureKubernetesService(aks, "AKS Cluster", "") {
rectangle "User Service" as userSvc
rectangle "Order Service" as orderSvc
rectangle "Product Service" as productSvc
rectangle "Notification Service" as notifySvc
}
The rest of this template, and how to use it
Synapse, Data Factory, Data Lake.
Show the source @startuml
!define AzurePuml https://raw.githubusercontent.com/plantuml-stdlib/Azure-PlantUML/release/2-2/dist
!include AzurePuml/AzureCommon.puml
!include AzurePuml/Databases/AzureSqlDatabase.puml
!include AzurePuml/Storage/AzureDataLakeStorage.puml
!include AzurePuml/Analytics/AzureDatabricks.puml
!include AzurePuml/Analytics/AzureSynapseAnalytics.puml
!include AzurePuml/Analytics/AzureStreamAnalyticsJob.puml
!include AzurePuml/Analytics/AzureEventHub.puml
!include AzurePuml/Analytics/PowerBI.puml
title Azure Data Platform
' Data Sources
AzureSqlDatabase(sourceDb, "Source Database", "")
AzureEventHub(eventHub, "Event Hub", "Real-time")
' Data Lake
AzureDataLakeStorage(rawZone, "Raw Zone", "ADLS Gen2")
AzureDataLakeStorage(cleanZone, "Clean Zone", "ADLS Gen2")
AzureDataLakeStorage(curatedZone, "Curated Zone", "ADLS Gen2")
' Processing
AzureSynapseAnalytics(synapse, "Synapse", "Orchestration & DW")The rest of this template, and how to use it
Pipelines from commit to deploy.
Show the source @startuml
!define AzurePuml https://raw.githubusercontent.com/plantuml-stdlib/Azure-PlantUML/release/2-2/dist
!include AzurePuml/AzureCommon.puml
!include AzurePuml/DevOps/AzureRepos.puml
!include AzurePuml/DevOps/AzurePipelines.puml
!include AzurePuml/DevOps/AzureArtifacts.puml
!include AzurePuml/DevOps/AzureBoards.puml
!include AzurePuml/DevOps/AzureTestPlans.puml
!include AzurePuml/Containers/AzureContainerRegistry.puml
!include AzurePuml/Containers/AzureKubernetesService.puml
!include AzurePuml/Security/AzureKeyVault.puml
!include AzurePuml/DevOps/AzureApplicationInsights.puml
title Azure DevOps Pipeline
actor Developer as dev
AzureBoards(boards, "Azure Boards", "Work Items")
AzureRepos(repos, "Azure Repos", "Source")
AzurePipelines(pipeline, "Azure Pipelines", "CI/CD")
AzureTestPlans(tests, "Test Plans", "Testing")
AzureArtifacts(artifacts, "Artifacts", "Packages")
AzureContainerRegistry(acr, "Container Registry", "")
AzureKeyVault(vault, "Key Vault", "Secrets")The rest of this template, and how to use it
Render these offline Every template here ships in Gnomon and renders on your machine, with no account and nothing sent to a server. The browser editor is free and needs no install.
Get Gnomon Open the browser editor