Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

スケーリング

痛みを伴わない成長

Apstraは、ネットワーク透過的な分散状態のアクセスと管理をサポートし、並列実行は個別のプロセスによってサポートされます。リアルタイムの実行は、実行のリアルタイムスケジューリングとともに、イベント駆動型の非同期実行モデルによってサポートされます。効率と予測可能性は、マシンレベルの効率性を達成するための中間言語としてのC++によるコンパイルによってサポートされます。

スケーリングには 3 つの側面があります。

  • 状態

  • 加工

  • ネットワーク トラフィック

状態のスケーリング

Juniper Apstraデータストアは、サーバーの高可用性(HA)ペアを追加することで、水平方向に拡張できます。Apstraでは、インテントデータストアとテレメトリデータストアは分離されており、必要に応じて個別に拡張できます。

処理のスケーリング

Juniper Apstraは、処理負荷の共有が必要な場合、処理エージェントの複数コピーを(エージェントタイプごとに)起動できます。エージェントをホストするサーバーを追加することで、エージェントを追加でき、エージェントのライフサイクルはApstraによって管理されます。

Apstraの状態ベースのpub/subアーキテクチャにより、エージェントは明確に定義された状態のサブセットに対応(アプリケーションロジックを提供)できます。インテント全体のカバレッジは、状態のさまざまなサブセットの処理を代行する個別のエージェントを通じて行われます。つまり、インテントや運用状態に変更が生じた場合、エージェントの対応は「増分変化」に対するものであり、状態全体のサイズとは無関係であることを意味します。

Apstraは、拡張とそれに伴う複雑さに対処するために従来のアプローチ、つまり分解を採用しています。「誰もがすべてを知っている」アプローチは拡張性がないため、Apstraは目的の状態に関する知識を配布し、各エージェントにその状態に到達する方法を決定させます。これにより、集中的な意思決定が不要になります。このため、Apstraサーバーは「コントローラ」とは見なされません。Apstraはライブグラフクエリをサポートしているため、UIなどのクライアントは、必要なものを正確に要求して取得でき、バックエンドから取得されるデータの量をきめ細かく制御できます。

ネットワークトラフィックのスケーリング

3つ目の側面は、ネットワークトラフィックのスケーリングです。エージェントとデータストア間の通信は、最適化されたバイナリチャネルを使用しているため、テキストベースのプロトコルと比較してトラフィック量が大幅に削減されます。

耐障害性は、Apstraアプリケーションを複数のプロセスとして実行し、ネットワークで接続された個別のハードウェアデバイスで実行し、状態の再現と迅速な復旧のサポートで状態を処理から分離することで達成されます。

Apstraは、400+スイッチの本番導入でテスト済みです。Apstraは、最大1600台の仮想デバイスで構成されるネットワークファブリックの社内テストを完了しています。物理的なファブリックサイズの制限は、ベンダーのフォームファクターとソフトウェアの制限に基づいています。