IBM Cloud Docs
서버리스 인스턴스의 아키텍처 및 개념

서버리스 인스턴스의 아키텍처 및 개념

이 주제에서는 IBM Analytics Engine 서버리스 인스턴스의 아키텍처를 보여주며 몇 가지 주요 개념 및 정의에 대해 설명합니다.

인스턴스 아키텍처

IBM Analytics Engine 서비스는 IBM Cloud® Identity and Access Management(IAM)를 사용하여 관리됩니다. IBM Cloud 계정 소유자에게 계정 관리자 역할이 지정됩니다.

IBM Cloud 계정을 사용하면 다음을 사용하여 서버리스 Analytics Engine 인스턴스를 프로비저닝하고 관리할 수 있습니다.

  • IBM Cloud 콘솔
  • CLI
  • REST API

API 게이트웨이를 통해 액세스되는 제어 플레인의 Analytics Engine 마이크로서비스는 Spark 애플리케이션이 데이터 플레인의 격리된 네임스페이스에서 실행되는 동안 인스턴스 작성, 용량 프로비저닝, 사용자 정의, 런타임 관리를 처리합니다. 제출된 각 Spark 애플리케이션은 Spark 마스터와 실행기 노드의 조합인 자체 Spark 클러스터에서 실행됩니다. 격리 및 네트워크 액세스를 참조하십시오.

각 Analytics Engine 인스턴스는 인스턴스에서 실행되는 모든 애플리케이션이 액세스할 수 있는 인스턴스 관련 데이터에 대한 IBM Cloud Object Storage 인스턴스와 연관됩니다. 현재 모든 Spark 이벤트는 이 인스턴스에도 저장됩니다. Spark 애플리케이션 로그는 Log Analysis 로그 서버에 집계됩니다.

 IBM Analytics Engine 서버리스 인스턴스 아키텍처를 표시합니다.
그림 1. IBM Analytics Engine
의 아키텍처 플로우 다이어그램

핵심 개념

IBM Analytics Engine 서버리스 인스턴스의 경우 필요에 따라 Apache Spark 클러스터를 스핀업하고 Spark 런타임 및 기본 Spark 구성 옵션을 사용자 정의할 수 있습니다.

다음 절에서는 서버리스 인스턴스를 프로비저닝할 때의 주요 개념에 대해 설명합니다.

IBM Analytics Engine 서비스 인스턴스

IBM Cloud® 서비스는 코드 또는 애플리케이션 관리 또는 모니터링 기능을 실행하기 위한 데이터베이스, 메시징 및 웹 소프트웨어와 같은 사용할 준비가 된 기능을 제공하는 클라우드 확장입니다. 서비스는 대개 설치 또는 유지보수가 필요하지 않고 애플리케이션을 작성하기 위해 결합될 수 있습니다. 서비스의 인스턴스는 특정 애플리케이션 또는 서비스에 예약된 자원으로 구성되는 엔티티입니다.

카탈로그에서 IBM Analytics Engine 을 작성할 때 서비스 인스턴스에 선택한 이름을 제공하고 인스턴스와 연관시킬 기본 Spark 런타임을 선택하고 인스턴스와 함께 사용할 기본 Spark 구성을 제공합니다. 또한 인스턴스 관련 데이터 전용으로 인스턴스에 첨부된 스토리지인 Instance home 를 지정해야 합니다.

참고:

  • IBM Analytics Engine 서비스 인스턴스를 작성할 때 Spark 애플리케이션이 실행 중이거나 Spark 히스토리 서버에 액세스하지 않으면 비용이 발생하지 않습니다.
  • 공용 엔드포인트를 통해 액세스되는 경우 IBM Cloud Object Storage 에 비용이 발생하고 IBM Analytics Engine 로그를 IBM Log Analysis에 전달할 수 있도록 설정하는 경우 비용이 발생합니다.
  • IBM Cloud® 계정마다 허용되는 서비스 인스턴스 수와 지정된 IBM Analytics Engine 서비스 인스턴스에서 사용할 수 있는 CPU및 메모리 양에 대한 기본 한계가 있습니다. Analytics Engine 인스턴스에 대한 한계 및 할당량 을 참조하십시오. 이러한 한계를 조정해야 하는 경우 IBM 지원 티켓을 여십시오.
  • IBM Analytics Engine 서비스 인스턴스에서 실행할 수 있는 Spark 애플리케이션의 수에는 제한이 없습니다.

기본 Spark 런타임

인스턴스 프로비저닝 시 사용할 Spark 버전을 선택할 수 있습니다. 현재 Spark 3.3 및 Spark 3.4중에서 선택할 수 있습니다. Spark 3.3 은 기본 버전으로 간주됩니다.

런타임에는 오픈 소스 Spark 2진이 포함되며 구성을 통해 인스턴스 작성을 빠르게 진행하고 인스턴스에서 Spark 애플리케이션을 실행할 수 있습니다. Spark 2진외에도 런타임에는 지리 공간적, 데이터 스키핑 및 Parquet 모듈 암호화 라이브러리도 포함되어 있습니다.

