
In this article, I want to provide the services available to build the 12-factor applications on AWS and Microsoft Azure.
12-Factor Principles | Amazon Web Services | Microsoft Azure |
---|---|---|
Codebase One codebase tracked in revision control, many deploys |
AWS CodeCommit | Azure Repos |
Dependencies Explicitly declare and isolate dependencies |
AWS S3 | Azure Artifacts |
Config Store config in the environment |
AWS AppConfig | App Configuration |
Backing services Treat backing services as attached resources |
Amazon RDS, DynamoDB, S3, EFS and RedShift, messaging/queueing system (SNS/SQS, Kinesis), SMTP services (SES) and caching systems (Elasticache) | Azure Cosmos DB, SQL databases, Storage accounts, messaging/queueing system(Service Bus/Event Hubs), SMTP services, and caching systems (Azure Cache for Redis) |
Build, release, run Strictly separate build and run stages |
AWS CodeBuild AWS CodePipeline |
Azure Pipelines |
Processes Execute the app as one or more stateless processes |
Amazon ECS services Amazon Elastic Kubernetes Service |
Container services Azure Kubernetes Service (AKS) |
Port binding Export services via port binding |
Amazon ECS services Amazon Elastic Kubernetes Service |
Container services Azure Kubernetes Service (AKS) |
Concurrency Scale-out via the process model |
Amazon ECS services Amazon Elastic Kubernetes Service Application Auto Scaling |
Container services Azure Kubernetes Service (AKS) |
Disposability Maximize robustness with fast startup and graceful shutdown |
Amazon ECS services Amazon Elastic Kubernetes Service Application Auto Scaling |
Container services Azure Kubernetes Service (AKS) |
Dev/prod parity Keep development, staging, and production as similar as possible |
AWS CloudFormation | Azure Resource Manager |
Logs Treat logs as event streams |
Amazon CloudWatch AWS CloudTrail |
Azure Monitor |
Admin processes Run admin/management tasks as one-off processes |
Amazon Simple Workflow Service (SWF) | Logic Apps |
Leave a Reply