Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

소프트웨어 아키텍처 개요

주니퍼 Apstra의 시스템 아키텍처에는 다음 두 가지 주요 구성 요소가 있습니다.

  • Apstra 서버

  • Apstra 디바이스 에이전트

Apstra에서 관리하는 모든 디바이스에는 Apstra 에이전트가 설치되어 있어야 합니다. Apstra 서버와 모든 Apstra 에이전트는 분산 운영 체제로 작동합니다.

TCP 연결은 노드 간의 유일한 요구 사항입니다.

Apstra는 "인텐트"라고 하는 높은 수준의 비즈니스 요구 사항을 변환하여 완벽하게 운영되는 데이터센터 네트워크 환경으로 변환합니다.

주니퍼 Apstra 아키텍처는 분산 상태 관리 인프라를 기반으로 합니다. 이 인프라는 수평으로 확장 가능하고 장애 허용 능력을 갖춘 인메모리 데이터스토어를 갖춘 데이터 중심 통신 패브릭으로 설명할 수 있습니다. 특정 레퍼런스 설계 애플리케이션의 모든 기능은 상태 비저장 에이전트 세트를 통해 구현됩니다. 에이전트는 논리적 게시-구독 기반 통신 채널을 통해 서로 통신하고 기본적으로 애플리케이션의 논리를 구현합니다.

모든 Apstra 레퍼런스 설계 애플리케이션은 위에서 설명한 상태 비저장 에이전트의 모음입니다. Apstra에는 대체로 다음 세 가지 종류의 에이전트가 있습니다.

  1. 인터랙션(웹) 에이전트는 사용자와 상호 작용하는 작업, 즉 사용자 입력을 받고 데이터 저장소에서 관련 컨텍스트를 사용자에게 제공하는 작업을 담당합니다.
  2. 애플리케이션 에이전트는 입력 엔터티를 구독하고 출력 엔터티를 생성하여 애플리케이션 도메인별 데이터 변환을 수행합니다.
  3. 디바이스 에이전트는 스위치, 서버, 방화벽, 로드 밸런서 또는 컨트롤러와 같은 관리되는 물리적 또는 가상 시스템에 상주하거나 이 시스템의 프록시이며, 네이티브(디바이스별) 인터페이스(종종 벤더의 API)를 사용하여 구성을 작성하고 텔레메트리를 수집하는 데 사용됩니다.

Apstra architecture diagram showing components: Apstra, Web Agent, App Agents, Data Store, Proxy Agents, Device Agent Server, Device Agents, and 3rd Party System. Highlights PUB/SUB model and APIs for communication.

이 상호 작용은 Apstra 데이터센터 네트워킹 레퍼런스 설계 애플리케이션의 일부를 설명하는 예로 나타낼 수 있습니다.


System architecture diagram showing a Distributed Data Store with layers: Design, Expectations, Status, and Anomalies. Components interacting with it include Web Agent, Expectations Rendering, Anomaly Detection, and Device Telemetry. Arrows indicate data flow.

웹 에이전트는 사용자 입력을 받습니다. 이 경우 스파인, 리프 및 이들 간의 링크 수를 포함하는 L3 Clos 패브릭과 패브릭 IP 및 ASN 번호에 사용할 리소스 풀에 대한 설계가 포함됩니다. 웹 에이전트는 이 인텐트를 그래프 노드 및 관계와 해당 속성 집합으로 데이터 저장소에 게시합니다.

빌드 에이전트는 이 인텐트를 구독하고 다음 작업을 수행합니다.

  • 정확성 및 완전성 검증 수행
  • 리소스 풀에서 리소스를 할당합니다.

검증에 통과했다고 가정하면 빌드 에이전트는 리소스 할당과 함께 해당 인텐트를 데이터 저장소에 게시합니다.

구성 렌더링 에이전트는 빌드 에이전트의 출력을 구독합니다. 각 노드에 대해 구성 에이전트는 리소스를 포함한 관련 데이터를 가져와 구성 템플릿과 병합합니다.

또한 기대치 에이전트는 빌드 에이전트의 출력을 구독하고 결과를 검증하기 위해 충족해야 하는 기대치를 생성합니다.

디바이스 텔레메트리 에이전트는 기대치 에이전트의 출력을 구독하고 관련 텔레메트리 수집을 시작합니다. IBA 프로브가 원시 텔레메트리를 처리하고 기대치와 비교하여 이상을 게시합니다.

근본 원인 식별(RCI) 에이전트가 이상을 분석하여 증상, 영향 및 식별된 근본 원인으로 분류합니다.

에이전트는 엔터티를 게시하고 엔터티의 변경 사항을 구독하여 속성 기반 인터페이스(따라서 데이터 중심이라는 용어 사용)를 통해 통신합니다. 또한 데이터 중심은 데이터 정의가 프레임워크의 일부이며 예를 들어 메시지 기반 시스템이 아닌 엔터티를 정의하여 구현됨을 의미합니다.

데이터 중심 게시-구독 시스템은 메시지 기반 시스템의 문제를 겪지 않습니다. 메시지 기반 시스템에서는 조만간 메시지 수가 메시지를 저장하거나 소비할 수 있는 시스템의 용량을 초과하게 됩니다. 일관된 상태에 도달하기 위해 메시지 기록을 재생해야 하므로 이를 처리하는 것은 어렵습니다. 데이터 중심 시스템은 근본적으로 마지막 상태에만 의존하기 때문에 상태 변화의 급증에 탄력적입니다. 이 상태는 중요한 컨텍스트를 캡처하고 해당 상태로 이어지는 모든 가능한(및 관련 없는) 이벤트 시퀀스를 추상화합니다.

어려운 문제(예: 탄력성, 장애 허용 능력)는 모든 에이전트를 대신하여 한 번에 해결됩니다. 일반적인 아키텍처는 장애가 발생한 경우 다시 시작하고 데이터베이스에서 구독하는 상태를 다시 읽어 중단된 부분부터 다시 시작할 수 있는 여러 상태 비저장 에이전트로 구성됩니다.