[ { "id": "pattern_monolithic", "name": "Traditional Monolith", "description": "Single deployable unit with all functionality in one codebase. Simple but can become complex as the application grows.", "use_cases": ["Small applications", "Prototypes", "MVPs", "Internal tools"], "tags": ["monolith", "simple", "traditional", "single-deployment"], "components": ["Web Server", "Application Server", "Database", "CDN"], "pros": ["Simple to develop", "Simple to deploy", "Lower initial cost", "Fewer network hops", "Easy debugging"], "cons": ["Hard to scale", "Tight coupling", "Single point of failure", "Slower development as codebase grows"], "tech_stack": {"frontend": "React/Next.js", "backend": "Python FastAPI / Node.js / Django / Rails", "database": "PostgreSQL / MySQL", "infrastructure": "Docker / AWS ECS"}, "estimated_cost": "$100-500/month", "estimated_setup_time": "1-2 weeks" }, { "id": "pattern_modular_monolith", "name": "Modular Monolith", "description": "Monolith organized as loosely coupled domain modules based on DDD bounded contexts.", "use_cases": ["Medium applications", "Migration from monolith to microservices", "Teams wanting modularity without complexity", "Domain-driven applications"], "tags": ["monolith", "modular", "ddd", "domain-oriented", "bounded-context", "clean-architecture"], "components": ["Domain Modules", "Module APIs (Facades)", "Shared Kernel", "Database (possibly schema-per-module)"], "pros": ["Clear domain boundaries", "Independent module development", "Single deployment", "Testable", "Can evolve to microservices later"], "cons": ["Requires DDD discipline", "Database coupling if not separated", "Scale limitations"], "tech_stack": {"framework": "Any (FastAPI/Django/Spring/.NET)", "organization": "Package by feature/domain", "database": "PostgreSQL (schema-per-module or database-per-module)", "testing": "Integration tests per module"}, "estimated_cost": "$200-800/month", "estimated_setup_time": "2-4 weeks" }, { "id": "pattern_layered", "name": "Layered Architecture", "description": "Traditional N-tier architecture with clear separation: Presentation to Business Logic to Data Access.", "use_cases": ["Enterprise applications", "CRUD apps", "Business systems", "Legacy modernization"], "tags": ["layered", "n-tier", "traditional", "enterprise", "3-tier"], "components": ["Presentation Layer", "Business Logic Layer", "Data Access Layer", "Database"], "pros": ["Well-understood", "Clear separation of concerns", "Easy to test layer by layer", "Good for CRUD operations"], "cons": ["Can lead to anaemic domain models", "Multiple database trips for complex queries", "Not ideal for complex business logic"], "tech_stack": {"frontend": "React / Vue / Angular", "backend": "Spring (Java) / .NET / Django", "database": "PostgreSQL / Oracle / SQL Server"}, "estimated_cost": "$200-1000/month", "estimated_setup_time": "2-3 weeks" }, { "id": "pattern_hexagonal", "name": "Hexagonal Architecture (Ports & Adapters)", "description": "Application with core business logic isolated from external concerns using ports and adapters.", "use_cases": ["Complex domain logic", "Testability requirements", "Multi-channel delivery", "Long-lived applications"], "tags": ["hexagonal", "ports-and-adapters", "clean-architecture", "onion", "domain-driven"], "components": ["Domain Core", "Application Services", "Ports (Interfaces)", "Adapters (UI, DB, External API)"], "pros": ["Highly testable", "Framework-agnostic core", "Flexible delivery mechanisms", "Clear dependency rule"], "cons": ["Initial complexity", "Overhead for simple apps", "Requires experienced team"], "tech_stack": {"domain": "Pure Python/Java/C#", "ports": "Abstract interfaces", "adapters": "REST, GraphQL, SQL, MongoDB, Redis"}, "estimated_cost": "$300-1500/month", "estimated_setup_time": "3-5 weeks" }, { "id": "pattern_microservices", "name": "Microservices Enterprise", "description": "Full microservices architecture with independently deployable services. Each service owns its data.", "use_cases": ["Large enterprise apps", "Multiple teams", "High availability systems", "Frequent deployments"], "tags": ["microservices", "enterprise", "kubernetes", "distributed", "scalable"], "components": ["API Gateway", "Service Mesh", "Message Queue", "Multiple Services", "Monitoring", "Distributed Tracing"], "pros": ["Independent scaling", "Team autonomy", "Technology flexibility", "Fault isolation", "Frequent deployments"], "cons": ["Operational complexity", "Network latency", "Data consistency challenges", "Hard to debug", "Distributed transactions"], "tech_stack": {"orchestration": "Kubernetes / ECS / Docker Swarm", "service_mesh": "Istio / Linkerd / Envoy", "messaging": "Kafka / RabbitMQ / NATS", "monitoring": "Prometheus / Grafana / Jaeger", "database": "PostgreSQL / MongoDB / DynamoDB per service"}, "estimated_cost": "$2000-10000/month", "estimated_setup_time": "2-6 months" } ]