2023年12月18日
クラウドプラットフォームで注目されるWell-Architected
アプリケーション領域でもおさえておきたい
「Well-Architected Framework」、直訳すると「適切に設計されたフレームワーク」(Google翻訳)。Salesforceのプラットフォームを「適切に設計して」使うためのガイドが提供されています。
そして、2023年9月に開催されたDreamforceのアーキテクトキーノートでは、日本語版のリリースが発表されました。
本記事では、概要と読み方を紹介します。
クラウドプラットフォームで注目されるWell-Architected
「Well-Architected」 のキーワードでWebを検索してみると、クラウドプラットフォームであるAWSの 「Well-Architected」、Azureの 「Well-Architected Framework」 のコンテンツが見つかります。またGoogleでは「Google Cloud アーキテクチャフレームワーク」、と名前こそ異なるものの、同様のものが提供されています。
これらは、安全性、性能、耐障害性、効率性を備えたアーキテクチャを設計するにあたってのベストプラクティスとされています。AWS Well-Architected では、「6つの柱」として、「優れた運用効率、セキュリティ、信頼性、パフォーマンス効率、コストの最適化、持続可能性」を観点に挙げています。クラウドのアーキテクチャ設計は、簡単に始められる一方で、規模が大きくなると難しさも増すのだと考えています。
この「Well-Architected Framework」、Salesforceでも 2022年7月に初版(https://medium.com/salesforce-architects/building-salesforce-well-architected-e275f61fa911)がリリース されました。Salesforceの場合は、インフラ(システム基盤)はSalesforceが提供します。ユーザーが利用できるのはアプリケーションの領域です。この点はインフラ(システム基盤)から自由に構築できるAWS、Azure とは違っています。アプリケーションやソリューションの領域でも「Well-Archtected」な考え方は求められるのでしょうか。
SalesforceのWell-Architected
SalesforceのWell-Architected は 「Salesforce Archietcts」 のサイト(https://architect.salesforce.com/well-architected/)で公開されています。さっそく見てみましょう。
Well-Architectedは、概要(Overview)と、次の3つのカテゴリで構成されています。
信頼される(Trusted)
簡単(Easy)
適応力のある(Adaptable)
これらは、認定テクニカルアーキテクトのスキル分野(※)の分類とも観点が違っています。アーキテクトのスキル分野は機能・非機能の網羅性を重視しているのに対し、Well-Architectedは、健全なソリューションを構築するために必要な、本質的な「考え方」を示しているのだと思います。
Salesforce プラットフォームでは多くの選択肢が提供され、それぞれが関連します。短期的・局所的に最適と思われる設定よりも、長期的・システム全体を俯瞰して妥当な方式を選択すべきです。そのためには、Well-Architectedを知っていることは役立つでしょう。
※認定テクニカルアーキテクトのスキル分野
システムアーキテクチャ、セキュリティ、データ、ソリューションアーキテクチャ、連携、開発ライフサイクルとリリース計画、コミュニケーション
Well-Architected のコンテンツ
Well-Architectedでは、考慮すべき事項、構築すべきパターン、または回避すべきアンチパターンが示されます。
例えば、「信頼される(Trusted)」のカテゴリのなかに、「安全(Secure)」、「コンプライアンス(Compliant)」、「信頼性(Reliable)」の3つの考慮事項があります。
「安全(Secure)」の考慮事項のなかには、「組織のセキュリティ」、「セッションセキュリティ」、「データセキュリティ」の3つの観点があります。
さらに「組織のセキュリティ」には、「認証」、「認可」 の2項が記載されています。
これらの一覧を記載します。カテゴリごとにどのような項目が記載されているか見ていただけると思います。
(2023年11月時点)
カテゴリ 考慮事項 観点・項目
- 認証
- 認可
- セッションの管理
- デバイスへのアクセス
- 脅威検知と対応
- 共有と可視性
- 暗号化
- データプライバシー
- ローカライズ
- 会社規定
- 人工知能
- データエントリー
- ナビゲーション
- リスク管理
- 失敗の回避
- スループット
- レイテンシー
- データモデル
- データ量
- 優先順位付け
- ロードマップ
- ガバナンス
- 標準とカスタムの比較
- 技術的負債
- 設計基準
- 文書化
- プロセス設計
- オペレーショナルロジック
- KPIs
- データ処理
- エラー処理
- ナビゲーション
- フォーム
- フォームファクタ
- 通知とメッセージ
- アプリケーション内ガイダンス
- 認識と報奨
- リリース管理
- 環境戦略
- テスト戦略
- 復旧の優先順位
- 効果的なトリアージ
- モニタリングとアラート
- 事業継続性
- 技術継続性
- ビジネス能力の重視
- 現状の管理
- メッセージングとイベント
- API管理
- 疎結合
- 依存関係の管理