Architecture References for Web Apps
Introduction
This document provides a comprehensive guide to common and standard architecture patterns used in modern software development. The purpose of this document is to serve as a reference for developers and tech leads in IT industry, and to provide a common understanding of the different architecture patterns that can be used to design, build, and deploy scalable and reliable applications.
The document includes 5 to 6 different types of architecture patterns that have proven to be effective and efficient for a variety of use cases. Each architecture pattern includes a high-level overview, common use cases, and considerations for implementation, making it easier for you to understand the strengths and weaknesses of each pattern and choose the right one for your specific needs.
Whether you are designing a new application, refactoring an existing one, or simply looking to improve your understanding of architecture patterns, this document is an essential resource. By providing a comprehensive overview of the most common and effective architecture patterns, it helps you make informed decisions and ensures that your applications are built to meet the demands of modern users and the ever-evolving technology landscape.
Architecture Patterns
Here are the initial few architecture patterns we have shortlisted. We plan to add more patterns in the future.
- Single Page Application Frontend
- Backend for SPA and Mobile App (Managed Services)
- Backend for SPA and Mobile App (Serverless)
- Multi Page Application (Integrated Web)
- Single Page Application with Worker Process
Cloud Services
The architecture diagrams are created utilizing AWS components, however, alternative services for Azure and GCP are also mentioned here.
Service Type | AWS | Azure | GCP |
---|---|---|---|
Virtual Machine | EC2 | Azure VM | Compute Engine |
Serverless (FaaS) | Lambda | Azure Functions | Cloud Functions |
Queue | SQS | Azure Service Bus | Cloud Tasks |
Job scheduling | EventBridge | Azure Scheduler | Cloud Scheduler |
Container Services | ECS | ACI | Cloud Run |
PaaS (Managed Service) | Elastic Beanstalk | App Service | App Engine |
RDBMS | RDS | Azure Database | Cloud SQL |
NoSQL | DynamoDb | CosmosDb | Firestore |
Load Balancing | ELB | ALB | Cloud Load Balancing |
API Management | API Gateway | API Management | API Gateway |
CDN | CloudFront | Azure Content Delivery Network | Cloud CDN |
Static Storage | S3 | Azure Blob Storage | Cloud Storage |