優れたアーキテクチャの重要な柱

完了

クラウドは、組織のビジネス アプリケーションの設計および実装方法に変革をもたらしました。 その結果、1 つまたは複数の SaaS サービスを組み合わせてソリューション アーキテクチャを設計し、連動する完全なソリューションを形成できるようになりました。 顧客の業務上の問題を解決する際、ソリューション アーキテクトは、次のサービスを容易に使用して全体的なソリューションを構築できる必要があります。

  • Dynamics 365

  • Microsoft 365

  • AppSource

  • Microsoft Power Platform による拡張

  • Microsoft Azure (不足を補うために使用)

優れたビジネス アプリケーション ソリューションの設計

優れたビジネス アプリケーション ソリューション アーキテクチャがどのようなものかを説明する単一の設計図はありませんが、顧客固有のどのような課題を解決しようとしているときも、特定の概念を重視することになります。 次のセクションは、その完全なリストを網羅しているわけではありませんが、これらの概念に焦点を当てると、全体的により優れたソリューションを構築することができます。

セキュリティ

データは組織にとって最も貴重な資産の 1 つであるため、データの適切な使用とデータへの適切なアクセスを確保することは極めて重要です。 セキュリティの柱では、認証を通じてアーキテクチャへのアクセスを保護することと、ネットワークの脆弱性からアプリケーションとデータを保護することに焦点を当てます。 このプロセスでは、適切なチームと連携して Azure の条件付きアクセスやデータ損失防止ポリシーなどの機能を確実に有効にします。 また、シークレット、証明書、およびその他のテクニックのソリューションの適切な使用を徹底して、データやサービスが悪人の手に渡るのを確実に防止します。

セキュリティは、設計、実装から展開、運用に至るまで、アプリケーションのライフサイクル全体を通じて考慮する必要があります。

顧客は組織に個人データを委ねるため、組織は適切なユーザーのみがデータにアクセスすることを保証しなければなりません。 認証による境界部の制御に加え、ユーザーに使用が許可されているデータのみへアクセスを強制するセキュリティ モデルを実装する必要があります。 導入するセキュリティ構成要素が原因で、アーキテクトに過度の負担がかかり、スタッフの業務が妨げられて、システムを保守できなくなることがないようにしてください。

エンド ユーザーの支援

Microsoft Power Platform を中心とするソリューション アーキテクチャで重要なのは、生産性の向上に必要な拡張機能の革新と構築を行い、組織全体を強化する方法を検討することです。 ソリューション アーキテクチャを固定して、高度なユーザーが独自のツールを構築できないようにする方法を考えるのではなく、ツールの構築を奨励し、そのツールに起因する問題の発生を防止する保護策をアーキテクチャの一部として確立する方法を考えます。 多くの場合、このアプローチではユーザーに焦点を当てたコネクタや、ユーザーが簡単に使用して独自のツールを構築できる再利用可能な Power Apps コンポーネントを提供し、日常の生産性向上を支援することができます。 Microsoft が提供するスタート キットを使用すると、テンプレートやスターター アプリを提供し、センター オブ エクセレンスの確立も支援できるので、ユーザー支援の促進に大きな効果をもたらすことができます。

信頼とプライバシー

コンプライアンス要件は、業界や場所に応じて大きく異なる場合があります。 優れたソリューション アーキテクチャは、さまざまな業界や場所に、それぞれの要件を満たすソリューションを提供することができます。 Microsoft は、顧客が要件に準拠するソリューションを実装するのに役立つツールや機能を提供しますが、ソリューション アーキテクトは、確立するアーキテクチャに必要な機能が実装されていることを確認する必要があります。 この検証では、組織がプライバシー規制要求に対処できることも確認します。 Microsoft は、ソリューション アーキテクトに役立つ情報を セキュリティ センター で公開しています。 セキュリティ センターでは、ソリューション アーキテクトは使用している各 Microsoft 製品の認定や機能に関する情報を探すことができます。

ソリューション全体の保守性

