入门指南理解分析模块

理解分析模块

Architecto 分析模块帮助你在部署前,从多个关键维度评估架构。每个模块关注特定方面:成本、可扩展性、安全、性能或合规。

分析概述

可以将分析模块视为由专家组成的评审团队:

  • 财务审计人员 → 成本估算
  • 性能工程师 → 可扩展性分析、性能模拟
  • 安全架构师 → 威胁建模、安全态势
  • 运维负责人 → 漂移检测
  • 合规专员 → 合规检查

共同帮助你确认架构已具备生产准备度。

成本估算

问题: “需要花多少钱?”

成本估算对不同规模下的月度云账单进行建模。

工作原理

  1. 输入架构和目标规模(1 千至 100 万用户)
  2. Architecto 计算计算资源、存储、数据库和数据传输成本
  3. 建模 成本如何随规模变化
  4. 识别 成本拐点,即费用突然上升的位置
  5. 提出 优化策略

理解成本曲线

成本通常呈现一定规律:

                   Cost
                     ^
                     |     /
                     |    /
                     |   /
                     |  /_____ Cost knee
                     | /
                     |/
                     +-----> Users

“成本拐点” 是架构在财务上变得难以持续的位置。例如:

  • 1 万用户:$200/月 ✓ 健康
  • 5 万用户:$500/月 ✓ 仍可接受
  • 10 万用户:$2,000/月 ⚠️ 成本拐点
  • 20 万用户:$5,000/月 ✗ 难以持续

降本策略

成本估算常建议的优化:

策略示例效果
预留实例EC2 承诺使用 1 年节省 20–40%
缓存添加 Redis 缓存热点数据数据库成本降低 30–50%
自动扩缩容夜间缩容计算成本降低 10–20%
数据传输静态资源使用 CDN传输成本降低 20–40%
数据库优化RDS 只读副本、连接池数据库成本降低 15–30%
Spot 实例用于非关键工作负载计算成本降低 70%

可扩展性分析

问题: “能支持多少用户?瓶颈在哪里?”

可扩展性分析使用排队论和压力测试模型,预测架构处理负载的能力。

关键指标

指标定义示例
吞吐量系统每秒可处理的请求数5,000 req/s
延迟平均请求响应时间200ms
瓶颈限制吞吐量的组件RDS 主数据库
扩展上限质量下降前的最大用户数100,000 并发

识别瓶颈

不同组件会在不同规模成为瓶颈:

10k users:   API Server (add more servers)
50k users:   Database (add read replicas, caching)
100k users:  Network bandwidth (add CDN, optimize queries)
1M users:    Distributed systems complexity (redesign for microservices)

可扩展性分析会准确指出哪个组件形成限制。

扩展建议

识别瓶颈后:

  1. 添加只读副本(数据库)

    • 读取发往副本,写入发往主库
    • 读取吞吐量线性扩展
    • 典型情况:3–5 个副本支持 2–5 万用户
  2. 水平扩展(服务器)

    • 在负载均衡器后增加实例
    • 典型情况:每个实例支持 500–2,000 并发用户
  3. 缓存层(Redis/Memcached)

    • 缓存高频访问数据
    • 数据库负载减少 50–80%
    • 典型情况:缓存层可处理 10–100 倍流量
  4. 分片(数据库)

    • 按键划分数据(用户 ID、区域、日期)
    • 每个分片处理一部分数据
    • 支持扩展到数百万用户
  5. 连接池(数据库)

    • 复用数据库连接
    • 减少连接开销
    • 典型情况:吞吐量提升 2–3 倍

威胁建模

问题: “可能出现什么问题?如何防范攻击?”

威胁建模使用 STRIDE 方法识别安全威胁并建议缓解措施。

STRIDE 框架

