Microservices Architecture
Service-per-container with the plumbing between them.
- Format.puml
- Length53 lines
- LibraryAWS icons
The source
53 lines of PlantUML, and pulls in AWS icons. Copy it, or open the template inside Gnomon and render it as it is.
@startuml
!define AWSPuml https://raw.githubusercontent.com/awslabs/aws-icons-for-plantuml/main/dist
!include AWSPuml/AWSCommon.puml
!include AWSPuml/Containers/ElasticContainerService.puml
!include AWSPuml/Containers/ElasticContainerRegistry.puml
!include AWSPuml/Containers/ElasticKubernetesService.puml
!include AWSPuml/NetworkingContentDelivery/APIGateway.puml
!include AWSPuml/ApplicationIntegration/SimpleQueueService.puml
!include AWSPuml/Database/RDS.puml
!include AWSPuml/Database/ElastiCache.puml
!include AWSPuml/NetworkingContentDelivery/ElasticLoadBalancing.puml
!include AWSPuml/ManagementGovernance/CloudWatch.puml
title AWS Microservices Architecture
APIGateway(api, "API Gateway", "")
ElasticLoadBalancing(alb, "ALB", "")
ElasticKubernetesService(eks, "EKS Cluster", "") {
ElasticContainerService(userSvc, "User Service", "")
ElasticContainerService(orderSvc, "Order Service", "")
ElasticContainerService(productSvc, "Product Service", "")
ElasticContainerService(notifySvc, "Notification Service", "")
}
ElasticContainerRegistry(registry, "Container Registry", "")
RDS(userDb, "Users DB", "")
RDS(orderDb, "Orders DB", "")
RDS(productDb, "Products DB", "")
ElastiCache(cache, "Redis Cache", "")
SimpleQueueService(eventQueue, "Event Queue", "")
CloudWatch(monitoring, "CloudWatch", "")
api --> alb
alb --> userSvc
alb --> orderSvc
alb --> productSvc
userSvc --> userDb
orderSvc --> orderDb
productSvc --> productDb
userSvc --> cache
productSvc --> cache
orderSvc --> eventQueue
eventQueue --> notifySvc
eks --> monitoring
@endumlRender this offline
This template 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.
Others in AWS architecture diagrams
- Simple ArchitectureThe starting point: a handful of services and the traffic between them.
- VPC ArchitectureSubnets, availability zones and what is actually reachable from where.
- Serverless ArchitectureAPI Gateway, Lambda, DynamoDB: the pattern most greenfield work starts from.
- Data Lake ArchitectureIngest, store, catalogue, query.
- CI/CD PipelineCodePipeline and friends, end to end.