


では、まずクラウドネイティブ・アーキテクチャについて話す際に何を意味するのかを、もう少し詳しく見ていきましょう。通常、これは次の2つのテーマを中心に構成されます。
しかし、この議論で非常に見落とされがちな要素が1つあります。それがアプリケーションのランタイム環境です。これには、コンテナランタイム、データストア、メッセージング、およびアプリケーション統合インフラが含まれます。このレイヤーにはかなりの複雑さがあり、その維持に必要な労力はしばしば過小評価されます。高可用性、スケーラビリティ、セキュリティ、データ保護、バックアップと災害復旧、さらにコンポーネントの継続的なパッチ適用とアップグレードに対応しなければなりません。このような環境を大規模に運用するには、高度なスキルセットと豊富な経験が必要です。さらに、ランタイム環境におけるイノベーションのスピードは加速しているため、これに対応するにはチームの高い俊敏性が求められます。
プライベートクラウドは、ネットワーク、コンピューティング、ストレージのインフラを効率的に提供できる可能性がありますが、最新のアプリケーションランタイム環境やデータストアを効率よく大規模に提供するためにプライベートクラウドを活用しようとすると、ほとんどの企業は失敗するでしょう。
パブリッククラウドは、あらゆる種類のアプリケーションランタイム環境、データストア、ミドルウェア機能向けのマネージドサービスを通じて、この課題に対する解決策を提供します。たとえば、Amazon Elastic Container Service for Kubernetes はクラウド上でフルマネージドの Kubernetes クラスターを提供し、Amazon RDS はフルマネージドのリレーショナルデータベースであり、Amazon Simple Queuing Service は完全にサーバーレスなメッセージング環境を提供します。このような構成では、パブリッククラウドプロバイダーが、アプリケーション運用に伴う非機能面の複雑さの大部分を肩代わりしてくれます。つまり、もはやアプリケーションのランタイム環境を自ら運用するのではなく、パブリッククラウド上のサービスとして利用することになります。
新しいテクノロジーが生み出されるイノベーションのスピードという観点では、プライベートクラウドは主要なパブリッククラウドプロバイダーのペースに追随できません。パブリッククラウドを活用することで、顧客にとって本当に価値のあること、すなわちユーザー体験や機能・特長に注力できるようになり、バックエンドシステムの管理ではなく、イノベーションにより多くの時間とリソースを振り向けられます。
パブリッククラウドの利点を確認したところで、次はアプリケーションが真にクラウドネイティブであるとはどういうことかを詳しく見ていきましょう。
真にクラウドネイティブなアプリケーションとは、パブリッククラウド上のマネージドサービスで動作するように構築されたものです。シンプルなコンピュートサービスや VM を必要とせず、クラウドサービスのみに基づいています。
以下の図は、SaaS として提供される事前統合済みのフルスイート BSS である BSS Plus のソリューションアーキテクチャを示しています。クラウドネイティブなコンテナ化マイクロサービスとオープン API アーキテクチャにより、すべての受信トラフィックは API Gateway を経由してルーティングされ、マネージド Kubernetes サービスがコンテナとして提供されるアプリケーションをオーケストレーションします。データはマネージドなリレーショナルデータベースサービスおよび Elasticsearch サービスに保存され、キューイングサービスが非同期プロセス向けのメッセージング基盤を提供します。複数のアベイラビリティゾーンにまたがるデプロイメントにより、アプリケーションが高可用性要件を満たすことが保証されます。

この将来にわたって通用するクラウドネイティブなアーキテクチャにより、お客様はパブリッククラウドの堅牢性とセキュリティに加え、スケーラビリティと伸縮性の恩恵を受けることができます。これにより、当社はソリューションをはるかに効率的に運用し、お客様により優れた価格でサービスを提供できます。最終的には、CSPがコストを削減し、自動化を強化し、市場投入までのスピードを加速させるとともに、重い運用・保守負荷を削減するのに役立ちます。さらに、SaaSとして、ビジネスの成長に合わせて拡張します。