모든 Spark 런타임 버전에서 다음 언어로 작성된 Spark 애플리케이션을 제출할 수 있습니다.

  • Scala
  • Python
  • R

다음 표는 Spark 런타임 버전 및 런타임 언어 버전을 표시합니다.

표 1. Spark 런타임 버전 및 런타임 언어 버전
Spark 버전 Apache Spark 릴리스 상태 지원되는 언어
3.1 3.1.2 제거됨 (지원되지 않음) Java 8, Scala 2.12, Python 3.10 및 R 4.2
3.3 3.3.2 기본 Java 11, Scala 2.12, Python 3.10 및 R 4.2
3.4 3.4.1 최신 Java 11, Scala 2.12, Python 3.10 및 R 4.2

런타임에어서 네트워크았한 보안 취약성이 없도록 언어 버전이 주기적으로 업그레이드됩니다. 애플리케이션을 제출할 때 항상 Spark 런타임 버전을 대체할 수 있습니다. 페이로드에 추가할 항목에 대한 세부사항은 애플리케이션 제출 시 런타임 Spark 버전 전달 을 참조하십시오.

인스턴스 홈

인스턴스 홈은 인스턴스 관련 데이터(예: 사용자 정의 애플리케이션 라이브러리 및 Spark 히스토리 이벤트)에 대한 인스턴스에 연결된 스토리지입니다. 현재는 IBM Cloud Object Storage만 인스턴스 홈에 허용됩니다. 이 인스턴스는 IBM Cloud® 계정의 인스턴스이거나 다른 계정의 인스턴스일 수 있습니다.

IBM Cloud 콘솔을 사용하여 인스턴스를 프로비저닝하면 IBM Cloud® 계정의 IBM Cloud Object Storage 인스턴스가 자동으로 감지되어 선택 가능한 목록에 표시됩니다. 계정에 IBM Cloud Object Storage 인스턴스가 없는 경우 REST API를 사용하여 인스턴스 작성 후 인스턴스 홈을 업데이트할 수 있습니다.

인스턴스 작성 후에는 인스턴스 홈을 변경할 수 없습니다. 액세스 키만 편집할 수 있습니다.

기본 Spark 구성

Analytics Engine 인스턴스를 프로비저닝할 때 기본 Spark 구성을 지정할 수 있습니다 ( IBM Analytics Engine 서버리스 인스턴스 프로비저닝 참조). 인스턴스에 제출된 Spark 애플리케이션에 구성이 자동으로 적용됩니다. 인스턴스를 작성한 후 구성을 업데이트할 수도 있습니다. Analytics Engine 인스턴스 세부사항 페이지, Analytics Engine Rest API 또는 IAE CLI구성 섹션에서 구성을 편집할 수 있습니다. 인스턴스 레벨 기본값으로 지정된 값은 Spark 애플리케이션 제출 시 대체될 수 있습니다.

다양한 Apache Spark 구성에 대해 자세히 알아보려면 Spark 구성 을 참조하십시오.

서버리스 인스턴스 기능 및 실행 방법

다음 표에는 액세스 역할 및 실행 방법으로 지원되는 서버리스 인스턴스 기능이 표시되어 있습니다.

표 2액세스 역할 및 실행 방법별로 지원되는 서버리스 인스턴스 기능
오퍼레이션 액세스 역할 IBM 콘솔 API CLI
인스턴스 프로비저닝 관리자 확인 아이콘 확인 아이콘 확인 아이콘
인스턴스 삭제 관리자 확인 아이콘 확인 아이콘 확인 아이콘
사용자 권한 부여 관리자 확인 아이콘 확인 아이콘 확인 아이콘
인스턴스 홈 스토리지 관리 관리자 확인 아이콘 확인 아이콘 확인 아이콘
로깅 구성 관리자
개발자
Devops
확인 아이콘 확인 아이콘 사용할 수 없음
Spark 애플리케이션 제출 관리자
개발자
사용할 수 없음 확인 아이콘 확인 아이콘
제출된 Spark 애플리케이션 목록 보기 관리자
개발자
DevOps
사용할 수 없음 확인 아이콘 확인 아이콘
제출된 Spark 애플리케이션 중지 관리자
개발자
DevOps
사용할 수 없음 확인 아이콘 확인 아이콘
라이브러리 사용자 정의 관리자
개발자
사용할 수 없음 확인 아이콘 사용할 수 없음
작업 로그 액세스 관리자
개발자
DevOps
Log Analysis 콘솔에서 확인 아이콘 해당사항 없음 해당사항 없음
인스턴스 세부사항 보기. 표시된 세부사항은 액세스 역할에 따라 다를 수 있습니다. 관리자
개발자
DevOps
확인 아이콘 확인 아이콘 확인 아이콘
Spark 히스토리 서버 관리 관리자
개발자
확인 아이콘 확인 아이콘 확인 아이콘
액세스 출입내역니다. 관리자
개발자
DevOps
확인 아이콘 확인 아이콘 확인 아이콘