モダンアプリケーション開発とは?AWS

IT情報

モダンアプリケーションの機能
モダンアプリケーションは、次のような特徴を備えていることが必要です。

• セキュリティ – どのようなアプリケーションでも、セキュリテイは非常に重要です。アプリケーションの特定の部分のみでなく、すべての階層とライフサイクルの各段階に、セキュリティ対策を実装することが必要です。

• 弾力性 – モダンアプリケーションは弾力性を備えています。例えば、アプリケーションでは外部データソースの呼び出し時に障害が発生したとしても、そこで応答が停止することなく、呼び出しを再試行するか、例外処理を実行することが必要です。それと同時に、動作を継続させつつ、機能をグレースフルに低下させていきます。このパターンは、マイクロサービスアーキテクチャ2、および他のサービスとのやり取りにも適用されます。

• 伸縮性 – モダンアプリケーションでは、リクエストの速度やその他のメトリクスに応じて、柔軟にスケールアウト/スケールインすることで、ビジネスチャンスを逃すことなくコストを最適化することができます。スケールアウトとスケールインのプロセスの自動化や、自動スケーリング機能を提供するマネージドサービスの使用により、日常的な管理業務の負担を軽減し、機能停止による深刻な中断を防止できます。

• モジュール化 – モダンアプリケーションはモジュール化されており、高い凝集度と低い結合度が実現されています。大規模なシステムは単一のモノリスにしてしまうのではなく、ドメインの境界に従って、それぞれが特定の役割を果たす個別のコンポーネントへと分解します。このように分離することで、可用性とスケーラビリティが高まります。さらに、さまざまなコンポーネントを個別にデプロイできるようになるため、リリースも頻繁に実行できます。

• 自動化 – モダンアプリケーションでは、インテグレーションとデプロイを自動化し、高品質のリリースを頻繁に実施することが必要です。手動プロセスはエラーが発生しやすいだけではありません。特定の個人に依存してしまう可能性もあります。デプロイを行えるのは管理者 1 人だけ、といった状況が起こり得ます。アジャイルな開発と頻繁なリリースをサポートするため、モダンアプリケーションのデプロイは継続的インテグレーションと継続的デリバリー(CI/CD) のパイプラインによって実施することが必要です。CI/CD モデルの場合、コードがバージョン管理にプッシュされ、クリーンな CI 環境でテストが実行されます。そしてすべてのテストに合格すると、自動的にデプロイが実行されます。

• 相互運用性 – モダンアプリケーションでは、それぞれのサービスが別のサービスとやり取りし、リクエストされたリソースを提供し、要求されたタスクを実行します。また、他のサービスに影響を与えることなく、さまざまなサービスに個別に機能を追加し、頻繁なリリースを継続的に実施できることが求められます。つまり、各サービスの詳細な実装はプライベートに保ち、必要な機能は堅牢なパブリック API を通じて公開する必要があります。また、それらのパブリックAPI は、独立してリリースできるよう、安定した、下位互換性を持つものであることが求められます。

モダンアプリケーションの実装には、さまざまな手法を活用できます。このホワイトペーパーでは、コンテナとサーバーレステクノロジーを使用してアプリケーションをクラウドにデプロイする方法についての情報をご提供します。

AWS モダンアプリケーション開発

コメント

タイトルとURLをコピーしました