ソリューション アーキテクトは、保守がより困難でより高額なコストがかかるカスタム コードよりも、プラットフォームとアプリケーションのカスタマイズ機能を優先的に使用して課題を解決することに専念する必要があります。 Microsoft Power Platform は定期的に更新されるため、更新によってソリューションが中断されないように、アーキテクトはサポートされるカスタマイズのみを使用していることを確認する必要があります。 またソリューション アーキテクトは、将来保守を容易に完了できるように、アーキテクチャおよび技術の実装について文書化し、コメントを追加する必要があります。 ソリューション アーキテクトは、将来クリーンアップが必要となる技術的負債を最小限に抑えるように努める必要があります。

可用性と回復性

アーキテクトが一番恐れているのは、ソリューションに障害が発生し、回復する手段がない事態が起きることです。 成功を収めているクラウド環境は、すべてのレベルで障害が発生することを予測して設計されています。 この障害予測の一環として、関係者と顧客に要求される時間内で障害から回復できるシステムを設計します。 ソリューション アーキテクトは、ソリューションに含まれる各アプリケーションとその回復機能に精通している必要があります。 システムの境界を越えて統合する場合は、1 つのコンポーネントによってソリューション全体に不必要な障害が発生することがないように特別な注意を払う必要があります。 ソリューション アーキテクトは、監視ソリューションを推奨し、問題を測定して対応するためのプロアクティブなツールを用意する必要があります。

パフォーマンスとスケーラビリティ

アーキテクチャの優れたパフォーマンスとスケーラビリティを確保するには、リソースのキャパシティを要求に適切に一致させる必要があります。 従来、クラウド アーキテクチャでは、この一致を図るために、アプリケーションの動作に基づいてアプリケーションを動的に拡張しています。 ソリューション アーキテクトは、運用チームがソリューション アーキテクチャを構成するコンポーネントに必要なキャパシティを特定できるように支援しなければなりません。 アーキテクトには、システムの重要機能に対するユーザーの応答時間要件に対応できるコンポーネントを使用する責任があります。

プロビジョニングされたキャパシティ、需要、効率的な使用、および効率的でない使用に対するパフォーマンスとスケーラビリティの図。

効率性と運用

運用と開発の費用対効果が高いクラウド環境を設計する必要があります。 非効率または無駄なクラウド支出を特定して、最も有効に活用できる場所に資金を費やす必要があります。 発生前、あるいは少なくとも顧客が気づく前に、障害や問題を検出できる優れた監視アーキテクチャが必要です。 1 つまたは複数の個別のサービスに生データが存在する場合、このプロセスはソリューション アーキテクトにとって困難になる場合があります。 アプリケーションが使用可能なリソースをどのように使用しているかを視覚的に把握するには、堅牢な監視フレームワークが必要です。

品質、速度、効率、およびコストを含む効率および作業の図。

共同責任

クラウドに移行すると、共同責任モデルが導入されます。 このモデルでは、クラウド プロバイダーがアプリケーションの特定の側面を管理し、組織側はそれ以外の責任を負います。 社内設置型環境では、組織がすべての責任を負います。 アーキテクチャの決定は、組織のアプリケーションのコスト、運用機能、セキュリティ、技術的機能に影響を与える可能性があるため、この共同責任はアーキテクチャの決定にも適用されます。 これらの責任をプロバイダーに移すことによって、組織はビジネスに価値をもたらすことに専念し、コア ビジネス機能以外の活動から脱却することができます。

設計の選択肢

理想的なアーキテクチャ内では、安全性、パフォーマンス、可用性、効率性に最も優れた環境を構築することができます。 ただし、あらゆる状況と同様に、トレードオフがあります。 ここで説明したすべての重要な柱について、最高のレベルを確保した環境を構築するには、コストがかかります。 このコストには、実際の金銭、納品時間、または業務の迅速さが含まれることがあります。 各組織にはさまざまな優先事項があります。こうした優先事項は、それぞれの重要な柱の設計の選択肢に影響を及ぼします。 アーキテクチャを設計する際には、許容できるトレードオフと譲れないトレードオフを見極める必要があります。

ビジネス アプリケーション ソリューション アーキテクチャの構築にあたっては、多くの考慮事項を念頭に置かなければなりません。 安全性、スケーラビリティ、可用性、回復性に優れたアーキテクチャが必要です。 この目標を達成するためには、コスト、組織の優先順位、リスクに基づいて決定を下すことが大切です。