威胁定义示例
身份伪装攻击者冒充他人伪造用户登录、伪造 API 请求
篡改修改传输中或存储中的数据中间人攻击、数据库损坏
抵赖否认执行过操作否认删除数据或转账
信息泄露读取无权获取的数据API 密钥暴露、客户数据泄漏
拒绝服务阻止合法用户访问服务DDoS、资源耗尽
权限提升获得超出许可的访问权通过 SQL 注入读取所有数据、提权

威胁分析示例

以电商架构为例:

身份伪装威胁:

  • 攻击者冒充其他用户
  • 访问其订单与支付方式
  • 缓解措施: 登录 MFA、OAuth 2.0、会话令牌

篡改威胁:

  • 结算时修改订单金额
  • 将 $100 的订单改为 $1
  • 缓解措施: 加密签名、服务端验证、加密通信

信息泄露:

  • 读取数据库备份
  • 窃取客户信用卡与个人信息
  • 缓解措施: 数据库静态加密(AWS KMS)、备份加密、访问控制

拒绝服务:

  • 用大量请求淹没 API
  • 合法用户收到 HTTP 503 错误
  • 缓解措施: 速率限制、CloudFront DDoS 防护、WAF、自动扩缩容

安全最佳实践

Architecto 建议:

  1. 身份验证 — MFA、OAuth 2.0、通行密钥
  2. 加密 — 传输中使用 TLS 1.3,静态使用 AES-256
  3. 授权 — 最小权限 IAM、基于角色的访问控制
  4. 网络安全 — VPC 隔离、安全组、NACL
  5. 数据保护 — PII 令牌化、日志脱敏
  6. 监控 — CloudTrail 审计日志、CloudWatch 异常监测

架构差异

问题: “版本间发生了什么变化?有何影响?”

架构差异展示两个版本之间的语义变化。

比较内容

  • 新增组件 — 新服务、数据库等
  • 删除组件 — 已弃用服务
  • 修改组件 — 配置变化(实例类型、扩缩容等)
  • 连接变化 — 新增或移除的数据流

差异示例

Version 1:
- Single RDS database (no replicas)
- Single EC2 instance
- No caching layer
- Direct database access from app

Version 2:
+ Added 2 RDS read replicas
+ Added autoscaling group (3-10 instances)
+ Added Redis cache layer
+ Added connection pooling
~ Changed database instance type (t3.medium → r5.large)

影响分析

差异会解释影响:

  • 成本影响: +$500/月,用于新增副本和缓存
  • 可扩展性影响: +400%,可支持原来 5 倍的用户
  • 可用性影响: +99.9%,现已配置多可用区故障转移
  • 复杂度影响: 中,新增缓存和副本需要管理

性能模拟

问题: “负载下的延迟和吞吐量如何?”

(即将推出:包含延迟建模的完整性能模拟)

性能模拟预测各组件在不同负载下的表现。

合规检查

问题: “是否满足合规要求?”

(即将推出:SOC2、HIPAA、PCI DSS、GDPR 验证)

合规检查根据标准验证架构。

漂移检测

问题: “基础设施是否偏离原始设计?”

(即将推出:持续监测配置漂移)

运行完整分析

全面评审

  1. 点击 “分析全部”(即将推出)
  2. Architecto 运行所有适用模块:
    • 成本估算(1 千、1 万、10 万、100 万用户)
    • 可扩展性瓶颈分析
    • 完整 STRIDE 威胁评审
    • 合规检查
    • 性能模拟
  3. 生成完整 架构评审报告:
    • 执行摘要(1–10 分)
    • 各模块的详细发现
    • 需要关注的关键问题
    • 建议的后续步骤
    • 各项建议的成本与收益

追踪分析变化

保存多次分析运行,以追踪:

  • 架构如何改进
  • 成本趋势
  • 扩展准备度提升
  • 安全态势改善

后续步骤


关键要点:
分析模块不仅提供报告,更像你的架构评审委员会。用它们及早发现问题、优化成本,在部署前建立信心。

理解分析模块 | 文档 | Architecto