Chapter 2 / Application Design

应用程序
方式设计

应用设计不仅包含构建技术,还涵盖性能、抗故障、出错时的行为、安全、API 与 CI/CD。

8 Guidelines

本章涵盖的8个项目

汇总持续运行的应用所需的设计视角,从开发到发布。

1语言/框架选择可运维的技术。
2性能测量并改进。
3可用性/冗余使其不易宕机且易于恢复。
4错误确定重试与超时。
5应用安全保护输入、认证与机密信息。
6DevOps通过 CI/CD 安全交付。
7API 管理整理入口、认证与限制。
8故障弱化即便失败也将影响降到最小。
应用程序方式设计图解
用 Azure 服务搭建“能做、快速、不易宕机”。
Build / Performance / DevOps

统一构建技术与可运维技术

语言与框架不应只看流行,更要看能否持续维护。性能要测量而非猜测,并通过 CI/CD 安全交付。

选择语言与框架。测量并改进性能。通过 CI/CD 自动化测试与部署。
Security / API / Fail Soft

安全连接,失败时也不停机

应用安全、API 管理与故障弱化应纳入设计而非事后补加。整理入口,即使意外失败也将对用户的影响降到最小。

确定认证、授权、输入校验与机密管理。确定 API 的认证、版本与使用限制。确定部分故障时的替代行为与提示。
应用安全、API 管理与故障弱化图解
API 是入口,故障弱化是失败时的退路。

构建·测量

  • 已选择语言与框架。
  • 已确定性能目标与测量方法。
  • 已确定可用性与冗余方针。

守护·连接

  • 已梳理应用安全视角。
  • 已确定 API 管理规则。
  • 已确定认证与使用限制。

交付·回退

  • 已确定错误处理。
  • 已准备 CI/CD。
  • 已确定故障弱化行为。