入门指南理解分析模块
理解分析模块
Architecto 分析模块帮助你在部署前,从多个关键维度评估架构。每个模块关注特定方面:成本、可扩展性、安全、性能或合规。
分析概述
可以将分析模块视为由专家组成的评审团队:
- 财务审计人员 → 成本估算
- 性能工程师 → 可扩展性分析、性能模拟
- 安全架构师 → 威胁建模、安全态势
- 运维负责人 → 漂移检测
- 合规专员 → 合规检查
共同帮助你确认架构已具备生产准备度。
成本估算
问题: “需要花多少钱?”
成本估算对不同规模下的月度云账单进行建模。
工作原理
- 输入架构和目标规模(1 千至 100 万用户)
- Architecto 计算计算资源、存储、数据库和数据传输成本
- 建模 成本如何随规模变化
- 识别 成本拐点,即费用突然上升的位置
- 提出 优化策略
理解成本曲线
成本通常呈现一定规律:
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)可扩展性分析会准确指出哪个组件形成限制。
扩展建议
识别瓶颈后:
-
添加只读副本(数据库)
- 读取发往副本,写入发往主库
- 读取吞吐量线性扩展
- 典型情况:3–5 个副本支持 2–5 万用户
-
水平扩展(服务器)
- 在负载均衡器后增加实例
- 典型情况:每个实例支持 500–2,000 并发用户
-
缓存层(Redis/Memcached)
- 缓存高频访问数据
- 数据库负载减少 50–80%
- 典型情况:缓存层可处理 10–100 倍流量
-
分片(数据库)
- 按键划分数据(用户 ID、区域、日期)
- 每个分片处理一部分数据
- 支持扩展到数百万用户
-
连接池(数据库)
- 复用数据库连接
- 减少连接开销
- 典型情况:吞吐量提升 2–3 倍
威胁建模
问题: “可能出现什么问题?如何防范攻击?”
威胁建模使用 STRIDE 方法识别安全威胁并建议缓解措施。
STRIDE 框架
| 威胁 | 定义 | 示例 |
|---|---|---|
| 身份伪装 | 攻击者冒充他人 | 伪造用户登录、伪造 API 请求 |
| 篡改 | 修改传输中或存储中的数据 | 中间人攻击、数据库损坏 |
| 抵赖 | 否认执行过操作 | 否认删除数据或转账 |
| 信息泄露 | 读取无权获取的数据 | API 密钥暴露、客户数据泄漏 |
| 拒绝服务 | 阻止合法用户访问服务 | DDoS、资源耗尽 |
| 权限提升 | 获得超出许可的访问权 | 通过 SQL 注入读取所有数据、提权 |
威胁分析示例
以电商架构为例:
身份伪装威胁:
- 攻击者冒充其他用户
- 访问其订单与支付方式
- 缓解措施: 登录 MFA、OAuth 2.0、会话令牌
篡改威胁:
- 结算时修改订单金额
- 将 $100 的订单改为 $1
- 缓解措施: 加密签名、服务端验证、加密通信
信息泄露:
- 读取数据库备份
- 窃取客户信用卡与个人信息
- 缓解措施: 数据库静态加密(AWS KMS)、备份加密、访问控制
拒绝服务:
- 用大量请求淹没 API
- 合法用户收到 HTTP 503 错误
- 缓解措施: 速率限制、CloudFront DDoS 防护、WAF、自动扩缩容
安全最佳实践
Architecto 建议:
- 身份验证 — MFA、OAuth 2.0、通行密钥
- 加密 — 传输中使用 TLS 1.3,静态使用 AES-256
- 授权 — 最小权限 IAM、基于角色的访问控制
- 网络安全 — VPC 隔离、安全组、NACL
- 数据保护 — PII 令牌化、日志脱敏
- 监控 — 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 验证)
合规检查根据标准验证架构。
漂移检测
问题: “基础设施是否偏离原始设计?”
(即将推出:持续监测配置漂移)
运行完整分析
全面评审
- 点击 “分析全部”(即将推出)
- Architecto 运行所有适用模块:
- 成本估算(1 千、1 万、10 万、100 万用户)
- 可扩展性瓶颈分析
- 完整 STRIDE 威胁评审
- 合规检查
- 性能模拟
- 生成完整 架构评审报告:
- 执行摘要(1–10 分)
- 各模块的详细发现
- 需要关注的关键问题
- 建议的后续步骤
- 各项建议的成本与收益
追踪分析变化
保存多次分析运行,以追踪:
- 架构如何改进
- 成本趋势
- 扩展准备度提升
- 安全态势改善
后续步骤
关键要点:
分析模块不仅提供报告,更像你的架构评审委员会。用它们及早发现问题、优化成本,在部署前建立信心。