Skip to content

Instantly share code, notes, and snippets.

@travisnielsen
Created January 18, 2022 01:35
Show Gist options
  • Save travisnielsen/8b94e497ef92849ffed167016a8df25d to your computer and use it in GitHub Desktop.
Save travisnielsen/8b94e497ef92849ffed167016a8df25d to your computer and use it in GitHub Desktop.
Sample PUML for feature/svgconvertupdate
@startuml
!pragma revision 1
!includeurl https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Container.puml
!define AzurePuml https://raw.githubusercontent.com/travisnielsen/Azure-PlantUML/feature/svgconvertupdate/dist
!includeurl AzurePuml/AzureCommon.puml
!includeurl AzurePuml/AzureC4Integration.puml
!includeurl AzurePuml/Databases/AzureRedisCache.puml
!includeurl AzurePuml/Databases/AzureCosmosDb.puml
!includeurl AzurePuml/Databases/AzureSqlDatabase.puml
!includeurl AzurePuml/Web/AzureWebApp.puml
!includeurl AzurePuml/Web/AzureCDN.puml
!includeurl AzurePuml/Web/AzureSearch.puml
!includeurl AzurePuml/Storage/AzureBlobStorage.puml
!includeurl AzurePuml/Storage/AzureQueueStorage.puml
' NEW ICONS
!includeurl AzurePuml/Databases/AzurePowerBIEmbedded.puml
!includeurl AzurePuml/Networking/AzureSubnet.puml
!includeurl AzurePuml/Integration/AzureServiceBusQueue.puml
LAYOUT_WITH_LEGEND()
Person(user, "User")
Container(spa, "Single-Page App", "Angular, JS")
AzureWebApp(webApp, "Web & API App", "ASP.NET Core MVC 2.1, C#", "Delivers the SPA and provides RESTful web APIs which are consumed from the SPA")
AzureCDN(cdn, "CDN", "Akamai S2", "caches publicly available content for lower latency and faster delivery of content")
AzureBlobStorage(staticBlobStorage, "Static Content", "General Purpose v2, Hot, LRS")
AzureQueueStorage(queue, "Queue", "General Purpose v2, LRS")
AzureSearch(search, "Search Index", "Standard S1", "provides search suggestions, fuzzy search, and language-specific search, consolidates a single search index from multiple data stores")
AzureRedisCache(redisCache, "Cache", "Standard C2")
AzureCosmosDb(cosmosDb, "Document DB", "SQL API, 400 RUs")
AzureSqlDatabase(sqlDb, "SQL DB", "Standard S3")
AzureWebApp(webJob, "Web Job", "WebJobs SDK v3, C#", "runs long-running tasks in the background")
' NEW ICONS
AzureSubnet(subnet, "mySybnet", "Test123", "Test123")
AzureServiceBusQueue(sbQueue, "myQueue", "hello", "test")
AzurePowerBIEmbedded(pbi, "PowerBI", "myPBI", "")
subnet --> sbQueue
subnet --> pbi
Rel(user, spa, "Uses", "HTTPS")
Rel(user, webApp, "Uses", "HTTPS")
Rel(user, cdn, "Uses", "HTTPS")
Rel_Neighbor(spa, webApp, "Uses", "JSON, HTTPS")
Rel_Back_Neighbor(spa, webApp, "Delivers")
Rel_Neighbor(cdn, staticBlobStorage, "Reads from")
Rel(webApp, queue, "Puts background jobs into")
Rel(webApp, sqlDb, "Reads from and writes to", "ADO.NET")
Rel(webApp, cosmosDb, "Reads from and writes to", "SQL API")
Rel(webApp, redisCache, "Reads from and writes to")
Rel(webApp, search, "Reads from")
Rel_U(webJob, queue, "Gets next job from")
Rel_U(webJob, sqlDb, "Reads from and writes to", "ADO.NET")
Rel_U(webJob, cosmosDb, "Reads from and writes to", "SQL API")
Rel_U(webJob, redisCache, "Reads from and writes to")
Rel_Back_Neighbor(cosmosDb, search, "Builds index from")
Rel_Neighbor(search, sqlDb, "Builds index from")
Lay_D(search, webJob)
@enduml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment