Spring Cloud Services for PCF

Pivotal Cloud Foundryでマイクロサービスの構築、運用、スケール、セキュリティを実現

Spring Cloud Services(SCS)は、Spring Boot、Spring Cloud、およびNetflixOSSを基礎として構築されており、Pivotal Cloud Foundry上で動作するマイクロサービスに対する重要な運用パターンを単純化します。SCSは、Spring Cloud NetflixやSpring Cloud Configを含む一般的なSpring Cloudプロジェクトのサーバー上のコンポーネントをパッケージ化し、Pivotal Services Marketplace内のサービスとして利用可能です。

動的アプリケーション構成による簡素化

動的な構成により、アプリケーション構成の更新を行う際に、アプリケーションを再びデプロイする必要がなくなります。PCFのConfig Serverは、すべての環境でアプリケーションの外部プロパティを管理するための動的な中央構成サービスを提供します。

動的な分散サービスディスカバリ

動的サービスディスカバリは、あらゆるマイクロサービスベースのアーキテクチャにとって重要な基礎となります。PCFのサービスレジストリは、NetflixOSS Eurekaサービスディスカバリパターンの実装をサービスとして提供しています。

サーキットブレーカーダッシュボードによる運用の可視性

分散システムでは、正常性、非カスケード障害、補償動作が極めて重要です。NetflixOSS Hystrixをベースにしたサーキットブレーカーダッシュボードは、マイクロサービスまたはアプリケーション内のサーキットブレーカーからTurbineの健全性およびメトリックデータストリームを可視化します。

ビデオを見る
Cloud-Native Java with Spring Cloud Services
Springの概要

Spring Cloud Services for PCFは、マイクロサービスの実行プロセスを簡素化します。BOSHとCloud Foundryのインフラストラクチャ自動化を使用して、マイクロサービスに対して迅速なデプロイ、スケール、運用、セキュリティの確保を提供します。Spring Cloud Servicesには次の機能が含まれています。HA構成サーバー(ステートレス)、HAサービスレジストリ(レプリケーション)、信頼性の高い安全なRabbitMQデータ転送を含むサーキットブレーカー、ブルー/グリーンデプロイメントのサポート、ゼロダウンタイムアップグレード、Cloud Foundryのアイデンティティ管理サービス(UAA)との統合、コンテナネットワーキング

Springの詳細




統合機能

Pivotal Cloud Foundry上のサービスを完全に自動管理するためのオプション。ゼロまたは最小限のダウンタイムで、監視、障害回復、ソフトウェアのアップデートを実行。

必要に応じてオンデマンドでサービスインスタンスを作成、破棄するオプション。

アプリケーションのバインドに際しダウンタイムを最小化するための内部サービスの失敗に対する高可用性サポート

マルチアベイラビリティゾーンのサポート。クラウドのデプロイでのマルチアベイラビリティゾーンを活用して、フェールオーバーをサポートします。

製品およびPivotal Cloud Foundryに対する標準的な監視・ログツールにより、サービス運用の詳細に至るまで可視化します。検出された障害に関するアラートを受信して問題を迅速に解決します。

サービスの設定と操作の手順が文書化されています。


仕組み

Config Server for PCF は、外部に向けたアプリケーション構成サービスです。環境全体にわたるアプリケーションの外部プロパティを管理するための中心的な場所です。このサービスは、Java PropertiesファイルまたはYAMLファイルとして格納された構成を提供します。(構成のソースは通常、Gitリポジトリにファイルとして保存されます)。構成ソースのURIを指定すると、サーバーはリポジトリをクローンします。この構成は一連のプロパティソースとしてJSONのクライアントアプリケーションで使用できるようになります。

  • Gitを使って構成コンテンツを管理することで、アプリケーションの構成を管理し監査可能になります。
  • アプリケーションがデプロイメントパイプライン(開発、テスト、本番)を進むに連れて、サービスがその構成を管理します。
  • 開発者はConfig Serverを使用して、アプリケーションがこのプロセス中に実行する必要があるすべての要素を確保します。
  • Config Serverは、環境固有の構成のラベル付きバージョンをサポートします。
  • HTTPS暗号化は、ソースGitからConfig Serverインスタンスへの接続を安全に保護します。






Service Registry for PCFは、NetflixOSS Eurekaに基づくサービスディスカバリパターンの実装を可能にします。これは、マイクロサービスベースのアーキテクチャにおける重要な機能の1つです。なぜでしょう?各クライアントまたはサービスの手動による構成は困難であり、多くの場合、本稼働環境では脆弱です。それに対し、サービスレジストリを使用すると、登録済みのサービスを動的に検出して呼び出すことができるからです。

  • まず、クライアントがサービスレジストリに登録します。また、クライアントはホストやポートなど自身に関するメタデータも提供します。
  • 一旦登録されると、レジストリは各サービスインスタンスからの定期的なハートビートメッセージを待ちます。
  • ハートビートメッセージが一貫して受信されない場合、サービスレジストリはレジストリからそのインスタンスを削除します。
  • HTTPS暗号化は、すべてのクライアントからサービスへの通信を安全に保護します。
  • レジストリの複製はサービスの可用性を高めます。また、Cloud Foundryの権限モデルもサポートしています。開発者は許可されたサービスしか見ることができません。




NetflixOSS Hystrixライブラリ(Spring Cloud Netflixの一部)は、サーキットブレーカーパターンの実装を可能にします。PCFのサーキットブレーカーダッシュボードは、アプリケーション内のサーキットブレーカーのメトリックを可視化します。マイクロサービスアーキテクチャは、多くの場合、分散サービスの多くの層で構成されています。エンドユーザーの要求は、これらのサービスへの複数のコールを含むことがあります。下位レベルのサービスに障害が発生した場合、その障害はエンドユーザーまでカスケードされ、他の従属サービスにも広がる可能性があります。障害が発生したサービスへの大量トラフィックもまた、修復を困難にする要因です。Hystrixサーキットブレーカーは、障害がカスケードするのを防止します。障害が起きたサービスが正常に復元されるまでのフォールバック動作を提供することができます。

  • サービスに適用すると、サーキットブレーカーはサービスへの失敗コールを監視します。障害が特定のしきい値に達すると、サーキットを「開きます」。
  • サーキットブレーカーは、コールを指定されたフォールバックメカニズムに自動的にリダイレクトします。これにより、障害を起こしたサービスの復旧時間が確保されます。
  • サーキットブレーカーダッシュボードは、コンテナ化されたWebアプリケーションとして実行され、クラウドネイティブサービスのフリートに存在するすべてのサーキットブレーカーの動作を可視化します。
  • プラットフォーム上で、Spring Cloud StreamおよびRabbitMQインフラストラクチャは、NetflixOSS
  • Turbineメトリックデータのストリームに対して、信頼性の高い暗号化されたトランスポートを自動的に提供します。






ドキュメントを読む

お問い合わせ
ご関心をお寄せいただきありがとうございます!

私たちはすぐにご連絡いたします。