Chapter 2 / Application Design

アプリケーション
方式設計

アプリは、作る技術だけでなく、性能、落ちにくさ、エラー時の動き、安全性、API、CI/CDまで含めて設計します。

8 Guidelines

この章で扱う8項目

動き続けるアプリに必要な設計観点を、開発からリリースまでまとめます。

1言語/FW運用できる技術を選びます。
2性能計測して改善します。
3可用性/冗長性落ちにくく戻りやすくします。
4エラーリトライやタイムアウトを決めます。
5アプリセキュリティ入力、認証、秘密情報を守ります。
6DevOpsCI/CDで安全に届けます。
7API管理入口、認証、制限を整えます。
8フェールソフト失敗時も影響を小さくします。
アプリケーション方式設計の図解
作る・速い・落ちにくい、をAzureサービスで組み立てます。
Build / Performance / DevOps

作る技術と運用できる技術をそろえる

言語やフレームワークは、流行だけでなく保守し続けられるかで選びます。性能は推測ではなく計測し、CI/CDで安全に届けます。

言語とフレームワークを選ぶ。性能を測って改善する。CI/CDでテストとデプロイを自動化する。
Security / API / Fail Soft

安全につなぎ、失敗時も止めない

アプリセキュリティ、API管理、フェールソフトは、後付けではなく設計に含めます。入口を整理し、想定外の失敗でも利用者への影響を小さくします。

認証、認可、入力検証、秘密情報管理を決める。APIの認証、バージョン、利用制限を決める。一部障害時の代替動作や案内を決める。
アプリセキュリティ、API管理、フェールソフトの図解
APIは入口、フェールソフトは失敗時の逃げ道です。

作る・測る

  • 言語とフレームワークを選んだ。
  • 性能目標と測定方法を決めた。
  • 可用性と冗長化の方針を決めた。

守る・つなぐ

  • アプリセキュリティの観点を整理した。
  • API管理のルールを決めた。
  • 認証と利用制限を決めた。

届ける・戻す

  • エラー処理を決めた。
  • CI/CDを用意した。
  • フェールソフトの動作を決めた。